
Spisu treści:
2025 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2025-01-23 15:03

To jest krótki przewodnik, jak uzyskać indywidualne numery seryjne czujników temperatury DS18B20 1-wire.
Jest to przydatne w przypadku projektów wymagających wielu czujników.
Rzeczy, których potrzebujesz:
- Arduino 5v (UNO, Mega, Pro Mini itp.) - Arduino UNO R3 - AliExpress
- Czujnik temperatury DS18B20 - AliExpress - eBay
- Rezystor 4.7k - 1/4w THT - AliExpress - eBay
- Deska do krojenia chleba - AliExpress - eBay
- Przewody połączeniowe - męski na męski - AliExpress - eBay
- Komputer z zainstalowanym Arduino IDE
Krok 1: Dodaj wymaganą bibliotekę do Arduino IDE

- Otwórz Arduino IDE (używam 1.8.1)
- Kliknij „Szkic” -> „Dołącz bibliotekę” -> „Zarządzaj bibliotekami…”
- Wybierz pasek wyszukiwania i wpisz „dallas”
- Kliknij „DallasTemperature” i kliknij „Zainstaluj”
Alternatywnie możesz pobrać bibliotekę stąd:
Ta biblioteka zawiera bibliotekę OnWire.
Krok 2: Podłącz DS18B20


Za pomocą płytki stykowej podłącz +5V, GND i cyfrowy Pin 2 (Pin 2 jest już ustawiony w przykładowym szkicu) z Arduino za pomocą zworek z męskiej na męskiej płytki stykowej.
Podłącz DS18B20 równolegle do 3 listew zaciskowych na płytce stykowej.
- Pin 1 (GND) -> GND (masa 0V)
- Pin 2 (DANE) -> Pin cyfrowy 2
- Pin 3 (Vdd) -> +5V
Aby uzyskać normalny tryb zasilania, podłącz rezystor 4,7 K z +5 V do przewodu Digital Pin 2 na płytce stykowej.
Poniższy link jest doskonałym źródłem informacji o 1-przewodowym czujniku temperatury DS18B20.
www.tweaking4all.com/hardware/arduino/ardu…
Krok 3: Załaduj przykładowy szkic „Pojedynczy”


Po podłączeniu jesteś gotowy do załadowania „Single” SketchOpen Arduino IDE (używam 1.8.1) Kliknij „File” -> „Examples” -> „Dallas Temperature” -> „Single” Dodałem z opóźnieniem(5000); w wierszu 103, aby dać mi czas na skopiowanie numeru seryjnego. Wybierz odpowiednią tablicę z formularza "Narzędzia" -> "Płyta" Wybierz odpowiedni port "Narzędzia" -> "Port"Teraz "Prześlij" Szkic "Szkic" -> "Prześlij" Kliknij "Narzędzia" -> "Monitor szeregowy", upewnij się, że szybkość transmisji odpowiada moim 9600. Jeśli szkic nie został przesłany, sprawdź swoją płytę, port, sterowniki USB itp.
Krok 4: Skopiuj numer seryjny


W „Monitorze szeregowym” zobaczysz czwarty wiersz to „Adres urządzenia 0: xxxxxxxxxxxxxxxx”
To jest numer seryjny DS18B20
Jeśli jest to „0000000000000000”, oznacza to, że wystąpił problem z odczytem DS18B20.
Zaznacz go myszą i naciśnij CTRL + C na klawiaturze, a następnie wklej go w Notatniku
W przypadku moich innych projektów mój kod używa tablicy tych liczb. Sformatowałem ciąg HEX do następującego formatu.
Adres urządzenia tempSensorSerial[9]= {
{0x28, 0xFF, 0x07, 0xA6, 0x70, 0x17, 0x04, 0xB5}, {0x28, 0xFF, 0xB2, 0xA6, 0x70, 0x17, 0x04, 0x28}, {0x28, 0xFF, 0x42, 0x98, 0x70, 0x17,, 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, 0xFF, 0x42, 0x71, 0x17, 0x04, 0x4C} };
Krok 5: Zakończono

Teraz możesz zidentyfikować każdy pojedynczy czujnik temperatury DS18B20 1-wire w swoim kodzie i użyć funkcji takiej jak ta:
float pobierz temperaturę(bajt j){
czujniki.żądanieTemperaturyByAdres(tempSensorSerial[j]);
float tempC = sensors.getTempC(tempSensorSerial[j]);
temp. powrotu;
}
Zalecana:
Uzyskaj wyjście HDMI ze swojego Rock64 za pomocą Armbian: 15 kroków

Uzyskaj wyjście HDMI ze swojego Rock64 za pomocą Armbian: Prawdopodobnie jesteś tutaj po wyszukaniu w Google hasła „Rock64 bez wyjścia hdmi” skierował cię w tym kierunku.Możesz też zastanawiać się, jak korzystać z ekranu 16 x 2, który był dostarczany z zakupem, który wydawał się być prawdziwy: „Za 10-20 USD, Śpiewaj
(Projekt IOT) Uzyskaj dane pogodowe za pomocą ESP8266 i Openweather API: 5 kroków

(Projekt IOT) Uzyskaj dane pogodowe za pomocą ESP8266 i Openweather API: W tej instrukcji zbudujemy prosty projekt IOT, w którym pobierzemy dane pogodowe naszego miasta z openweather.com/api i wyświetlimy je za pomocą oprogramowania do przetwarzania
ESP8266 OLED - Uzyskaj czas i datę z Internetu: 8 kroków

ESP8266 OLED - Uzyskaj czas i datę z Internetu: W tym samouczku dowiemy się, jak uzyskać datę i godzinę z serwera NIST TIME za pomocą ESP8266 OLED i Visuino, Obejrzyj film demonstracyjny
ESP32 Xiaomi Hack - Uzyskaj dane bezprzewodowo: 6 kroków (ze zdjęciami)

ESP32 Xiaomi Hack - Uzyskaj dane bezprzewodowo: Drodzy przyjaciele, witamy w innym Instruktażowym! Dzisiaj dowiemy się, jak uzyskać dane przesyłane przez ten monitor temperatury i wilgotności Xiaomi za pomocą funkcji Bluetooth na płycie ESP32. Jak widać używam płytki ESP32
Jak uzyskać niesamowity numer telefonu z pełnym tekstem za pomocą Google Voice: 7 kroków

Jak uzyskać niesamowity numer telefonu z pełnym tekstem za pomocą Google Voice: Google Voice to bezpłatna usługa, która pozwala zarządzać wszystkimi telefonami za pomocą jednego numeru, transkrybować wiadomości głosowe na tekst i zapewnia bezpłatne SMS-y.Gdy zarejestrujesz się w Google Voice, otrzymasz wybrać numer spośród miliona lub więcej numerów zarezerwowanych przez Google