Serwisy partnerskie:
Close icon
Serwisy partnerskie

Czujnik temperatury 18B20 z Arduino

Article Image
Pełny poradnik jak połączyć czujnik temperatury 18B20 z Arduino.
1. Praktyczny Kurs Arduino - przewodnik po artykułach składających się na kurs 2. Czym jest Arduino? 3. Porównanie Arduino z Raspberry Pi 4. Instalacja sterownika Arduino w systemie Windows 5. Generowanie pliku hex w Arduino 6. Jak wgrać bootloader w Atmega328? 7. Rozpoczęcie pracy z oprogramowaniem Arduino 8. Rozpoczęcie programowania w Arduino 9. Programowe resetowanie Arduino 10. Wprowadzenie do Arduino UNO 11. Wprowadzenie do Arduino NANO 12. Wprowadzenie do Arduino Pro Mini 13. Wprowadzenie do Arduino Mega 2560 14. Wprowadzenie do Arduino Due 15. Wprowadzenie do Arduino Lilypad 16. Wprowadzenie do ATmega328 17. Biblioteka Arduino dla Proteusa 18. Projekt płytki drukowanej Arduino UNO dla Proteus ARES 19. Biblioteka Arduino Lilypad dla Proteusa 20. Odczyt z portu szeregowego Arduino 21. Projektowanie układów LCD z Arduino 22. Łączenie klawiatury z Arduino 23. Wartość ADC na LCD przy użyciu Arduino 24. Symulacja czujnika ultradźwiękowego w Proteusie 25. Połączenie czujnika ultradźwiękowego z Arduino 26. Wiele czujników ultradźwiękowych z Arduino 27. Czujnik temperatury 18B20 z Arduino 28. Jak używać 18B20 w Proteus ISIS? 29. Łączenie LM35 z Arduino w Proteusie 30. Współpraca siedmiosegmentowego wyświetlacza z Arduino w Proteusie 31. Łączenie czujnika PIR z Arduino 32. Współpraca czujnika płomienia z Arduino 33. Interfejs NRF24L01 z Arduino 34. NRF24L01+ i Arduino - Response Timed Out 35. Połączenie RFID RC522 z Arduino 36. Komunikacja Bluetooth z Arduino przy użyciu HC05 37. Sterowanie serwomotorem za pomocą Arduino w Proteusie 38. Projekt sterowania sygnalizacją świetlną przy użyciu Arduino 39. Przewijanie tekstu na matrycy LED 8×8 z użyciem Arduino 40. Inteligentny system oszczędzania energii 41. Komunikacja USB pomiędzy Androidem i Arduino 42. Automatyka domowa z użyciem XBee i Arduino 43. Domowy system bezpieczeństwa oparty na GSM 44. Wysyłanie SMS-ów za pomocą Arduino UNO i SIM900 45. Odbieranie SMS-ów za pomocą komend AT przy użyciu Arduino 46. Projekt rozpoznawania głosu przy użyciu EasyVR Shield 47. Rozpoczęcie pracy z programem EasyVR Commander 48. Połączenie EasyVR z Arduino UNO 49. Błąd szkolenia - niepowodzenie rozpoznawania w EasyVR 50. Połączenie XBee z komputerem 51. Wprowadzenie do modułu XBee 52. Interfejs XBee z Arduino 53. Rozpoczęcie pracy z kamerą Pixy 54. Jak zainstalować oprogramowanie kamery Pixy - PixyMon 55. Aktualizacja firmware kamery Pixy do najnowszej wersji 56. Jak wytrenować kamerę Pixy za pomocą komputera 57. Sterowanie kierunkiem obrotu silnika prądu stałego za pomocą Arduino 58. Sterowanie prędkością obrotów silnika prądu stałego za pomocą Arduino 59. Sterowanie kierunkiem obrotu silnika krokowego za pomocą Arduino 60. Sterowanie prędkością obrotów silnika krokowego za pomocą Arduino 61. Pobieranie danych z serwera internetowego za pomocą Arduino Wi-Fi 62. Wprowadzenie do Arduino YUN 63. Dostęp do serwera Linux Arduino YUN za pomocą Putty
Rozwiń cały spis treści Zwiń spis treści

Witam wszystkich, w dzisiejszym poście przyjrzymy się jak połączyć czujnik temperatury Dallas 18B20 z Arduino.

Na rynku dostępnych jest wiele czujników temperatury takich jak LM35, DHT11 itp. ale osobiście najbardziej lubię Dallas 18B20, ponieważ daje on najdokładniejszy wynik do czterech miejsc po przecinku. Działa on na pojedynczym przewodzie i przesyła wszystkie dane przez ten przewód. Kolejną zaletą tego przewodu jest możliwość podłączenia wielu czujników za pomocą jednej linii danych. Powinieneś również spojrzeć na tekst jak używać 18B20 w Proteus ISIS

W dzisiejszym poście pobierzemy wartość z tego czujnika, a następnie wyświetlamy ją na terminalu szeregowym oraz na wyświetlaczu ciekłokrystalicznym (LCD). Otrzymamy wartości w stopniach Celsjusza. Połączenie 18B20 z Arduino nie jest trudne. Dostępne są również biblioteki Arduino, przy użyciu których można dość łatwo połączyć 18B20 z Arduino. Zacznijmy od połączenia 18B20 z Arduino. 

Uwaga: W dzisiejszym poście pokażemy wartości czujnika temperatury na wyświetlaczu ciekłokrystalicznym (kompletny kod jest podany poniżej), ale nie dodaję schematu LCD. Mam już to wyjaśnione szczegółowo, co można sprawdzić na stronie projektowanie obwodu LCD z Arduino w Proteus ISIS

Współpraca czujnika temperatury 18B20 z Arduino

Jak wyjaśniłem wcześniej, działa on na pojedynczym przewodzie i stąd będziemy potrzebować biblioteki 1-wire dla Arduino wraz z biblioteką 18B20. 

Po pobraniu biblioteki (linki na końcu artykułu), umieść ją w folderze libraries swojego oprogramowania Arduino. 

Teraz uruchom ponownie oprogramowanie Arduino, a w sekcji Examples znajdziesz folder Arduino. 

Następnie musimy połączyć nasz czujnik 18B20 z Arduino, więc zaprojektuj swój układ jak pokazano na poniższym rysunku: 

Podłączamy więc czujnik 18B20 do Arduino jak pokazano na powyższym rysunku. Połączenia są dość proste i wyglądają następująco: 

  • Pin 1 z 18B20 z GND 
  • Pin 2 układu 18B20 z Pin 2 układu Arduino. 
  • Pin 3 z 18B20 z GND Arduino. 
  • Dodaj rezystor podciągający 4,7 kΩ na styku 2 układu 18B20. 

Oto zdjęcia sprzętu, który zaprojektowaliśmy dla tego projektu, oto LCD 20×4, którego użyliśmy: 

Poniższe zdjęcie pokazuje mały czujnik 18B20, użyty w tym projekcie. Wygląda na drobny, ale jest bardzo wydajny. 

Oto zdjęcie przedstawiający kompletny projekt: 

Teraz skopiuj poniższy kod i załaduj go na swoją płytkę Arduino, a następnie otwórz terminal szeregowy. 

#include <OneWire.h> 
#include <DallasTemperature.h> 
#include <LiquidCrystal.h> 

#define ONE_WIRE_BUS 2 
OneWire oneWire(ONE_WIRE_BUS); 
DallasTemperature sensors(&oneWire); 

LiquidCrystal lcd(12, 11, 7, 6, 5, 4); 

void setup(void) 
{ 
Serial.begin(9600); 
Serial.println(“Welcome to TEP !!!”); 
Serial.println(“www.TheEngineeringProjects.com”); 
Serial.println(); 
sensors.begin(); 

lcd.begin(20, 4); 
lcd.setCursor(5,0); 
lcd.print(“Welcome to:”); 
lcd.setCursor(1,2); 
lcd.print(“www.TheEngineering”); 
lcd.setCursor(4,3); 
lcd.print(“Projects.com”); 
delay(5000); 
} 

void loop(void) 
{ 
sensors.requestTemperatures(); 
Serial.print(“Temperature : “); 
Serial.println(sensors.getTempCByIndex(0)); 
//lcd.clear(); 
lcd.setCursor(0,0); 
lcd.print(“Temperature: “); 
lcd.print(sensors.getTempCByIndex(0)); 
lcd.print(“C”); 
delay(1000); 
} 

Po wgraniu kodu, gdy uruchomiłem projekt, zaczął on pokazywać wartości temperatury jak pokazano poniżej: 

Jak widać, podaje on temperaturę mojego pokoju, która wynosi 23,56°C. 

Stworzyłem również wideo dla dokładniejszej demonstracji, która jest podana poniżej. 

Jest to dość prosty kod i nie wymaga wyjaśnień, ale jeśli potrzebujesz pomocy, zapytaj w komentarzach, a ja chętnie pomogę.

Wykaz elementów
Ilość
Symbol
Nazwa/opis/gdzie kupić
Wideo
Do pobrania
Download icon Pobierz bibliotekę jednoprzewodową (One Wire Library) Download icon Pobierz bibliotekę Dallas Temperature

Artykuł Temperature Sensor 18B20 with Arduino opracowano w wersji polskiej na podstawie współpracy z portalem www.theengineeringprojects.com.

