Kako se koristi DS18B20 Industrijski Senzor za Temperaturu
U slučaju da želite precizno izmjeriti samo temperaturu tečnosi ili dugotrajno mjerenje u vlažnim prostorijama ili postrojenjima, upravo ovaj senzor je zadužen za to. Najveća prednost ovoga senzora je ta što je VODOOTPORAN!
U ovoj lekciji ćemo objasniti:
- Šta je to DS18B20 senzor?
- Šema povezivanja i kod za kontrolu DS18B20 senzora
- Specifikacija materijala
Šta je to DS18B20 senzor?
DS18B20 je 1-Wire® temperaturni senzor koji proizvodi Dallas Semiconductor (preuzet od strane Maxim Integrated). Budući da je to 1-wire uređaj, potreban mu je samo jedan digitalni pin za komunikaciju s mikrokontrolerom. Ovaj senzor je nevjerovatno precizan, a ujedno je i jedan od najjednostavnijih i najjeftinijih načina da dobijete precizna očitanja sa mjesta gdje drugi senzori ne mogu mjeriti.
Senzor je obično dostupan u dva oblika. Jedan dolazi u pakiranju TO-92, koje nalikuje jednostavnom tranzistoru. Drugi dolazi u obliku vodootporne sonde, koja je korisnija kada mjerite nešto daleko, pod vodom ili ispod zemlje.
Svaki senzor temperature DS18B20 ima jedinstveni 64-bitni serijski kod. To vam daje mogućnost spajanje više senzora na istu podatkovnu žicu. Dakle, možete dobiti temperaturu iz više senzora koristeći samo jedan Arduino digitalni pin. Senzor temperature DS18B20 prilično je precizan i ne zahtijeva nikakve vanjske komponente za rad. Ima temperaturni raspon od -55°C do +125°C i točnost od ±0,5°C. Kao što smo u prethodnoj rečenici napisali, raspon mjerenja i preciznost mu daju mogućnosti da se koristi u većini industrijskih aplikacija. Razlučivost senzora temperature može se postaviti na 9, 10, 11 ili 12 bita. Međutim, zadana razlučivost pri uključivanju je 12-bitna (tj. preciznost 0,0625°C).
Senzor radi na napajanju od 3 V do 5,5 V i troši samo 1 mA. O karakteristikama DS18B20 senzora, o broju senzora koji se mogu povezati na jedan digitalni pin, kao i o komunikaciji možemo pisati još jako puno, ali mi ćemo se bazirati na osnovni primjer kako bi početnici mogli pratiti primjere. Nakon što iskoristimo osnovni primjer, iz prethodnih lekcija (npr. postavljanje uslova IF) možete vidjeti kako se postavljaju uslove i izraditi projekat baš po vašoj želji.
U ovoj lekciji ćemo koristiti Arduino IDE 2.1.0. Sve što objasnimo i prikažemo slikama je slično i za ostale Arduino IDE-ove, a u slučaju da naiđete na bilo kakve probleme i nejasnoće obratite nam se u komentarima i StarmoTech tim će Vam vrlo rado pomoći!
Šema povezivanja i kod za kontrolu DS18B20 senzora
Napokon, šema i kod. U slučaju da ne želite prepisivati kod sa slike, kliknite na ovaj GITHUB link i preuzmite kod iz ovog tutorijala, kao i od ostalih Tutorijala.
U ovom primjeru mi ćemo koristiti DS18B20 senzor koji se nalazi u vodootpornom kućištu. Kao što ste mogli vidjeti na slici u opisnom dijelu senzora, senzor se sastoji od 3 kabla u bojama.
DS18B20 | Arduino |
GND | GND |
DIGITALNI IZLAZ | Bilo koji digitalni pin (sa 4.7k Ω pull-up otpornikom) |
VCC | Napon 3,3V – 5V |
Šema povezivanja senzora DS18B20:
Nakon što znamo funkciju svakog kabla sa senzora bitno je napomenuti da je za sam rad senzora potreban i otpornik vrijednosti 4.7kΩ.
Nakon što smo povezali senzor sa kontrolerom kao na semi bacimo se na biblioteke i kod:
U pretraživač biblioteka ukucajte naziv senzora DS18B20 i dobit ćete veliki broj ponuđenih biblioteka. U ovom primjeru mi koristimo DallasTemperature biblioteku kao na slici.
Nakon što kliknemo da se instalira biblioteka najvjerovatnije ćemo dobiti sljedeće pitanje:
Izaberite INSTALL ALL, jer ćete na taj način instalirati i ostale potrebne biblioteke za rad. Nakon što se biblioteka preuzme i instalira izaberite File -> Examples -> DallasTemperature -> Simple.
U Biblioteci DallasTemperature imate jako puno ponuđenih primjera pa slobodno isprobajte neke od njih. Cilj ovoga Tutorijala je da pokaže osnovni rad senzora, jer bi u suprotnom svaki Tutorijal postao dug i dosadan.
Nakon što smo uradili sve navedene korake i došli do sketch-a Simple, sve što treba da uradite je da upišete broj pina u označenoj varijabli i da uradite Upload. Izaberite Serial monitor i testirajte očitanja senzora.
Kao što možete vidjeti na slici ispod i Šema i Kod savršeno rade. Varijabla “tempC” je zadužena za čuvanje i ispis očitanje vrijednosti sa senzora.
Zadatak:
Iskoristite stečeno znanje iz prethodnih lekcija i napravite funkciju koja će paliti indikaciju tj. led diodu ako je temperatura preko 40C, a ako je temperatura preko 50C zvučni alarm.
Specifikacija materijala:
- 1x Arduino Uno ili bilo koji drugi Arduino kontroler
- 1x Breadboard
- 1x DS18B20 senzor temperature
- 1x otpornik 4.7kΩ
- 4x Komunikacijski kablovi
Napomena: Nakon što pročitate bilo koji Tutorijal na internetu, uvijek pogledajte Datasheet bilo koje komponente ili senzora, jer se tu nalaze svi bitni fabrički detalji!