Përmbajtje:

Merrni numrin serik të një DS18B20 me një Arduino: 5 hapa
Merrni numrin serik të një DS18B20 me një Arduino: 5 hapa

Video: Merrni numrin serik të një DS18B20 me një Arduino: 5 hapa

Video: Merrni numrin serik të një DS18B20 me një Arduino: 5 hapa
Video: Как использовать лазерный передатчик и лазерный датчик для Arduino 2024, Nëntor
Anonim
Merrni numrin serik të një DS18B20 me një Arduino
Merrni numrin serik të një DS18B20 me një Arduino

Ky është një udhëzues i shpejtë se si të merrni numrat serikë individualë të sensorëve tuaj të temperaturës me 1 tela DS18B20.

Kjo është e dobishme për projektet që kërkojnë sensorë të shumtë.

Gjërat që ju nevojiten:

  • Arduino 5v (UNO, Mega, Pro Mini etj) - Arduino UNO R3 - AliExpress - eBay
  • Sensori Temp DS18B20 - AliExpress - eBay
  • 4.7k - 1/4w Rezistencë THT - AliExpress - eBay
  • Breadboard - AliExpress - eBay
  • Telat Jumper - Mashkull në Mashkull - AliExpress - eBay
  • Një kompjuter me Arduino IDE të instaluar

Hapi 1: Shtoni Bibliotekën e kërkuar në Arduino IDE

Shtoni Bibliotekën e kërkuar në Arduino IDE
Shtoni Bibliotekën e kërkuar në Arduino IDE
  1. Hap Arduino IDE (Unë jam duke përdorur 1.8.1)
  2. Kliko "Sketch" -> "Përfshi Bibliotekën" -> "Menaxho Bibliotekat …"
  3. Zgjidhni shiritin e kërkimit dhe shkruani "dallas"
  4. Kliko "DallasTemperature" dhe kliko "Instalo"

Përndryshe ju mund ta shkarkoni Bibliotekën nga këtu:

Kjo Bibliotekë përfshin Bibliotekën OnWire.

Hapi 2: Lidhni DS18B20

Lidhni DS18B20
Lidhni DS18B20
Lidhni DS18B20
Lidhni DS18B20

Duke përdorur një dërrasë buke lidhni +5V, GND dhe Kunj dixhital 2 (Pin 2 është vendosur tashmë në skicën shembull) nga Arduino duke përdorur kërcyesit e bukës Mashkull në Mashkull.

Lidheni paralelisht DS18B20 me shiritat e terminalit 3x në tabelën e bukës.

  • Pin 1 (GND) -> GND (Ground 0V)
  • Pin 2 (DATA) -> Pin dixhital 2
  • Pin 3 (Vdd) -> +5V

Për Modalitetin e Fuqisë Normale lidhni një Rezistencë 4.7K nga +5V në telin dixhital Pin 2 në tabelën e bukës.

Lidhja e mëposhtme është një burim i madh për sensorin e temperaturës me 1 tela DS18B20.

www.tweaking4all.com/hardware/arduino/ardu…

Hapi 3: Ngarko Skicën Shembull "Single"

Ngarko Skicën e Shembullit
Ngarko Skicën e Shembullit
Ngarko Skicën e Shembullit
Ngarko Skicën e Shembullit

Pasi ta keni lidhur, jeni gati të ngarkoni Sketch -in e Temperaturës DallasOpenOpen Arduino IDE (Unë jam duke përdorur 1.8.1) Klikoni "File" -> "Shembuj" -> "Temperatura e Dallas" -> "Single" që shtova me vonesë (5000); në linjën 103 për të më dhënë kohë për të kopjuar numrin serik Zgjidhni formularin tuaj të përshtatshëm të bordit "Tools" -> "Board" Zgjidhni portin tuaj të përshtatshëm "Tools" -> "Port" Tani "Ngarko" Skicën "Sketch" -> "Upload" Klikoni "Mjetet" -> "Serial Monitor" sigurohuni që normat e baudit të përputhen me timen është 9600Nëse ju nuk e keni skicuar ngarkimin kontrolloni Bordin, Portin, drejtuesit USB etj.

Hapi 4: Kopjoni numrin serik

Kopjoni numrin serik
Kopjoni numrin serik
Kopjoni numrin serik
Kopjoni numrin serik

Nga "Monitoruesi Serial" do të shihni rreshtin e 4 -të është "Pajisja 0 Adresa: xxxxxxxxxxxxxxxx"

Ky është Numri Serik i DS18B20

Nëse është "000000000000000000" atëherë ka një problem kur lexoni DS18B20 tuaj.

Theksojeni atë me miun dhe shtypni CTRL+C në tastierën tuaj, pastaj kalojeni atë në Notepad

Për projektet e mia të tjera, kodi im përdor një grup të këtyre numrave. Unë riformatova vargun HEX në formatin e mëposhtëm.

DeviceAddress tempSensorSerial [9] = {

{0x28, 0xFF, 0x07, 0xA6, 0x70, 0x17, 0x04, 0xB5}, {0x28, 0xFF, 0xB2, 0xA6, 0x70, 0x17, 0x04, 0x28}, {0x28, 0xFF, 0x42, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x04, 0xD3}, {0x28, 0xFF, 0x86, 0xA8, 0x70, 0x17, 0x04, 0xA6}, {0x28, 0xFF, 0x2B, 0x65, 0x71, 0x17, 0x04, 0x76}, {0x28, 0xFF, 0xFF, 0xFF, 0x17, 0x04, 0xF5}, {0x28, 0xFF, 0xD9, 0x9B, 0x70, 0x17, 0x04, 0x9C}, {0x28, 0xFF, 0x98, 0x6A, 0x71, 0x17, 0x04, 0xED, 0xED}, {0xED,, 0x42, 0x71, 0x17, 0x04, 0x4C}};

Hapi 5: Përfundoi

E perfunduar
E perfunduar

Tani mund të identifikoni secilin sensor individual të temperaturës me 1 tela DS18B20 në kodin tuaj dhe të përdorni një funksion si ky:

noton getTemperature (byte j) {

sensorë.kërkoTemperaturatByAdresa (tempSensorSerial [j]);

noton tempC = sensorë.getTempC (tempSensorSerial [j]);

kthimi tempC;

}

Recommended: