Spisu treści:

Arduino + Temperatura + Wilgotność: 4 Kroki
Arduino + Temperatura + Wilgotność: 4 Kroki

Wideo: Arduino + Temperatura + Wilgotność: 4 Kroki

Wideo: Arduino + Temperatura + Wilgotność: 4 Kroki
Wideo: Kurs Arduino #4: DHT11/DHT22 - Czujnik temperatury i wilgotności + Stacja pogodowa 2024, Grudzień
Anonim
Arduino + Temperatura + Wilgotność
Arduino + Temperatura + Wilgotność
Arduino + Temperatura + Wilgotność
Arduino + Temperatura + Wilgotność
Arduino + Temperatura + Wilgotność
Arduino + Temperatura + Wilgotność

Prosty czujnik temperatury wykorzystujący jeden precyzyjny czujnik temperatury LM35, czujnik wilgotności i Arduino, dzięki czemu możesz podłączyć się do przyszłych projektów. Obwód wyśle szeregowe informacje o temperaturze i wilgotności, dzięki czemu można go używać na komputerze. Pobrałem dane z mojego kompostu. Projekt związany jest z istniejącym wysypiskiem produktów, dzięki któremu każdy może przerobić w domu odpady kuchenne na kompost. Więcej informacji na temat produktu można znaleźć na stronie https://www.dailydump.org/content/. Digicompost wyświetla zmiany (zmiany temperatury, wilgotności) zachodzące wewnątrz wysypiska

Krok 1: Materiały

Materiały
Materiały
Materiały
Materiały
Materiały
Materiały
Materiały
Materiały

- Arduino (możesz użyć innego mikrokontrolera, ale wtedy będziesz musiał zmienić kod). - Precyzyjny czujnik temperatury Celsjusza LM35, możesz kupić w każdym sklepie elektronicznym. Oto KARTA TECHNICZNA.- Płytka chlebowa.- Czujnik wilgotności.- Przewody.

Krok 2: Konfiguracja Arduino + temperatura

Konfiguracja Arduino + temperatura
Konfiguracja Arduino + temperatura
Konfiguracja Arduino + temperatura
Konfiguracja Arduino + temperatura
Konfiguracja Arduino + temperatura
Konfiguracja Arduino + temperatura

Arduino to platforma do prototypowania elektroniki typu open source, oparta na elastycznym, łatwym w użyciu sprzęcie i oprogramowaniu. Jest przeznaczony dla artystów, projektantów, hobbystów i wszystkich zainteresowanych tworzeniem interaktywnych obiektów lub środowisk. Aby uzyskać więcej informacji, zaloguj się na (https://www.arduino.cc)Podłączanie czujnika temperatury: LM35 ma trzy nogi i wygląda jak tranzystor. Dwie zewnętrzne odnogi to +5V i uziemienie, a środkowa odnoga wytwarza napięcie próbki. Przetwornik analogowo-cyfrowy (ADC) konwertuje wartości analogowe na przybliżenie cyfrowe w oparciu o wzór Wartość ADC = próbka * 1024 / napięcie odniesienia (+5 V). Tak więc przy napięciu odniesienia +5 woltów przybliżenie cyfrowe będzie = napięcie wejściowe * 205. (np. 2,5 V * 205 = 512,5) LM35 jest precyzyjnym liniowym czujnikiem temperatury, który dostarcza 10 mv na stopień Celsjusza. Oznacza to, że przy 15 stopniach Celsjusza dałoby odczyt 0,150 V lub 150 miliwoltów. Wstawiając tę wartość do naszej konwersji ADC (0,15 V * 205 = 30,75) możemy uzyskać dokładne przybliżenie temperatury Celsjusza, dzieląc liczbę wejść cyfrowych przez 2. Jeśli LM35 były dostarczane przez inne napięcie odniesienia (9V lub 12V) musielibyśmy użyć innej metody konwersji. W przypadku tego obwodu dzielenie przez 2 działa dobrze.

Krok 3: Podłączanie czujnika wilgotności

Podłączanie czujnika wilgotności
Podłączanie czujnika wilgotności
Podłączanie czujnika wilgotności
Podłączanie czujnika wilgotności

Na czujniku wilgotności znajdują się dwa piny, jeden jest do uziemienia, a drugi do wyjścia, który przechodzi na pin 3 do arduino. Użyłem lokalnego czujnika do testowania wilgotności/wilgotności, ale można wybrać SHT15, który ma zarówno temperaturę, jak i wilgotność.

Krok 4: Konfiguracja kodu!

Konfiguracja kodu!!!
Konfiguracja kodu!!!

Podłącz swoje arduino do komputera, otwórz aplikację wybierz odpowiedni port i nr modelu. zanim zaczniesz kodować. Po zakończeniu zapisz kod, jak pokazano poniżej:int pin = 5; // pinint analogowy putPin = 3; //wilgotnośćint tempc = 0, tempf=0; // zmienne temperaturyw próbkach[8]; // zmienne zwiększające precyzjęint maxi = -100, mini = 100; // aby uruchomić max/min temperatureint i;float humi = 0;float prehum = 0;float humconst = 0;float truehum = 0;float pretruehum = 0; długi pretruehumconst = 0; long valb = 0;unieważnij setup(){ Serial.begin(9600); // uruchom komunikację szeregową}void loop(){for(i = 0;i<=7;i++){ sample = (5.0 * analogRead(pin) * 100.0) / 1024.0; tempc = tempc + próbki; opóźnienie(1000);}tempc = tempc/8,0; tempf = (tempc * 9)/ 5 + 32;valb = analogRead(putPin); // obliczanie wilgotnościprehum = (valb/5);humconst = (0,16/0.0062);humi = prehum - humconst;pretruehumconst = 0.00216*tempc;pretruehum = 1.0546-pretruehumconst;truehum = humi/pretruehum;delay(1000);Serial. print(tempc, DEC);Serial.print(" Celsjusz, ");Serial.print ("Wilgotność: ");Serial.print ((long)truehum);Serial.println ("%");tempc = 0; opóźnienie (1000); // opóźnienie przed pętlą}Po zakończeniu kliknij przycisk przesyłania, co zajmie trochę czasu, aby przesłać, a po zakończeniu przesyłania upewnij się, że klikniesz na komunikację szeregową, aby uzyskać odczyty z czujnika !!!

Zalecana: