Spisu treści:
2025 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2025-01-13 06:58
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
- 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
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
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!
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 !!!