Inhoudsopgave:

Interfacing DS18B20 temperatuursensor met Arduino en ESP8266 - Ajarnpa
Interfacing DS18B20 temperatuursensor met Arduino en ESP8266 - Ajarnpa

Video: Interfacing DS18B20 temperatuursensor met Arduino en ESP8266 - Ajarnpa

Video: Interfacing DS18B20 temperatuursensor met Arduino en ESP8266 - Ajarnpa
Video: DS18B20 Температура ESP8266 ESP 01 WIFI-модуль | ESP-01 Домашняя автоматизация | УдаленныйXY |ФЛПрог 2024, November
Anonim
Interface DS18B20 temperatuursensor met Arduino en ESP8266
Interface DS18B20 temperatuursensor met Arduino en ESP8266

Hé, wat is er, jongens! Akarsh hier van CETech.

Vandaag gaan we een nieuwe sensor toevoegen aan ons arsenaal, bekend als DS18B20 temperatuursensor. Het is een temperatuursensor vergelijkbaar met DHT11, maar heeft een andere reeks toepassingen. We zullen het vergelijken met verschillende soorten temperatuursensoren die beschikbaar zijn en zullen de technische specificaties van deze sensoren bekijken.

Tegen het einde van deze tutorial zullen we DS18B20 koppelen met Arduino en ESP8266 om de temperatuur weer te geven. In het geval van Arduino wordt de temperatuur weergegeven op Serial Monitor en voor ESP8266 zullen we de temperatuur weergeven op een webserver.

Laten we nu beginnen met het plezier.

Stap 1: laat PCB's voor uw project maken

Laat PCB's voor uw project vervaardigen
Laat PCB's voor uw project vervaardigen

U moet OurPCB controleren om PCB's voor uw project online te laten vervaardigen.

Ze gebruiken betrouwbare componenten die afkomstig zijn van geaccrediteerde leveranciers zoals Arrow, Avnet, Future Electronics, enz. en bieden redelijke prijzen die uiteindelijk de winstmarges van de gebruiker maximaliseren. Gespecialiseerd in Multilayer en Rigid-flex Technology is hun prioriteit het handhaven van hoge kwaliteitsnormen.

OurPCB richt zich op bestellingen van kleine tot middelgrote volumes en biedt een zeer concurrerende prijs voor het volume van 1-100 vierkante meter. U hoeft alleen uw bestanden in een van de beschikbare formaten (Gerber,.pcb,.pcbdoc of.cam) te uploaden en de PCB-prototypes worden bij u thuis afgeleverd.

Je kunt ook hun partner WellPCB bekijken voor goede deals.

Stap 2: Vergelijking tussen verschillende soorten temperatuursensoren

Vergelijking tussen verschillende soorten temperatuursensoren
Vergelijking tussen verschillende soorten temperatuursensoren
Vergelijking tussen verschillende soorten temperatuursensoren
Vergelijking tussen verschillende soorten temperatuursensoren

De hierboven getoonde vergelijking heeft drie sensoren DS18B20, DHT11 en NTC Thermistor, maar hier zullen we onze vergelijking beperken tot alleen digitale sensoren. Het betekent niet dat de NTC-thermistor niet zo belangrijk is als digitale sensoren. In feite is de ontwikkeling van digitale sensoren alleen mogelijk dankzij NTC-thermistor. De digitale sensoren bestaan uit een NTC-thermistor die is verbonden met enkele microprocessors die uiteindelijk de digitale output geven.

De belangrijkste punten van de vergelijking zijn: -

1. DS18B20 is waterdicht en robuust, terwijl DHT11 dat niet is. Daarom wordt in real-life scenario's en toepassingen waar contactgebaseerde detectie vereist is, DS18B20 over het algemeen gebruikt terwijl DHT11 wordt gebruikt in toepassingen in de open lucht.

2. DS18B20 spuugt gegevens uit van 9-12 bits aan gegevens, terwijl DHT11 gegevens van 8 bits uitgeeft.

3. DS18B20 geeft alleen temperatuur, terwijl DHT11 kan worden gebruikt om zowel temperatuur als vochtigheid te verkrijgen.

4. DS18B20 bestrijkt een groter temperatuurbereik in vergelijking met de DHT11 en heeft ook een betere nauwkeurigheid in vergelijking met de DHT (+ 0,5 graden in vergelijking met + 2 graden voor DHT11).

5. Als het gaat om de prijsstelling, hebben deze sensoren een klein verschil tussen hen, aangezien de twee verschillende varianten van de DS18B20, die een verpakt draadtype en een TO92-pakket hebben, ongeveer $ 1 en $ 0,4 kosten, terwijl de DHT11 ongeveer $ 0,6 kost.

We kunnen dus stellen dat de DS18B20 iets beter is dan de DHT11 maar een betere keuze kan alleen gemaakt worden op basis van de toepassing waarvoor de sensor nodig is.

U kunt meer kennis over de DS18B20 krijgen door de datasheet hier te lezen.

Stap 3: DS18B20 aansluiten met Arduino

DS18B20 verbinden met Arduino
DS18B20 verbinden met Arduino
DS18B20 verbinden met Arduino
DS18B20 verbinden met Arduino

Hier zullen we de DS18B20-temperatuursensor verbinden met Arduino om de temperatuur te verkrijgen en deze op de seriële monitor weer te geven.

Voor deze stap hebben we Arduino UNO, DS18B20 temperatuursensor (verpakt type of TO92-pakket, wat er ook beschikbaar is) en een weerstand van 4,7 kohm nodig

