Indholdsfortegnelse:

Få serienummeret på en DS18B20 med en Arduino: 5 trin
Få serienummeret på en DS18B20 med en Arduino: 5 trin

Video: Få serienummeret på en DS18B20 med en Arduino: 5 trin

Video: Få serienummeret på en DS18B20 med en Arduino: 5 trin
Video: Find serienummeret på din iPad, iPhone og Mac 2024, Juli
Anonim
Få serienummeret på en DS18B20 med en Arduino
Få serienummeret på en DS18B20 med en Arduino

Dette er en hurtig guide til, hvordan du får de individuelle serienumre på dine DS18B20 1-tråds temperatursensorer.

Dette er praktisk til projekter, der kræver flere sensorer.

Ting du har brug for:

  • Arduino 5v (UNO, Mega, Pro Mini osv.) - Arduino UNO R3 - AliExpress
  • Temp Sensor DS18B20 - AliExpress - eBay
  • 4,7k - 1/4w modstand THT - AliExpress - eBay
  • Brødbræt - AliExpress - eBay
  • Jumper Wires - Mand til Mand - AliExpress - eBay
  • En computer med Arduino IDE installeret

Trin 1: Føj det nødvendige bibliotek til Arduino IDE

Føj det nødvendige bibliotek til Arduino IDE
Føj det nødvendige bibliotek til Arduino IDE
  1. Åben Arduino IDE (jeg bruger 1.8.1)
  2. Klik på "Skitse" -> "Inkluder bibliotek" -> "Administrer biblioteker …"
  3. Vælg søgelinjen, og skriv "dallas"
  4. Klik på "DallasTemperature" og klik på "Installer"

Alternativt kan du downloade biblioteket herfra:

Dette bibliotek indeholder OnWire -biblioteket.

Trin 2: Tilslut DS18B20

Tilslut DS18B20
Tilslut DS18B20
Tilslut DS18B20
Tilslut DS18B20

Ved hjælp af et brødbræt forbindes +5V, GND og Digital Pin 2 (Pin 2 er allerede angivet i eksempelskitsen) fra Arduino ved hjælp af Male til Male breadboard jumpere.

Tilslut DS18B20 parallelt med 3x klemmerne på brødbrættet.

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

Til normal strømtilstand tilsluttes en 4,7K modstand fra +5V til Digital Pin 2 -ledningen på brødbrættet.

Det følgende link er en stor ressource for DS18B20 1-tråds temperatursensor.

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

Trin 3: Indlæs eksempelskitsen "Single"

Indlæs eksempelskitsen
Indlæs eksempelskitsen
Indlæs eksempelskitsen
Indlæs eksempelskitsen

Når du har fået den tilsluttet, er du klar til at indlæse Dallas Temperature "Single" SketchOpen Arduino IDE (jeg bruger 1.8.1) Klik på "File" -> "Eksempler" -> "Dallas Temperature" -> "Single" tilføjede jeg i forsinkelse (5000); på linje 103 for at give mig tid til at kopiere serienummeret Vælg din passende tavleform "Værktøjer" -> "Board" Vælg den passende port "Værktøjer" -> "Port" Nu "Upload" Skitsen "Skitse" -> "Upload" Klik på "Værktøjer" -> "Seriel skærm", og sørg for, at baudhastighederne matcher mine er 9600. Hvis du skitserede ikke uploadede, skal du kontrollere dit kort, port, USB -drivere osv.

Trin 4: Kopier serienummeret

Kopier serienummeret
Kopier serienummeret
Kopier serienummeret
Kopier serienummeret

Fra "Serial Monitor" ser du den fjerde linje er "Device 0 Address: xxxxxxxxxxxxxxxx"

Dette er serienummeret på DS18B20

Hvis det er "0000000000000000", er der et problem med at læse din DS18B20.

Fremhæv det med musen, og tryk på CTRL+C på tastaturet og derefter forbi det i Notesblok

Til mine andre projekter bruger min kode en række af disse tal. Jeg omformaterede HEX -strengen til følgende format.

DeviceAddress tempSensorSerial [9] = {

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

Trin 5: Færdig

Færdig
Færdig

Nu kan du identificere hver enkelt DS18B20 1-tråds temperatursensor i din kode og bruge en funktion som denne:

float getTemperature (byte j) {

sensors.requestTemperaturesByAddress (tempSensorSerial [j]);

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

retur tempC;

}

Anbefalede: