Orodha ya maudhui:

Pata Nambari ya Serial ya DS18B20 Na Arduino: Hatua 5
Pata Nambari ya Serial ya DS18B20 Na Arduino: Hatua 5

Video: Pata Nambari ya Serial ya DS18B20 Na Arduino: Hatua 5

Video: Pata Nambari ya Serial ya DS18B20 Na Arduino: Hatua 5
Video: Non-Contact Long Range MLX90614-DCI Temperature Sensor with Arduino 2024, Novemba
Anonim
Pata Nambari ya Serial ya DS18B20 Na Arduino
Pata Nambari ya Serial ya DS18B20 Na Arduino

Huu ni mwongozo wa haraka juu ya jinsi ya kupata nambari za kibinafsi za sensorer za joto-waya za DS18B20 1.

Hii ni rahisi kwa miradi ambayo inahitaji sensorer nyingi.

Vitu unahitaji:

  • Arduino 5v (UNO, Mega, Pro Mini nk) - Arduino UNO R3 - AliExpress - eBay
  • Sensor ya Muda DS18B20 - AliExpress - eBay
  • 4.7k - 1 / 4w Resistor THT - AliExpress - eBay
  • Bodi ya mkate - AliExpress - eBay
  • Waya za Jumper - Mwanaume kwa Mwanaume - AliExpress - eBay
  • Kompyuta iliyo na Arduino IDE imewekwa

Hatua ya 1: Ongeza Maktaba Inayohitajika kwa Arduino IDE

Ongeza Maktaba Inayohitajika kwa Arduino IDE
Ongeza Maktaba Inayohitajika kwa Arduino IDE
  1. Fungua Arduino IDE (ninatumia 1.8.1)
  2. Bonyeza "Mchoro" -> "Jumuisha Maktaba" -> "Dhibiti Maktaba…"
  3. Chagua upau wa utaftaji na andika "dallas"
  4. Bonyeza "Joto la Dallas" na ubonyeze "Sakinisha"

Vinginevyo unaweza kupakua Maktaba kutoka hapa: https://github.com/milesburton/Arduino-Joto …….

Maktaba hii ni pamoja na Maktaba ya OnWire.

Hatua ya 2: Waya waya DS18B20

Waya Up DS18B20
Waya Up DS18B20
Waya Up DS18B20
Waya Up DS18B20

Kutumia bodi ya mkate unganisha + 5V, GND na Dijiti 2 ya Dijiti (Pin 2 tayari imewekwa kwenye mchoro wa mfano) kutoka Arduino ikitumia Rukia za kiume hadi za Kiume.

Unganisha DS18B20 sambamba na vipande vya terminal 3x kwenye ubao wa mkate.

  • Bandika 1 (GND) -> GND (Ardhi 0V)
  • Bandika 2 (DATA) -> Dijiti ya Dijiti 2
  • Bandika 3 (Vdd) -> + 5V

Kwa Njia ya Nguvu ya Kawaida unganisha Kizuizi cha 4.7K kutoka + 5V hadi waya wa Dijiti 2 kwenye ubao wa mkate.

Kiunga kifuatacho ni rasilimali nzuri kwa sensor ya joto ya waya ya 1-DS18B20.

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

Hatua ya 3: Pakia Mchoro wa Mfano "Mseja"

Pakia Mchoro wa Mfano
Pakia Mchoro wa Mfano
Pakia Mchoro wa Mfano
Pakia Mchoro wa Mfano

Mara baada ya kuiweka waya uko tayari kupakia Joto la Dallas "Moja" MchoroFungua Arduino IDE (ninatumia 1.8.1) Bonyeza "Faili" -> "Mifano" -> "Joto la Dallas" -> "Moja" kuchelewesha (5000); kwenye laini ya 103 kunipa muda wa kunakili nambari ya serial Chagua fomu yako sahihi ya bodi "Zana" -> "Bodi" Chagua bandari inayofaa "Zana" -> "Bandari" Sasa "Pakia" Mchoro "Mchoro" -> "Pakia" Bonyeza "Zana" -> "Serial Monitor" hakikisha viwango vya baud vinafanana na yangu ni 9600Ikiwa mchoro haukupakia angalia Bodi yako, Bandari, madereva ya USB nk.

Hatua ya 4: Nakili Nambari ya Serial

Nakili Nambari ya Serial
Nakili Nambari ya Serial
Nakili Nambari ya Serial
Nakili Nambari ya Serial

Kutoka kwa "Serial Monitor" utaona mstari wa 4 ni "Anwani ya Kifaa 0: xxxxxxxxxxxxxxxx"

Hii ndio Nambari ya Serial ya DS18B20

Ikiwa ni "0000000000000000" basi kuna shida kusoma DS18B20 yako.

Eleza na panya yako na bonyeza CTRL + C kwenye kibodi yako kisha uipitishe kwenye Notepad

Kwa miradi yangu mingine nambari yangu hutumia safu ya nambari hizi. Nilibadilisha kamba ya HEX kwa fomati ifuatayo.

KifaaAddress tempSensorSerial [9] = {

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

Hatua ya 5: Imemalizika

Imemalizika
Imemalizika

Sasa unaweza kutambua kila sensor ya joto ya waya ya 1-DS18B20 katika nambari yako na utumie kazi kama hii:

kuelea GetTemperature (byte j) {

sensorer.kuombaTemperaturesByAddress (tempSensorSerial [j]);

kuelea tempC = sensorer.getTempC (tempSensorSerial [j]);

kurudi tempC;

}

Ilipendekeza: