Spisu treści:

Interfejs czujnika temperatury DS18B20 z Arduino i ESP8266: 8 kroków
Interfejs czujnika temperatury DS18B20 z Arduino i ESP8266: 8 kroków

Wideo: Interfejs czujnika temperatury DS18B20 z Arduino i ESP8266: 8 kroków

Wideo: Interfejs czujnika temperatury DS18B20 z Arduino i ESP8266: 8 kroków
Wideo: Kurs Arduino odc 22 1-Wire i Czujnik temperatury DS18B20 2024, Grudzień
Anonim
Interfejs czujnika temperatury DS18B20 z Arduino i ESP8266
Interfejs czujnika temperatury DS18B20 z Arduino i ESP8266

Hej co tam u was! Akarsh tutaj z CETech.

Dziś do naszego arsenału dodamy nowy czujnik, znany jako czujnik temperatury DS18B20. Jest to czujnik temperatury podobny do DHT11, ale ma inny zestaw zastosowań. Porównamy go z różnymi rodzajami dostępnych czujników temperatury i przyjrzymy się specyfikacjom technicznym tych czujników.

Pod koniec tego samouczka będziemy łączyć DS18B20 z Arduino i ESP8266 w celu wyświetlania temperatury. W przypadku Arduino temperatura będzie wyświetlana na monitorze szeregowym, a dla ESP8266 na serwerze WWW.

Zacznijmy teraz od zabawy.

Krok 1: Wyprodukuj płytki PCB do swojego projektu

Uzyskaj płytki PCB do swojego projektu wyprodukowane
Uzyskaj płytki PCB do swojego projektu wyprodukowane

Musisz sprawdzić OurPCB, aby otrzymać PCB do swojego projektu wyprodukowanego online.

Korzystają z niezawodnych komponentów pozyskiwanych od akredytowanych dostawców, takich jak Arrow, Avnet, Future Electronics itp. i oferują rozsądne ceny, ostatecznie maksymalizując marże użytkownika. Specjalizując się w technologii Multilayer i Rigid-flex, ich priorytetem jest utrzymanie wysokich standardów jakości.

OurPCB koncentruje się na małych i średnich zamówieniach i zapewnia bardzo konkurencyjną cenę za wolumen od 1-100 metrów kwadratowych. Wystarczy przesłać pliki w jednym z dostępnych formatów (Gerber,.pcb,.pcbdoc lub.cam), a prototypy PCB zostaną dostarczone na wyciągnięcie ręki.

Możesz także sprawdzić ich partnera WellPCB, aby uzyskać dobre oferty.

Krok 2: Porównanie różnych typów czujników temperatury

Porównanie różnych typów czujników temperatury
Porównanie różnych typów czujników temperatury
Porównanie różnych typów czujników temperatury
Porównanie różnych typów czujników temperatury

Powyższe porównanie obejmuje trzy czujniki DS18B20, DHT11 i NTC Thermistor, ale tutaj ograniczymy nasze porównanie tylko do czujników cyfrowych. Nie oznacza to, że termistor NTC nie jest tak ważny jak czujniki cyfrowe. W rzeczywistości rozwój czujników cyfrowych jest możliwy tylko dzięki termistorowi NTC. Czujniki cyfrowe składają się z termistora NTC połączonego z kilkoma mikroprocesorami, które ostatecznie dają wyjście cyfrowe.

Główne punkty porównania to:-

1. DS18B20 jest wodoodporny i wytrzymały, podczas gdy DHT11 nie, dlatego w rzeczywistych scenariuszach i zastosowaniach, w których wymagane jest wykrywanie oparte na kontakcie, DS18B20 jest zwykle używany, podczas gdy DHT11 jest używany w zastosowaniach na wolnym powietrzu.

2. DS18B20 wyrzuca dane 9-12 bitów danych, podczas gdy DHT11 daje dane 8-bitowe.

3. DS18B20 podaje tylko temperaturę, podczas gdy DHT11 może służyć do uzyskiwania zarówno temperatury, jak i wilgotności.

4. DS18B20 obejmuje szerszy zakres temperatur w porównaniu do DHT11, a także ma lepszą dokładność w porównaniu do DHT (+0,5 stopnia w porównaniu do + 2 stopnie dla DHT11).

5. Jeśli chodzi o ceny, te czujniki mają niewielką różnicę między nimi, ponieważ dwa różne warianty DS18B20, które są pakowane typu drutu i pakiet TO92, mają koszt około 1 USD i 0,4 USD, podczas gdy DHT11 kosztuje około 0,6 USD.

Można więc powiedzieć, że DS18B20 jest nieco lepszy od DHT11, ale lepszego doboru można dokonać tylko na podstawie aplikacji, do której czujnik jest wymagany.

Więcej informacji na temat DS18B20 można uzyskać, czytając jego arkusz danych stąd.

Krok 3: Łączenie DS18B20 z Arduino

Łączenie DS18B20 z Arduino
Łączenie DS18B20 z Arduino
Łączenie DS18B20 z Arduino
Łączenie DS18B20 z Arduino

Tutaj połączymy czujnik temperatury DS18B20 z Arduino w celu uzyskania temperatury i wyświetlenia jej na monitorze Serial.

Do tego kroku wymagany jest czujnik temperatury Arduino UNO, DS18B20 (typ pakowany lub pakiet TO92, cokolwiek jest dostępne) i rezystor 4,7 kohm

Czujnik DS18B20 ma 3 przewody: czarny, czerwony i żółty. Czarny jest dla GND, czerwony dla Vcc, a żółty to pin sygnałowy

1. Podłącz pin GND lub czarny przewód czujnika do GND.

