Inhoudsopgave:
- Stap 1: Verzamel de componenten
- Stap 2: Het volledige schema
- Stap 3: De juiste installatie verkrijgen
- Stap 4: Aansluiten van de DHT-22
- Stap 5: Het OLED-scherm aansluiten
- Stap 6: Bodemvocht monitoren
- Stap 7: VBAT bewaken (9V-batterij)
- Stap 8: VBAT bewaken (2 Lipos-configuratie)
- Stap 9: De behuizing
- Stap 10: Verbeteringsperspectieven
- Stap 11: Bedankt
2025 Auteur: John Day | [email protected]. Laatst gewijzigd: 2025-01-13 06:57
Hallo jongens! Om op de beste manier te beginnen, een klein verhaal over het project. Ik ben onlangs afgestudeerd en ben naar Oostenrijk verhuisd voor mijn eerste functie als ingenieur. Het land is mooi, maar erg koud en vochtig in het winterseizoen. Ik merkte al snel wat condens op de ramen elke ochtend toen ik wakker werd, evenals wat schimmel op de muren van de prachtige flat die ik huur. Het was mijn eerste ontmoeting met zo'n hoge luchtvochtigheid ooit, afkomstig uit het zuiden van Frankrijk, daar hebben we niet echt zo'n probleem. Dus ik was op zoek naar oplossingen op internet en besloot wat stukjes te verzamelen en mijn eigen monitoringsysteem te bouwen om de vochtigheidsgraad van elke kamer van mijn flat en de omgevingstemperatuur te controleren. Het volgende project had een aantal belangrijke richtlijnen:
- Het moet goedkoop zijn.
- Het moet precies genoeg zijn.
- Ik wilde iets kleins, gemakkelijk mee te nemen en op batterijen.
- Ik hou van planten en besloot dat het zou kunnen controleren op bodemvocht om te weten of ik mijn planten water moest geven of niet. (Uit context, maar ik vond het idee gewoon geweldig!:D)
Dit is een vrij eenvoudig project, maar dit is de meest bruikbare die ik ooit heb gemaakt. Ik kan de luchtvochtigheid in elke kamer controleren en kijken of ik moet reageren om de schimmel te stoppen. Dus laten we beginnen.
Stap 1: Verzamel de componenten
Ons project is vrij eenvoudig. We zullen een Arduino (nano in mijn geval) als het brein gebruiken, omdat het heel eenvoudig is om te programmeren, goedkoop en indien nodig vervangbaar.
Een DHT-22 als temperatuur- en vochtigheidssensor, er is een lagere versie genaamd DHT-11, wat naar mijn mening behoorlijk waardeloos is als je het over nauwkeurigheid hebt en voor 3 euro meer kun je de DHT-22 krijgen die veel nauwkeuriger, nauwkeuriger is & kan werken bij een grotere verscheidenheid aan temperaturen. Een OLED-display om de gegevens weer te geven en een visuele interface te hebben tussen de sensoren en de mens die ik ben. Ik ontdekte dat 64 bij 128 perfect is omdat het klein is, ik kon er genoeg gegevens op plaatsen en heel gemakkelijk te koppelen.
Een YL-69 bodemvochtsensor, om te controleren wanneer ik mijn mooie planten water moet geven. En dit is eigenlijk alles wat je nodig hebt voor het project. Optioneel wilde ik dat het project zou worden aangedreven met behulp van Lipo's die ik in de buurt had. -Je kunt het net zo goed met een normale 9V-batterij laten werken. Ik wilde de spanning van de Lipo-batterijen kunnen controleren met behulp van enkele analoge ingangen op de Arduino. Op de volgende pagina's zal ik meer informatie geven.
Daarnaast heb je het volgende nodig:
- Een stuk broodplank.
- AAN/UIT-schakelaar *1
- Een 9V batterijconnector
- 9V batterij
En als u de lipo's & de monitoring wilt implementeren:
- 10K weerstanden *3
- 330R weerstanden *1
- LED *1
- Schuifschakelaar * 1
- Lipo-houders (of ik laat je een 3D-geprinte versie zien die ik momenteel gebruik)
- 2 Lipo-cellen.
Stap 2: Het volledige schema
Bijgaand vindt u het volledige schema. Houd er rekening mee dat u duidelijk kiest voor het 9V-batterijgedeelte van het circuit of het LIPO-batterijgedeelte dat is aangesloten op VBAT. Ik scheidde beide circuits met rode vierkanten en plaatste een rode titel om elk te markeren.
Maak je geen zorgen, elke verbinding wordt in de volgende stappen goed uitgelegd.
Stap 3: De juiste installatie verkrijgen
Zorg ervoor dat je Arduino IDE hebt geïnstalleerd. En download de bibliotheken die bij deze stap worden geleverd. Ik zal ook de volledige code plaatsen, als u niet de moeite wilt nemen om in de volgende stappen elk onderdeel te testen.
Stap 4: Aansluiten van de DHT-22
De eerste stap van het project is om de DHT-22 op de Arduino aan te sluiten. De verbinding is vrij eenvoudig: DHT-22 ------ Arduino
VCC ------ +5V
GEGEVENS ------D5
GND ------ GND
Om de DHT-22-verbinding met uw Arduino te testen, implementeren we de code die in deze stap is ingesloten.
Stap 5: Het OLED-scherm aansluiten
De volgende stap is om het OLED-scherm aan te sluiten. Dit soort display maakt verbinding via het I2C-protocol. Onze eerste taak is om de juiste I2C-pinnen voor je Arduino te vinden, als je de Arduino nano gebruikt, zijn de I2C-pinnen A4(SDA) & A5(SCL). Als je een andere arduino zoals UNO of MEGA gebruikt, kijk dan op de officiële arduino-website of op de datasheet voor de I2C-pinnen.
De verbinding is als volgt: OLED ------ Arduino:
GND ------ GND
VCC ------ 3V3
SCL ------ A5
VIB ------ A4
Om de OLED te testen, zullen we de DHT-gegevens rechtstreeks op het OLED-scherm weergeven door de code te uploaden die in deze stap is ingesloten.
U zou de temperatuur en vochtigheid op het OLED-scherm moeten zien met een zeer snelle samplefrequentie, omdat we nog geen vertraging hebben ingesteld.
Stap 6: Bodemvocht monitoren
Omdat ik het bodemvocht van mijn planten wilde monitoren, moesten we de YL-69 aansluiten.
Deze sensor is erg interessant voor mij en gedraagt zich als wanneer de grond:
Nat: de uitgangsspanning neemt af.
Droog: de uitgangsspanning neemt toe.
De aansluiting is als volgt:
YL69 ------ Arduino
VCC ------ D7
GND ------ GND
D0 ------ NIET VERBINDEN
A0 ------ A7
Zoals je kunt zien, verbinden we de VCC-pin van de module met een digitale pin van de Arduino. Het idee daarachter is om de module van stroom te voorzien net wanneer we de meting willen doen en niet continu. Dit komt door het feit dat de sensor werkt door de stroom te meten die van het ene been van de sonde naar het andere gaat. Hierdoor treedt elektrolyse op en kan deze de sonde vrij snel vernietigen in vochtige gronden.
We zullen nu de vochtsensor toevoegen aan onze code en de vochtgegevens weergeven met de DHT-gegevens op de OLED. Upload de code die in deze stap is ingesloten.
Stap 7: VBAT bewaken (9V-batterij)
Ik wilde weten hoe laag de batterij was om op een dag geen verrassing te hebben en op te raken zonder erop te kunnen anticiperen. De manier om de ingangsspanning te controleren, is door enkele analoge pinnen van de arduino te gebruiken om te weten hoeveel spanning wordt ontvangen. De ingangen van de Arduino kunnen maximaal 5V aan, maar de gebruikte batterij genereert 9V. Als we deze hogere spanning direct aansluiten, zouden we sommige hardwarecomponenten vernietigen, we moeten een spanningsdeler gebruiken om de 9V onder de 5V-drempel te brengen.
Ik heb twee weerstanden van 10k gebruikt om de spanningsdeler te maken en de 9V met een factor 2 te delen en deze op maximaal 4,5V te brengen.
Om aan te geven dat de batterij bijna leeg is, gebruikt u een normale LED met een stroombegrenzende weerstand van 330 ohm.
We zullen de analoge pin A0 gebruiken om VBAT te controleren.
Volg het schema om te weten hoe u de componenten aansluit:
We zullen het nu toevoegen aan onze codecode die in deze stap is ingesloten.
Stap 8: VBAT bewaken (2 Lipos-configuratie)
Ik wilde weten hoe laag de batterij was om op een dag geen verrassing te hebben en op te raken zonder erop te kunnen anticiperen.
De manier om de ingangsspanning te controleren, is door enkele analoge pinnen van de arduino te gebruiken om te weten hoeveel spanning wordt ontvangen. De ingangspinnen van de Arduino kunnen maximaal 5V aan, maar de lipo's genereren maximaal 4,2 * 2 = 8,4V.
Het verschil met de vorige stap is dat in het geval van het gebruik van 2 lipo's in serie om een spanning > 5V te creëren om het Arduino-bord van stroom te voorzien, we elke lipocel moeten controleren omdat ze met een andere snelheid kunnen ontladen. Houd er rekening mee dat u een lipo-batterij niet te veel wilt ontladen, dit is erg gevaarlijk.
Voor de eerste Lipo is er geen probleem omdat de nominale spanning van 4,2V onder de 5V-drempel ligt die de ingangspinnen van de arduino kan verdragen. als je echter 2 batterijen in serie zet, telt hun spanning op: Vtot = V1 + V2 = 4,2 + 4,2 = maximum 8,4.
Als we deze hogere spanning rechtstreeks op de analoge pin aansluiten, zouden we sommige hardwarecomponenten vernietigen, we moeten een spanningsdeler gebruiken om de 8,4V onder de 5V-drempel te brengen. Ik heb twee weerstanden van 10k gebruikt om de spanningsdeler te maken en de 8,4V met een factor 2 te delen en deze op maximaal 4,2V te brengen.
We zullen de analoge pin A0 gebruiken om VBAT te controleren. Volg het schema om te weten hoe u de componenten aansluit:
Om aan te geven dat de batterij bijna leeg is, gebruikt u een normale LED met een stroombegrenzingsweerstand van 330 ohm.
We zullen het nu toevoegen aan onze code die in deze stap is ingesloten.
Stap 9: De behuizing
Ik heb de kans om een 3D-printer te bezitten, dus besloot ik een hoesje te printen met standaard PLA.
U vindt de bestanden bijgevoegd, ik heb de behuizing ontworpen met behulp van Autodesk Inventor & Fusion360.
Je kunt net zo goed je eigen ontwerp maken of gewoon het breadboard laten zoals het is, de doos zelf voegt niets toe aan de functionaliteiten. Helaas is mijn 3D-printerhotend net overleden, dus ik kon de behuizing nog niet printen, ik zal mijn bericht updaten wanneer ik ontvang de onderdelen die op Amazon zijn gemaakt. Bewerken: het is nu afgedrukt en je kunt het op de foto's zien.
Stap 10: Verbeteringsperspectieven
Voor nu sluit het project perfect aan bij mijn wensen. We kunnen echter enkele punten bedenken die we kunnen verbeteren:
- Verminder het batterijverbruik, we kunnen het huidige verbruik verbeteren door hardware te veranderen of software te verbeteren.
- Voeg bluetooth toe om verbinding te maken met een APP of om gegevens op te slaan en in de loop van de tijd wat meer analyses uit te voeren.
- Voeg een LIPO-oplaadcircuit toe om het rechtstreeks op te laden via de muur.
Als je ergens aan denkt, aarzel dan niet om het op te schrijven in het commentaargedeelte.
Stap 11: Bedankt
Bedankt voor het lezen van deze tutorial, aarzel niet om met mij en anderen te communiceren in het commentaargedeelte. Ik hoop dat je genoten hebt van het project en ik zie je de volgende keer voor een ander project!