Inhoudsopgave:
- Stap 1: Bekijk de video
- Stap 2: Benodigde onderdelen
- Stap 3: Schematisch ontwerp
- Stap 4: PCB-ontwerp
- Stap 5: Fabriceer de PCB
- Stap 6: Montage
- Stap 7: Coderen
Video: Arduino temperatuur- en vochtigheidssensor - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:18
Door ThundertronicsVolg meer door de auteur:
In deze tutorial ga ik het maken van een temperatuur- en vochtigheidssensor uitleggen met behulp van Arduino pro mini-bord met DHT11 (of DHT22) sensor.
Stap 1: Bekijk de video
Het is belangrijk om eerst de video te zien voordat u naar de volgende stap gaat. De video legt alles uit en laat zien hoe het werkt. In dit bericht zal ik echter meer technische gegevens en details schrijven.
www.youtube.com/watch?v=56LKl7Xd770
Stap 2: Benodigde onderdelen
De onderdelen die nodig zijn voor dit project zijn:
1- Arduino pro mini-bord (of een Arduino).
2- DHT11 temperatuur- en vochtigheidssensor (of DHT22).
3-16x2 LCD-scherm.
4- Een behuizing naar keuze, bij voorkeur dezelfde als in de video.
5-10K potentiometer.
6- Schroefklemmen.
7- Weerstanden met verschillende waarden.
8- 9v batterij.
terwijl de benodigde hulpmiddelen zijn:
1-handboor als een Dremil.
2- verschillende bits voor de boor, omdat we gladmakende bits en snijbits zullen gebruiken.
3- helpende handen.
plus, de gebruikelijke elektronische hulpmiddelen zoals multimeter enzovoort.
Stap 3: Schematisch ontwerp
In dit project heb ik ervoor gekozen om er een PCB voor te maken in plaats van deze zelf te bedraden. Dus ik heb de EasyEDA online tool voor de klus gebruikt, wat een leuke ervaring was.
Dit is de projectpagina op de easyEDA-website:
De uitleg van het schema is als volgt:
1- Ik heb een 6-pins ICSP-adapter gebruikt om de Arduino pro mini te programmeren, omdat er geen aan boord is. het is J2 bij schema.
2- R2 is 100 Ohm en stelt de helderheid van het LCD-scherm in. Kortom, u kunt meer weerstand dan 100R gebruiken als u wilt dat de LCD-achtergrondverlichting zwakker is. Of beter nog, zorg dat een potentiometer fungeert als een variabele serieweerstand.
3- JP1 is slechts een connector met een mooie PCB-voetafdruk. Ik heb nooit een echte terminal geplaatst, maar in plaats daarvan de draden gesoldeerd. Doe wat je wilt.
4- U2 zijn de aansluitklemmen van de batterij. Hier geef ik de voorkeur aan mooie schroefklemmen om een stevige verbinding te krijgen. Je zou de draden kunnen solderen, maar zorg ervoor dat je genoeg soldeer aanbrengt om de verbinding stevig genoeg te maken om schokken te weerstaan.
5- LCD1 is de LCD-component in easyEDA. Het heeft de basisverbinding met Arduino pro mini. Zorg ervoor dat de pinnen hier identiek zijn aan die in de software.
6- RV1 is een 10K-potentiometer om het LCD-contrast in te stellen. Het mag slechts één keer worden gebruikt en wel wanneer u het LCD-scherm voor het eerst van stroom voorziet.
Stap 4: PCB-ontwerp
Na het afronden van het schematische ontwerp en begrijpen wat alles betekent, is het nu tijd om er een PCB voor te maken.
U moet in EasyEDA op "Convert to PCB" drukken om de PCB in de PCB-editor te maken. Begin vervolgens met het plaatsen van onderdelen en het uitvoeren van routering zoals gewoonlijk. Ik raad echter aan om nooit de auto-router te gebruiken.
Ik heb veel via's gebruikt om van de bovenste naar de onderste laag te gaan, omdat de ruimte zo klein is.
Stap 5: Fabriceer de PCB
Nu is het PCB-ontwerp klaar. We hebben alles gecontroleerd en geen probleem gevonden. We moeten de ontwerpbestanden (de gerbers) naar het PCB-fabricagebedrijf van onze keuze sturen, zodat het het voor ons kan doen.
Mijn favoriete bedrijf is JLCPCB. Ze zijn het beste voor dergelijke projecten en prototyping en ze bieden slechts $ 2 aan prijs voor een volledige 10 stuks van je ontwerp!
Dus nu klikken we op (….) en kiezen voor JLCPCB. We worden doorverwezen naar de JLCPCB-website omdat ze partners zijn van EasyEDA. Vul nu alles in en plaats de bestelling. Nu maar wachten tot de PCB's arriveren.
Het is vermeldenswaard dat JLCPCB niet alleen EasyEDA heeft, maar ook een grote componentenwinkel heeft! Het voordeel hier is dat zowel de PCB-bestelling als de componentenbestelling samen worden verzonden! Ja, u hoeft niet te wachten tot 2 pakketten afzonderlijk aankomen, maar in plaats daarvan worden ze gecombineerd in één pakket. Ik raad het ten zeerste aan om dit te gebruiken.
Stap 6: Montage
We hebben nu alleen de PCB's met alles. Het is tijd om alles in elkaar te zetten.
Eerst moeten we de elektronica volgens schema solderen. Het is een gemakkelijke taak voor dit project.
Na het afronden van het solderen, snijdt u nu de nodige gaten in de plastic behuizing en bevestigt u vervolgens de PCB met andere componenten goed naar binnen met behulp van een heet lijmpistool.
Je moet nu de potentiometer gebruiken om het contrast van het LCD-scherm aan te passen, terwijl je de vereiste weerstandsklep kiest voor de helderheid, ik heb 100R gekozen.
Stap 7: Coderen
Code voor dit project is bij deze stap gevoegd en de uitleg is als volgt:
// voeg de bibliotheekcode toe:#include #include "DHT.h" // stel de DHT-pin in #define DHTPIN 2
Voeg de benodigde bibliotheken toe en definieer pin 2 van Arduino pro mini als de datapin voor de sensor. Zorg ervoor dat u deze bibliotheken installeert als u ze niet hebt.
// initialiseer de bibliotheek met de nummers van de interface-pinnen LiquidCrystal lcd (9, 8, 7, 6, 5, 4); #define DHTTYPE DHT11 DHT dht(DHTPIN, DHTTYPE);
Initialiseer nu de LCD-bibliotheek met deze pinnen volgens het schema zelf. Gebruik ook de DHT-bibliotheek en kies DHT11 als de sensor die u wilt gebruiken, dus als u DHT22 heeft, moet u deze wijzigen.
De laatste regel zegt dat we een DHT11-sensor hebben en de datapin bevindt zich op pin "DHTPIN", pin 2 zoals we die eerder hebben gedefinieerd.
void setup() { // stel het aantal kolommen en rijen van het LCD-scherm in: lcd.begin (16, 2); dht.begin(); lcd.setCursor(0, 0); lcd.print("Temperatuur en"); lcd.setCursor(0, 1); lcd.print("vochtigheidssensor"); vertraging (3000); lcd.wissen(); lcd.setCursor(0, 0); lcd.print("THUNDERTRONICS"); lcd.setCursor(0, 1); lcd.print("Hossam Moghrabi"); vertraging (3000); }
Nu is het insteltijd! en dit is wat er aan de hand is:
LCD is 16 bij 2 type.
Start de DHT-opdracht om waarden op te halen.
Print "Temperatuur- en vochtigheidssensor" op de 2 regels.
Vertraging 3 seconden.
Duidelijke weergave
Print "THUNDERTRONICS" op de eerste regel en druk vervolgens "Hossam Moghrabi" op de 2e regel.
Vertraging 3 seconden.
^Ik heb dit gedaan als welkomstscherm dat ongeveer 6 seconden duurt voordat de waarden worden weergegeven.
void loop () {// read vochtigheid int h = dht.readHumidity (); // lees temperatuur in c int t = dht.readTemperature (); if (isnan(h) || isnan(t)) { lcd.print("FOUT"); opbrengst; }
Nu bevinden we ons in onze eeuwige lus die zich zal blijven herhalen.
Bewaar vochtigheidsmetingen in de variabele "h" en temperatuurmetingen in de variabele "t".
Vervolgens hebben we een if-statement. Dit is in feite een foutmelding als er een fout is. Laat het staan zonder het te veranderen.
Nu hebben we alle waarden die we nodig hebben.
lcd.setCursor(0, 0); lcd.print("Temp. = "); lcd.print(t); lcd.print(" "); lcd.print((char)223); lcd.print("C"); lcd.setCursor(0, 1); lcd.print("Vochtigheid = "); lcd.print(h); lcd.print ("%"); // lcd.print ("Hossam Moghrabi"); vertraging (2000);
Ten slotte geven we deze waarden weer op het LCD-scherm. U kunt het veranderen zoals u wilt, omdat het eenvoudigweg waarden afdrukt binnen de variabelen "h" en "t". Een vertraging van 2 seconden instellen is een beetje optioneel, maar je hebt er niet veel baat bij om het sneller te doen, omdat de sensor zelf niet zo snel is en zelfs als dat zo is, veranderen de fysieke waarden nooit zo snel. Dus 2 seconden zijn heel erg snel voor de klus!
Dat is het!
Aanbevolen:
Kalibratie van vochtigheidssensor: 7 stappen
Kalibratie van vochtigheidssensor: ik heb 3 sensoren die de relatieve vochtigheid van de lucht kunnen meten: BME280, SHT21, DHT22. Ze verklaarden het vermogen om met een nauwkeurigheid van +/- 3% te meten van een bereik van 20 tot 80%. Bij het testen in dezelfde toestand voor 3 sensoren kreeg ik echter 3 verschillende resultaten. Misschien o
Temperatuur- en vochtigheidssensor: 7 stappen
Temperatuur- en vochtigheidssensor: Mijn naam is Tucker Chaisit. Ik zit in mijn vierde jaar en volg momenteel een bachelor in Electrical Engineering aan de University of Massachusetts Amherst, en ik ben een frequente bezoeker van het ECE Makerspace-gebied, ook wel bekend als M5
ThingSpeak, IFTTT, temperatuur- en vochtigheidssensor en Google-blad: 8 stappen
ThingSpeak, IFTTT, temperatuur- en vochtigheidssensor en Google Sheet: in dit project zullen we temperatuur en vochtigheid meten met behulp van de NCD-temperatuur- en vochtigheidssensor, ESP32 en ThingSpeak. We sturen ook verschillende temperatuur- en vochtigheidsmetingen naar Google Sheet met behulp van ThingSpeak en IFTTT voor het analyseren van de se
E-mailwaarschuwingen maken van de NCD draadloze temperatuur- en vochtigheidssensor met Node-Red: 22 stappen
E-mailwaarschuwingen maken van de NCD draadloze temperatuur- en vochtigheidssensor met behulp van Node-Red: we gebruiken hier de temperatuur- en vochtigheidssensor van NCD, maar de stappen blijven gelijk voor elk van de ncd-producten, dus als u andere draadloze ncd-sensoren heeft, kunt u gratis naast observeren. Door middel van de stop van deze tekst moet je
WiFi IoT-temperatuur- en vochtigheidssensor. Deel: 8 IoT, domotica: 9 stappen
WiFi IoT-temperatuur- en vochtigheidssensor. Deel: 8 IoT, Home Automation: Preamble Dit artikel documenteert de praktische robuustheid en verdere ontwikkeling van een eerdere Instructable: 'pimpen' van uw eerste IoT WiFi-apparaat. Deel 4: IoT, Domotica inclusief alle benodigde softwarefunctionaliteit om de succe