Përmbajtje:
2025 Autor: John Day | [email protected]. E modifikuara e fundit: 2025-01-13 06:58
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
- Hap Arduino IDE (Unë jam duke përdorur 1.8.1)
- Kliko "Sketch" -> "Përfshi Bibliotekën" -> "Menaxho Bibliotekat …"
- Zgjidhni shiritin e kërkimit dhe shkruani "dallas"
- 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
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"
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
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
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;
}