1. Praktyczny Kurs Arduino - przewodnik po artykułach składających się na kurs 2. Czym jest Arduino? 3. Porównanie Arduino z Raspberry Pi 4. Instalacja sterownika Arduino w systemie Windows 5. Generowanie pliku hex w Arduino 6. Jak wgrać bootloader w Atmega328? 7. Rozpoczęcie pracy z oprogramowaniem Arduino 8. Rozpoczęcie programowania w Arduino 9. Programowe resetowanie Arduino 10. Wprowadzenie do Arduino UNO 11. Wprowadzenie do Arduino NANO 12. Wprowadzenie do Arduino Pro Mini 13. Wprowadzenie do Arduino Mega 2560 14. Wprowadzenie do Arduino Due 15. Wprowadzenie do Arduino Lilypad 16. Wprowadzenie do ATmega328 17. Biblioteka Arduino dla Proteusa 18. Projekt płytki drukowanej Arduino UNO dla Proteus ARES 19. Biblioteka Arduino Lilypad dla Proteusa 20. Odczyt z portu szeregowego Arduino 21. Projektowanie układów LCD z Arduino 22. Łączenie klawiatury z Arduino 23. Wartość ADC na LCD przy użyciu Arduino 24. Symulacja czujnika ultradźwiękowego w Proteusie 25. Połączenie czujnika ultradźwiękowego z Arduino 26. Wiele czujników ultradźwiękowych z Arduino 27. Czujnik temperatury 18B20 z Arduino 28. Jak używać 18B20 w Proteus ISIS? 29. Łączenie LM35 z Arduino w Proteusie 30. Współpraca siedmiosegmentowego wyświetlacza z Arduino w Proteusie 31. Łączenie czujnika PIR z Arduino 32. Współpraca czujnika płomienia z Arduino 33. Interfejs NRF24L01 z Arduino 34. NRF24L01+ i Arduino - Response Timed Out 35. Połączenie RFID RC522 z Arduino 36. Komunikacja Bluetooth z Arduino przy użyciu HC05 37. Sterowanie serwomotorem za pomocą Arduino w Proteusie 38. Projekt sterowania sygnalizacją świetlną przy użyciu Arduino 39. Przewijanie tekstu na matrycy LED 8×8 z użyciem Arduino 40. Inteligentny system oszczędzania energii 41. Komunikacja USB pomiędzy Androidem i Arduino 42. Automatyka domowa z użyciem XBee i Arduino 43. Domowy system bezpieczeństwa oparty na GSM 44. Wysyłanie SMS-ów za pomocą Arduino UNO i SIM900 45. Odbieranie SMS-ów za pomocą komend AT przy użyciu Arduino 46. Projekt rozpoznawania głosu przy użyciu EasyVR Shield 47. Rozpoczęcie pracy z programem EasyVR Commander 48. Połączenie EasyVR z Arduino UNO 49. Błąd szkolenia - niepowodzenie rozpoznawania w EasyVR 50. Połączenie XBee z komputerem 51. Wprowadzenie do modułu XBee 52. Interfejs XBee z Arduino 53. Rozpoczęcie pracy z kamerą Pixy 54. Jak zainstalować oprogramowanie kamery Pixy - PixyMon 55. Aktualizacja firmware kamery Pixy do najnowszej wersji 56. Jak wytrenować kamerę Pixy za pomocą komputera 57. Sterowanie kierunkiem obrotu silnika prądu stałego za pomocą Arduino 58. Sterowanie prędkością obrotów silnika prądu stałego za pomocą Arduino 59. Sterowanie kierunkiem obrotu silnika krokowego za pomocą Arduino 60. Sterowanie prędkością obrotów silnika krokowego za pomocą Arduino 61. Pobieranie danych z serwera internetowego za pomocą Arduino Wi-Fi 62. Wprowadzenie do Arduino YUN 63. Dostęp do serwera Linux Arduino YUN za pomocą Putty
Rozwiń cały spis treści Zwiń spis treści
Firma:
Tematyka materiału: Kurs Arduino, pierwsze kroki, Projekty Arduino, Czujnik temperatury DS18B20, Symulator Arduino Proteus
AUTOR
Źródło
www.theengineeringprojects.com
Udostępnij
Zobacz wszystkie quizy
Quiz weekendowy
Edukacja
1/10 Jak działa rezystor LDR?
Oceń najnowsze wydanie EdW
Wypełnij ankietę i odbierz prezent
UK Logo
Elektronika dla Wszystkich
Zapisując się na nasz newsletter możesz otrzymać GRATIS
najnowsze e-wydanie magazynu "Elektronika dla Wszystkich"