DS18B20-sensor heeft 3 draden die zwart, rood en geel zijn. De zwarte is voor GND, de rode is voor Vcc, terwijl de gele de signaalpin is

1. Sluit de GND-pin of de zwarte draad van de sensor aan op de GND.

2. Sluit de Vcc-pin of de rode draad van de sensor aan op de 5V-voeding.

3. Verbind de signaalpin of de gele draad met de 5V via een weerstand van 4,7 kohm en verbind deze signaalpin ook met de digitale pin nr. 12 van Arduino.

U kunt verwijzen naar het bovenstaande schema voor een beter begrip.

Stap 4: De Arduino coderen om de temperatuur weer te geven

De Arduino coderen om de temperatuur weer te geven
De Arduino coderen om de temperatuur weer te geven
De Arduino coderen om de temperatuur weer te geven
De Arduino coderen om de temperatuur weer te geven
De Arduino coderen om de temperatuur weer te geven
De Arduino coderen om de temperatuur weer te geven

In deze stap zullen we ons Arduino-bord coderen om de temperatuur via Serial Monitor te verkrijgen en weer te geven.

1. Sluit het Arduino UNO-bord aan op de pc.

2. Ga vanaf hier verder naar de Github-repository voor dit project.

3. In de GitHub-repository ziet u een bestand met de naam "Basiscode", open dat bestand, kopieer de code en plak deze in uw Arduino IDE.

4. Selecteer het juiste bord en COM-poort onder het tabblad Tools en druk op de uploadknop.

5. Nadat de code is geüpload, opent u Serial Monitor en selecteert u de juiste baudrate (9600 in ons geval) en kunt u daar de temperatuur zien die door de DS18B20 wordt gemeten.

U kunt de temperatuur zien stijgen en dalen door geschikte dingen te doen om de temperatuur te verhogen of te stabiliseren, zoals wrijven over het metalen deel of het verbranden van een aansteker in de buurt van het metalen deel van de verpakte sensor.

Stap 5: DS18B20 aansluiten met ESP8266

DS18B20 aansluiten met ESP8266
DS18B20 aansluiten met ESP8266
DS18B20 aansluiten met ESP8266
DS18B20 aansluiten met ESP8266

In deze stap zullen we de DS18B20 verbinden met de ESP8266-module om de temperatuur te verkrijgen.

Voor deze stap hebben we nodig = ESP8266-module, 4.7kohm-weerstand en DS18B20-temperatuursensor (verpakt type of TO92-pakket, wat er ook beschikbaar is).

Verbindingen voor deze stap zijn vergelijkbaar met de verbindingen gemaakt met Arduino.

1. Sluit de GND-pin of de zwarte draad van de sensor aan op de GND.

2. Sluit de Vcc-pin of de rode draad van de sensor aan op de 3,3V-voeding.

3. Sluit de signaalpin of de gele draad aan op de 3,3V via een weerstand van 4,7kohm en verbind deze signaalpin ook met de GPIO12, de D5-pin van de module.

U kunt verwijzen naar het bovenstaande schema voor een beter begrip.

Stap 6: Stel de Arduino IDE in

Stel de Arduino IDE in
Stel de Arduino IDE in

Voor het coderen van de ESP8266 met behulp van Arduino IDE moeten we het ESP8266-bord in de extra kaarten van de Arduino IDE installeren, omdat deze niet vooraf zijn geïnstalleerd. Voor dit doel moeten we de onderstaande stappen volgen: -

1. Ga naar Bestand > Voorkeuren

2. Voeg https://arduino.esp8266.com/stable/package_esp8266com_index.json toe aan de Additionele Boards Manager-URL's.

3. Ga naar Tools > Board > Boards Manager

4. Zoek naar esp8266 en installeer vervolgens het bord.

5. Start de IDE opnieuw.

Stap 7: De ESP8266 coderen om de temperatuur weer te geven

De ESP8266 coderen om de temperatuur weer te geven
De ESP8266 coderen om de temperatuur weer te geven
De ESP8266 coderen om de temperatuur weer te geven
De ESP8266 coderen om de temperatuur weer te geven

In deze stap gaan we ESP8266 coderen om de temperatuur te lezen en daarna, in plaats van die temperatuur op de seriële monitor weer te geven, gaan we deze op een webserver weergeven.

1. Ga vanaf hier naar de Github-repository voor dit project.

2. In de repository ziet u een code met de naam " ESP8266 Temperature Web Server ", u hoeft alleen die code te kopiëren en in de Arduino IDE te plakken.

3. Wijzig na het plakken van de code de SSID en het wachtwoord in de code naar die van uw Wifi-netwerk.

4. Selecteer onder het tabblad Tools het juiste board en COM-poort en druk daarna op de upload-knop.

5. Wanneer de code wordt geüpload, opent u de seriële monitor van de IDE en drukt u vervolgens op de verversingsknop op de ESP8266-module, u krijgt daar een onbekende taal geschreven en daaronder zal een IP-adres aanwezig zijn. U moet dat IP-adres kopiëren omdat dit het adres is van de webserver die de temperatuur weergeeft.

Stap 8: En het is klaar

En het is klaar
En het is klaar

Wanneer de code wordt geüpload en het IP-adres wordt verkregen. Open de webserver met dat IP-adres.

Op de webserver worden temperatuurmetingen weergegeven in graden Celsius en graden Fahrenheit.

Behalve op de webserver kunnen ook de temperatuurmetingen op de seriële monitor worden bekeken.

U zult zien dat als de temperatuur in de buurt van de sensor verandert, de meetwaarden op de webserver ook veranderen.

Dat was het voor de demonstratie.

Aanbevolen: