Inhoudsopgave:
- Stap 1: Het verkrijgen van alle onderdelen
- Stap 2: Alle onderdelen met elkaar verbinden
- Stap 3: Code schrijven
- Stap 4: Uw Arduino gebruiken
Video: Arduino DHT22-sensor en bodemvochtproject met menu - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:15
Hallo jongens Vandaag presenteer ik jullie mijn tweede project op instructables. Dit project presenteert het mengsel van mijn eerste project waarin ik de bodemvochtsensor en de DHT22-sensor gebruikte die wordt gebruikt voor het meten van temperatuur en vochtigheid. Dit project is gemakkelijk te maken en mensen die Arduino gebruiken, zullen het heel interessant vinden om te maken. Het verschil tussen dit project en het eerste is dat de gebruiker in dit project een menu heeft waarin hij kan kiezen wat hij op dat moment wil zien. Er zullen vier opties zijn. Dus pak je kit en begin met het maken van dit project dat in elk huis kan worden gebruikt.
Stap 1: Het verkrijgen van alle onderdelen
Dit project gebruikt weinig onderdelen. Deze onderdelen zijn erg goedkoop te krijgen, dus maak je geen zorgen over de prijs. Sommige onderdelen die in dit project worden gebruikt, kunnen worden gewijzigd, zodat het project goedkoper kan worden gemaakt. Het is aan jou welke delen van aanbevolen ga je gebruiken en dit project nog beter maken. Onderdelen gebruikt in dit project:
- Arduino uno rev3 (Je kunt ook andere Arduino gebruiken)
- Breadboard
- LCD 1602 groen display met I2C (u kunt het display ook zonder I2C gebruiken, maar u hebt meer pinnen nodig om het aan te sluiten)
- 16-knops toetsenbord (veranderbaar)
- FC-28-d Bodemhygrometer detectiemodule + bodemvochtsensor
- DHT22 temperatuur- en vochtigheidssensor (u kunt DHT11 gebruiken die goedkoper is om te krijgen)
- Rode LED-diode
- Blauwe LED-diode
- 2 weerstanden 220 ohm (gebruikt voor diodes)
- 4k7-weerstand gebruikt voor DHT22 op schema
- Arduino batterij connector
- Weinig startkabels om alle onderdelen aan te sluiten
Een ding dat ik je moet vertellen voordat je begint met het bouwen van dit project, is dat een toetsenbord niet nodig is. Ik heb deze keer het toetsenbord gebruikt omdat mijn roterende encoder kapot was. Ik denk dat dit project perfect zou zijn als het een roterende encoder heeft, omdat het minder pinnen zou gebruiken, of het kan 3 knoppen gebruiken.
Stap 2: Alle onderdelen met elkaar verbinden
In deze stap zie je het schema dat ik heb gemaakt met fritzing. Ik zal het opschrijven om elk belangrijk onderdeel van dit project met elkaar te verbinden.
Zoals je kunt zien, gebruiken we 5V en GND van Arduino om het breadboard van stroom te voorzien.
LCD:
- VCC naar 5v (+ deel op breadboard)
- GND naar gnd (- deel op breadboard)
- SDA naar analoge pin A4
- SCL naar analoge pin A5
Toetsenbord met 16 knoppen:
We gebruiken pinnen 9, 8, 7, 6, 5, 4, 3, 2 om het toetsenbord aan te sluiten (dit is de reden waarom ik een roterende encoder zou gebruiken, omdat er maar 3 pinnen op het bord nodig waren)
Bodemvochtsensor:
- VCC naar 5v (+ deel op breadboard)
- GND naar gnd (-gedeelte op breadboard)
- D0 naar digitale pin 0
- A0 naar analoge pin A0
DHT22:
- VCC naar 5v (+ deel op breadboard)
- GND naar gnd (-gedeelte op breadboard)
- Uit pin is verbonden met pin 12
Diode aansluiten:
- een deel van de diode gaat in - een deel van het breadboard
- tweede deel gaat door een weerstand van 220 ohm en wordt daarna aangesloten op pin 10 (blauwe diode) of 11 (rode diode)
Stap 3: Code schrijven
Ik zal proberen de code in enkele delen uit te leggen. Er zal ook volledige code worden geschreven, zodat u deze kunt kopiëren en ook kunt wijzigen als u dat nodig acht. Ook in deze code zijn er weinig methoden voor sensorwerk geschreven, maar deze keer lag de nadruk op het maken van een menu dat gemakkelijk te begrijpen is voor mensen die nieuw zijn met Arduino. Deze keer gebruik ik geen interrupts, maar in mijn volgende projecten zal ik dat doen, dus houd er rekening mee dat deze code veel beter kan worden met interrupts.
- Het eerste deel van de code omvat alle gebruikte bibliotheken voor dit project. Houd er rekening mee dat voor alle onderdelen die ik heb verteld dat ik ze gebruik, je de volgende bibliotheken nodig hebt: Wire, LiquidCrystal_I2C, Keypad en DHT. Alle bibliotheken zijn te vinden op Arduino IDE als je naar het schetsgedeelte gaat en vervolgens bibliotheken opneemt. Houd er ook rekening mee dat als je iets als een roterende encoder gebruikt, je waarschijnlijk nieuwe bibliotheken moet krijgen in plaats van een toetsenbord, wat waarschijnlijk rotary.h en een knop zou zijn. Als u de DHT11-sensor gebruikt, is de bibliotheek nog steeds DHT.
- In het tweede deel van de code zullen alle gebruikte delen worden gedefinieerd. Allereerst is er LCD. Daarna is er een DHT-sensor die een soort object is met een dht-type sensor, en ook een pin die is aangesloten. Bodemvochtsensor en diodes zijn derde.
- Ik zal het toetsenbord een beetje meer beschrijven. Zoals ik al zei, was mijn roterende encoder kapot, dus besloot ik hem te gebruiken. Voor dit project is het voldoende om slechts vier knoppen te hebben, zelfs drie is er goed voor. Dus ik gebruik vier knoppen op het toetsenbord voor slechts één optie. Je kunt een aantal knoppen gebruiken als je iets anders wilt als je een idee hebt. In dit deel moet u rijen en kolommen definiëren. Daarna zullen hexaKeys de opties vertegenwoordigen die voor dit project worden gebruikt. In mijn project zijn er B (terug), U (omhoog), D (omlaag) en A (accepteren). Je kunt van elke knop iets anders maken. Eén knop kan de achtergrondverlichting inschakelen, één kan deze uitschakelen. Dus speel er gerust nog wat mee
- In dit deel worden globale variabelen gebruikt in code. Bool-variabelen worden gebruikt voor het wijzigen van het scherm. De welkomstvariabele is slechts een paar seconden waar wanneer de arduino die ik heb ingeschakeld, daarna de rest van de tijd niet waar is. De belangrijkste focus ligt op mainScreen variabele. Deze variabele wordt gebruikt om u van het menu naar elke andere optie in de code te leiden. Als deze variabele onwaar is, betekent dit dat de gebruiker heeft besloten een van de vier opties van dit project te gebruiken.
- Hier zijn alle methoden geschreven die in deze code worden gebruikt. Ik zal proberen alle geschreven methoden in dit deel uit te leggen
- void startScreen(); // methode voor het starten van project en arduino
- int keuzenummer (int keuze); // dit verandert uw keuze van opties van het project. Nummer gaat van 1 tot 4
- ongeldig mainScreenP(int keuze); // er zullen vier opties worden geschreven voor het apparaat dat is gemaakt
- bool mainScreenCS(bool mainScreen); //dit verandert mainScreen in false
- bool mainScreenBack(bool mainScreen); //dit verandert mainScreen in true
- ongeldige tempCelsius(); // aflezen temperatuur in C DHT sensor optie
- ongeldige tempFarenheit(); // temperatuur aflezen in F DHT-sensoroptie
- ongeldig printVochtigheid(); // lezen vochtigheid DHT sensor optie
- ongeldig leesSensorData(); // gegevens lezen over aangesloten sensoren
- Tekenreeks getTemperatureC();
- Tekenreeks getTemperatureF();
- Tekenreeks getHumidity();
- ongeldig bodemvocht(); // dit is voor een andere sensor en diodes
- ongeldig printSensorSoilMoisture(); // bodemvochtgedeelte afdrukken op lcd
- ongeldige diodeLights (int waarde); // diodes in- en uitschakelen
- ongeldig printValue (int-waarde);
6. Setup voor Arduino is een onderdeel waar je de LCD- en DHT-sensor en ook diodes instelt
7. Hoofdgedeelte is het gedeelte waarin alle bovenstaande schriftelijke methoden worden gebruikt.
De volledige code van dit project vindt u als bijlage bij deze stap. Houd er rekening mee dat er een mogelijkheid is dat de pinnen misschien niet zijn aangesloten zoals op het schema, ik denk dat de diodes zijn veranderd.
Stap 4: Uw Arduino gebruiken
Dit is waarschijnlijk het grappigste deel. Het is in ieder geval grappiger na al het coderen. In dit deel kunt u foto's zien van hoe het project werkt. Er zijn 4 opties.
- Temperatuur aflezen in Celsius
- Temperatuur aflezen in Fahrenheit
- Vochtigheid aflezen
- Diodes aanzetten en waarden van bodemvochtsensor aflezen.
Je kunt elk van de mogelijke opties kiezen, je kunt ook teruggaan en opnieuw kiezen als je iets anders wilt zien. Eenvoudig en gemakkelijk te gebruiken.
Als er nog andere vragen zijn, kun je me die stellen. Bedankt voor het kijken naar mijn project. Met alle groeten. Sebastiaan
Aanbevolen:
Draadloze afstandsbediening met 2,4 GHz NRF24L01-module met Arduino - Nrf24l01 4-kanaals / 6-kanaals zenderontvanger voor quadcopter - RC Helikopter - RC-vliegtuig met Arduino: 5 stappen (met afbeeldingen)
Draadloze afstandsbediening met 2,4 GHz NRF24L01-module met Arduino | Nrf24l01 4-kanaals / 6-kanaals zenderontvanger voor quadcopter | RC Helikopter | Rc-vliegtuig met Arduino: een Rc-auto besturen | Quadcopter | Drone | RC vliegtuig | RC-boot, we hebben altijd een ontvanger en zender nodig, stel dat we voor RC QUADCOPTER een 6-kanaals zender en ontvanger nodig hebben en dat type TX en RX is te duur, dus we gaan er een maken op onze
Arduino UNO (menu's en functies maken): 4 stappen
Arduino UNO (menu's en functies maken): in deze instructable zullen we onderzoeken hoe we menu's kunnen maken, de temperatuur van een TC74A0-sensor kunnen lezen en "waarden" kunnen weergeven (in dit geval mobiele telefoonnummers) op een manier die oneindig is, maar beperkt tot het geheugen van de arduino aan boord. We zullen
Een menu in Arduino en het gebruik van knoppen: 10 stappen (met afbeeldingen) Antwoorden op al uw "Hoe?"
Een menu in Arduino en het gebruik van knoppen: in mijn Arduino 101-zelfstudie leert u hoe u uw omgeving in Tinkercad kunt instellen. Ik gebruik Tinkercad omdat het een behoorlijk krachtig online platform is waarmee ik een reeks vaardigheden aan studenten kan demonstreren voor het bouwen van circuits. Voel je vrij om
ARDUINO MENU-ONTWERP Met OLED-UI (GEBRUIKERSINTERFACE): 4 stappen
ARDUINO MENU DESIGN Met OLED-UI (USER INTERFACE): Hallo allemaal! In deze tutorial zal ik proberen uit te leggen hoe je ARDUINO MENU DESIGN kunt maken met behulp van i2c OLED-scherm. Het is ook bekend als UI (gebruikersinterface). Het is voor veel projecten gebruikt, maar het moet je bekend zijn van 3D-printers :) Hier ook video
Dingen toevoegen aan het menu 'VERZENDEN NAAR': 7 stappen
Dingen toevoegen aan het 'VERZENDEN NAAR'-menu: Het VERZENDEN NAAR-menu is een handige menubalk om dingen van de ene plaats naar de andere te verzenden, maar heeft meestal alleen de standaardopties. Gelukkig kun je opties toevoegen in het menu voor gemakkelijke overboekingen