2. Podłącz pin Vcc lub czerwony przewód czujnika do zasilania 5 V.

3. Podłącz pin sygnałowy lub żółty przewód do 5 V przez rezystor 4,7 kohm, a także podłącz ten pin sygnałowy do cyfrowego pinu nr 12 Arduino.

Możesz odwołać się do schematu pokazanego powyżej, aby lepiej zrozumieć.

Krok 4: Kodowanie Arduino do wyświetlania temperatury

Kodowanie Arduino do wyświetlania temperatury
Kodowanie Arduino do wyświetlania temperatury
Kodowanie Arduino do wyświetlania temperatury
Kodowanie Arduino do wyświetlania temperatury
Kodowanie Arduino do wyświetlania temperatury
Kodowanie Arduino do wyświetlania temperatury

W tym kroku będziemy kodować naszą płytkę Arduino, aby uzyskać i wyświetlić temperaturę na monitorze szeregowym.

1. Podłącz płytkę Arduino UNO do komputera.

2. Przejdź stąd do repozytorium Github dla tego projektu.

3. W repozytorium GitHub zobaczysz plik o nazwie „Kod podstawowy”, otwórz ten plik, skopiuj kod i wklej go do swojego Arduino IDE.

4. Wybierz odpowiednią płytę i port COM w zakładce Narzędzia i naciśnij przycisk przesyłania.

5. Po przesłaniu kodu otwórz Serial Monitor i wybierz odpowiednią szybkość transmisji (9600 w naszym przypadku), a będziesz mógł zobaczyć temperaturę mierzoną przez DS18B20.

Można obserwować wzrost i spadek temperatury, wykonując odpowiednie czynności, aby podnieść lub ustabilizować temperaturę, np. pocierając metalową część lub spalając zapalniczkę w pobliżu metalowej części czujnika w opakowaniu.

Krok 5: Łączenie DS18B20 z ESP8266

Łączenie DS18B20 z ESP8266
Łączenie DS18B20 z ESP8266
Łączenie DS18B20 z ESP8266
Łączenie DS18B20 z ESP8266

W tym kroku połączymy DS18B20 z modułem ESP8266 w celu uzyskania temperatury.

Do tego kroku potrzebujemy = moduł ESP8266, rezystor 4,7kohm i czujnik temperatury DS18B20 (typ zapakowany lub pakiet TO92, cokolwiek jest dostępne).

Połączenia dla tego kroku są podobne do połączeń wykonywanych z Arduino.

1. Podłącz pin GND lub czarny przewód czujnika do GND.

2. Podłącz pin Vcc lub czerwony przewód czujnika do zasilania 3.3V.

3. Podłącz pin sygnałowy lub żółty przewód do 3,3 V przez rezystor 4,7 kΩ, a także podłącz ten pin sygnałowy do GPIO12, który jest pinem D5 modułu.

Możesz odwołać się do schematu pokazanego powyżej, aby lepiej zrozumieć.

Krok 6: Skonfiguruj Arduino IDE

Skonfiguruj Arduino IDE
Skonfiguruj Arduino IDE

Aby zakodować ESP8266 za pomocą Arduino IDE, musimy zainstalować płytkę ESP8266 w dodatkowych płytkach Arduino IDE, ponieważ nie są one preinstalowane. W tym celu musimy wykonać czynności wymienione poniżej:-

1. Przejdź do Plik > Preferencje

2. Dodaj https://arduino.esp8266.com/stable/package_esp8266com_index.json do adresów URL menedżera tablic dodatkowych.

3. Przejdź do Narzędzia > Tablica > Menedżer tablic

4. Wyszukaj esp8266, a następnie zainstaluj płytkę.

5. Uruchom ponownie środowisko IDE.

Krok 7: Kodowanie ESP8266 do wyświetlania temperatury

Kodowanie ESP8266 do wyświetlania temperatury
Kodowanie ESP8266 do wyświetlania temperatury
Kodowanie ESP8266 do wyświetlania temperatury
Kodowanie ESP8266 do wyświetlania temperatury

W tym kroku zakodujemy ESP8266, aby odczytać temperaturę, a następnie zamiast wyświetlać tę temperaturę na monitorze szeregowym, wyświetlimy ją na serwerze WWW.

1. Przejdź do repozytorium Github dla tego projektu stąd.

2. W repozytorium zobaczysz kod o nazwie „ESP8266 Temperature Web Server” wystarczy skopiować ten kod i wkleić go w Arduino IDE.

3. Po wklejeniu kodu zmień SSID i hasło w kodzie na swoją sieć Wifi.

4. W zakładce Narzędzia wybierz odpowiednią płytkę i port COM, a następnie naciśnij przycisk przesyłania.

5. Gdy kod zostanie załadowany, otwórz monitor szeregowy IDE, a następnie naciśnij przycisk odświeżania na module ESP8266, otrzymasz tam napisany nieznany język, a pod nim będzie obecny adres IP. Musisz skopiować ten adres IP, ponieważ jest to adres serwera WWW, który będzie wyświetlał temperaturę.

Krok 8: I gotowe

I gotowe
I gotowe

Po przesłaniu kodu i uzyskaniu adresu IP. Otwórz serwer WWW przy użyciu tego adresu IP.

Na serwerze internetowym będą wyświetlane odczyty temperatury w stopniach Celsjusza oraz Fahrenheita.

Poza serwerem internetowym odczyty temperatury można również obserwować na monitorze szeregowym.

Zauważysz, że wraz ze zmianą temperatury w pobliżu czujnika zmieniają się również odczyty na serwerze internetowym.

To tyle, jeśli chodzi o demonstrację.

Zalecana: