Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Manufacturing Technology >> Productieproces

Arduino Binnentuin

Componenten en benodigdheden

Arduino Nano R3
× 1
mbientLab Bluetooth naar USB-dongle
× 1
JLCPCB aangepaste PCB
× 1

Over dit project

Tuinieren in de moderne tijd betekent dingen ingewikkelder en moeilijker maken, met elektronen, bits en bytes. Het combineren van microcontrollers en tuinieren is een erg populair idee. Ik denk dat dat komt omdat tuinen zeer eenvoudige in- en uitgangen hebben die gemakkelijk in je hoofd kunnen worden gewikkeld. Ik denk dat mensen (waaronder ikzelf) een notoir eenvoudige en ontspannen hobby zien en zich gedwongen voelen om het te ingewikkeld te maken.

In dit project laat ik je zien hoe je een eenvoudigere versie van een binnentuin bouwt met behulp van een Arduino-ontwikkelbord .

Ik bied een volledige stapsgewijze begeleiding om u te laten zien hoe u uw eigen prachtige tuin kunt maken, en ik leg in detail zowel hardware- als softwareonderdelen uit om van deze begeleiding de eenvoudigste manier te maken om uw eigen tuin te proberen. eigen vaardigheden op het gebied van elektronisch maken. Dit project is zo handig om speciaal te maken nadat we de aangepaste PCB hebben gekregen die we bij JLCPCB hebben besteld om het uiterlijk van onze auto te verbeteren en er zijn ook voldoende documenten en codes in deze gids om u in staat te stellen uw automatische tuinsysteem te maken.

We hebben dit project in slechts 7 dagen gemaakt, slechts drie dagen om de hardware te maken en te monteren, en vervolgens 4 dagen om de code en de Android-app voor te bereiden. om de tuin erdoorheen te sturen. Laten we eerst kijken voordat we beginnen

Wat leer je van deze tutorial:

  • De juiste componenten kiezen, afhankelijk van de functionaliteiten van uw project
  • Het circuit maken om alle gekozen componenten te verbinden
  • Monteer alle projectonderdelen en begin met testen
  • De Android-app gebruiken. om verbinding te maken via Bluetooth en het systeem te gaan manipuleren

Stap 1:Wat is een binnentuin!

De meeste planten hebben eenvoudige behoeften. Als gasten gaan, zijn ze relatief weinig veeleisend. Er zijn slechts drie basisdingen die u moet begrijpen voordat u besluit een plant thuis uit te nodigen:licht, water en lucht. Als je deze vier elementen onder de knie hebt, vanuit het perspectief van een plant, kun je bijna overal ter wereld en in elk seizoen van het jaar een binnentuin creëren.

  • Licht - De meeste tuinplanten hebben minimaal zes uur licht per dag nodig. Maar het moet goed licht zijn. Als je je hand voor het raam houdt en er valt geen schaduw, is de kans groot dat het licht niet voldoende is voor de meeste planten om een ​​gelukkig leven te leiden. Je kunt omstandigheden met weinig licht echter altijd aanvullen met kweeklampen. Als je weinig natuurlijk licht in huis hebt en je niet wilt poepen met speciale verlichting, blijf dan bij planten die normaal weinig licht nodig hebben, of probeer je tuin te verplaatsen naar een zonnige vensterbank.
  • Water - Planten hebben omstandigheden nodig die dicht bij die in hun oorspronkelijke habitat liggen. Een plant die de woestijn naar huis roept, heeft minder vaak water nodig dan een plant die in een moeras leeft. Weten aan welke watercondities een plant de voorkeur geeft, is een goede eerste stap om een ​​succesvolle binnentuin te behouden. Het is makkelijker dan je denkt, want de planten zelf geven je vaak aanwijzingen. Planten met dikke rubberachtige bladeren zijn waterhoarders en kunnen doorgaans met minder water overleven dan planten met dunne, delicate bladeren. Als je een hekel hebt aan het water geven van je planten, kies dan voor soorten die met minder gedijen, of kies voor plantenpotten met verborgen reservoirs om je waterklusjes te verminderen.
  • Lucht - Als bijproduct van fotosynthese produceren planten zuurstof en filteren ze via hun bladeren vervelende gassen, zoals formaldehyde, uit je leefomgeving. Om planten gezond te houden, moet je hun bladeren schoon houden en de lucht om hen heen in beweging en vochtig houden. Om dit te doen, kun je ze op een plek met een goede luchtstroom plaatsen of ze voorzien van een kleine ventilator.

Ik zal een op Arduino gebaseerd systeem maken om toezicht te houden op de temperatuur en vochtigheidsstatus van mijn plant en automatisch te voorzien in de nodige behoeften zoals lichtintensiteit, water en zuivere frisse lucht en om dit te doen heb ik enkele sensoren nodig om sommige actuatoren te besturen. Ik zal bijvoorbeeld de lichtintensiteit regelen afhankelijk van de signalen die worden ontvangen van de lichthelderheidssensor hetzelfde voor bewatering Ik heb een vochtsensor gebruikt om een ​​waterpomp aan en uit te zetten en een temperatuur / vochtigheidssensor voor het aan en uit regelen van een 12V DC-ventilator .

Stap 2:Sensoren en actuatoren

Het maken van dit systeem is het assembleren van enkele sensoren en actuatoren om toegang te krijgen tot de fysieke gegevens rondom de plant en om te kunnen vinden welk ding door de plant wordt gevraagd en wanneer u het moet leveren.

Dit is de reden waarom je sommige sensoren en actuatoren zou moeten gebruiken die allemaal op één Arduino-bord zijn aangesloten:

Sensoren

  • Lichtsensor BH1750:BH1750FVI Is een digitale lichtsensor, een digitale omgevingslichtsensor-IC voor I2C-businterface. Dit IC is het meest geschikt om de omgevingslichtgegevens te verkrijgen voor het aanpassen van de achtergrondverlichting van het LCD-scherm en het toetsenbord van de mobiele telefoon. Het is mogelijk om een ​​groot bereik te detecteren bij een hoge resolutie. (1 - 65535 lx).
  • Bodemvochtigheidssensor:Vochtsensoren die de weerstand of geleidbaarheid over de bodemmatrix tussen twee contacten meten, zijn in wezen rommel. Ten eerste is weerstand geen erg goede indicator van het vochtgehalte, omdat het sterk afhankelijk is van een aantal factoren die van tuin tot tuin kunnen verschillen, waaronder de pH van de grond, opgeloste stoffen in het water en temperatuur. Ten tweede zijn de meeste van slechte kwaliteit met contacten die gemakkelijk corroderen. Meestal heb je geluk als je er een krijgt die een heel seizoen meegaat.
  • Temperatuur- en vochtigheidssensor:de DHT11 is een eenvoudige, ultravoordelige digitale temperatuur- en vochtigheidssensor. Het gebruikt een capacitieve vochtigheidssensor en een thermistor om de omringende lucht te meten, en spuugt een digitaal signaal uit op de datapin (geen analoge ingangspinnen nodig). Het is vrij eenvoudig te gebruiken, maar vereist een zorgvuldige timing om gegevens te verzamelen. Het enige echte nadeel van deze sensor is dat je er maar eens in de 2 seconden nieuwe gegevens van kunt krijgen, dus als je onze bibliotheek gebruikt, kunnen sensormetingen tot 2 seconden oud zijn.

Aandrijvingen

  • Lichtwitte LED:een light-emitting diode (LED) is een halfgeleiderlichtbron met twee geleiders. Het is een p-n-junctiediode die licht uitstraalt wanneer geactiveerd. Wanneer een geschikte spanning op de geleiders wordt toegepast, kunnen elektronen recombineren met elektronengaten in het apparaat, waarbij energie in de vorm van fotonen vrijkomt.
  • Waterpomp:Een pomp is een apparaat dat vloeistoffen (vloeistoffen of gassen), of soms slurries, door mechanische actie verplaatst. Pompen kunnen worden ingedeeld in drie hoofdgroepen op basis van de methode die ze gebruiken om de vloeistof te verplaatsen:directe lift-, verplaatsings- en zwaartekrachtpompen. Pompen werken door een of ander mechanisme (meestal heen en weer bewegend of roterend) en verbruiken energie om mechanisch werk uit te voeren door de vloeistof. Pompen werken via vele energiebronnen, waaronder handmatige bediening, elektriciteit, motoren of windenergie, zijn er in vele maten, van microscopisch voor gebruik in medische toepassingen tot grote industriële pompen.
  • DC 12V-koelventilator:het is belangrijk om koeltechnieken te begrijpen die kunnen worden gebruikt om de levensduur van uw plant te behouden door frisse lucht rond de plant te verplaatsen wanneer dit nodig is om de plant in gezonde omstandigheden te houden.

Stap 3:Het maken van PCB's (geproduceerd door JLCPCB)

Over JLCPCB

JLCPCB (Shenzhen JIALICHUANG Electronic Technology Development Co., Ltd.), is de grootste onderneming voor PCB-prototypes in China en een hightechfabrikant die gespecialiseerd is in snelle PCB-prototypes en de productie van PCB's in kleine batches.

Met meer dan 10 jaar ervaring in PCB-productie, heeft JLCPCB meer dan 200.000 klanten in binnen- en buitenland, met meer dan 8.000 online bestellingen van PCB-prototyping en kleine hoeveelheden PCB-productie per dag. De jaarlijkse productiecapaciteit is 200.000 m². voor diverse 1-laags, 2-laags of meerlaags PCB's. JLC is een professionele PCB-fabrikant die wordt gekenmerkt door grootschalige, bronapparatuur, strikt beheer en superieure kwaliteit.

Terug naar ons project

Om de PCB te produceren, heb ik de prijs van veel PCB-producenten vergeleken en ik koos JLCPCB de beste PCB-leveranciers en de goedkoopste PCB-leveranciers om dit circuit te bestellen. Het enige wat ik hoef te doen is een paar simpele klikken om het gerber-bestand te uploaden en een aantal parameters in te stellen, zoals de kleur en hoeveelheid van de PCB-dikte, dan heb ik slechts 2 dollar betaald om mijn PCB pas na 3 dagen te krijgen en ik heb gemerkt dat er zijn van tijd tot tijd enkele aanbiedingen voor gratis verzending op dit online bestelplatform.

U kunt het Circuit-bestand (PDF) hier downloaden.

Zoals je op de foto's hierboven kunt zien, is de PCB zeer goed vervaardigd en heb ik dezelfde PCB-bladvorm die we hebben ontworpen en alle labels en logo's zijn er om me te begeleiden tijdens de soldeerstappen.

Stap 4:Ingrediënten

Laten we nu de benodigde componenten voor dit project bekijken en u kunt alle gerelateerde links vinden voor een online bestelling, dus we hebben nodig:

  • - De PCB die we bij JLCPCB hebben besteld
  • - Arduino Nano:http://amzn.to/2C7g0YW
  • - ESP01-module:http://amzn.to/2CCRVdL
  • - HC-05 of HC-06 Bluetooth-module:http://amzn.to/2CCRVdL
  • - Lichtsensor BH1750:http://amzn.to/2CCRVdL
  • - Temperatuur- en vochtigheidssensor:http://amzn.to/2CCRVdL
  • - Vochtsensor:http://amzn.to/2CCRVdL
  • - Waterpomp:http://amzn.to/2CCRVdL
  • - 12V dc-ventilator:http://amzn.to/2CCRVdL
  • - witte LED's:http://amzn.to/2CCRVdL
  • - Sommige Header-connectoren:http://amzn.to/2CCRVdL-

Stap 5:De montage

Alle 9 items tonen

We zijn nu klaar, dus laten we beginnen met het solderen van de componenten en vergeet niet de labels te volgen om soldeerfouten te voorkomen. We beginnen met het solderen van de Arduino-connector om de voeding te testen en je kunt ook een basistestcode schrijven om de juiste verbinding voor elke sensor, zoals de lichtsensor, te verifiëren en het is hetzelfde voor de LED's omdat ze allemaal rechtstreeks op het bord zijn aangesloten (Arduino ) zodat je er volledige toegang toe hebt.

Opmerking :U dient uw soldeerbout mooi schoon te houden. Dat betekent dat je het elke keer dat je het gebruikt over de spons moet vegen. De punt van je soldeerbout moet schoon en glanzend zijn. Telkens wanneer u ziet dat de punt vuil wordt door vloeimiddel of oxideert, dat betekent dat hij zijn glans verliest, moet u hem schoonmaken. Ook als je aan het solderen bent. Het hebben van een schone soldeerpunt maakt het VEEL gemakkelijker om warmte naar het soldeerdoel over te brengen.

De PCB die we bij JLCPCB hebben besteld, zal u begeleiden om alles op de juiste plaats te houden, dus aarzel niet om deze link te bezoeken als u de PCB wilt bekijken die we hebben gemaakt en een online bestelling wilt doen.

Zoals je kunt zien, is het gebruik van deze print zo handig vanwege de kwaliteit en alle labels daar bieden je de beste begeleiding, zodat je 100% zeker bent dat je geen soldeerfouten maakt.

Ik heb elk onderdeel op zijn plaats gesoldeerd en je kunt beide kanten van de PCB gebruiken om elektronische onderdelen te solderen.

Nu hebben we de PCB klaar en alle componenten zijn heel goed gesoldeerd, daarna heb ik dit ontwerp voorbereid om een ​​CNC-lasersnede te maken om het elektronische onderdeel en de plant in één steun te plaatsen, dus als je hetzelfde ontwerp wilt maken als de mijne vind de (DXF) bestanden hier

Stap 6:De Android-app.

Met deze app kun je verbinding maken met je Arduino via Bluetooth, en met behulp van de handmatige modus heb je toegang tot de ventilatoren en lichten en ook de waterpomp voor AAN- en UIT-regeling, zonder de sensoren te vergeten waarmee je de gegevens kunt lezen door door op de knop "Gegevens ophalen" te drukken, worden alle relevante gegevens op het scherm van uw smartphone weergegeven.

Je kunt deze Android-app gratis krijgen via deze link

Stap 7:De Arduino-code en testvalidatie

de code is beschikbaar en zoals gewoonlijk kunt u deze downloaden via deze link. En zoals je op de foto's kunt zien, is de code zo eenvoudig en zeer goed becommentarieerd, dat je de code kunt begrijpen die van jou is.

Zoals je kunt zien, heeft elke knop een functionaliteit met het systeem, maar wat ik echt waardeer is de automatische modus voor de regeling van de lichthelderheid. Ik plaatste de lichtsensor aan de onderkant van het huis en wanneer we deze modus selecteren, zal het systeem de helderheid regelen van de voorlicht-LED's afhankelijk van de sensorsignalen. Ook kunnen we de temperatuur- en vochtigheidswaarden direct op het scherm van de smartphone aflezen, wat echt indrukwekkend is.

Code

  • Arduino-broncode
Arduino-broncodeArduino
/************************************************** ********************************************** ********************************************** ********************* * - Auteur :BELKHIR Mohamed * * - Beroep :(Ontwikkelaar) MEGA DAS-eigenaar * * - Hoofddoel :Industriële toepassing * * - Copyright (c) houder :Alle rechten voorbehouden * * - Licentie :BSD 2-Clause Licentie * * - Datum :20/11/2017 * * ******************** ********************************************** ********************************************** **********************************************/ / *********************************** NOTITIE ************** *************************/// Herdistributie en gebruik in bron- en binaire vorm, met of zonder// wijziging, is toegestaan ​​onder de volgende voorwaarden is voldaan:// * Herdistributies van de broncode moeten de bovenstaande copyrightvermelding, deze// lijst met voorwaarden en de volgende disclaimer bevatten.// * Herdistributies in binaire vorm moeten de abo weergeven ve copyright-kennisgeving,// deze lijst met voorwaarden en de volgende disclaimer in de documentatie// en/of ander materiaal dat bij de distributie wordt geleverd.// DEZE SOFTWARE WORDT GELEVERD DOOR DE HOUDERS EN BIJDRAGERS VAN HET AUTEURSRECHT "AS IS"// EN EVENTUELE UITDRUKKELIJKE OF IMPLICIETE GARANTIES, INCLUSIEF, MAAR NIET BEPERKT TOT, DE// IMPLICIETE GARANTIES VAN VERKOOPBAARHEID EN GESCHIKTHEID VOOR EEN BEPAALD DOEL WORDEN AFGEWEZEN/*________________________________________________________________________________________________ (`v)_________________________________________________________________________________________________(`()_________________________________________________________________(`()___________________________________________________)_() _)__(`())___________________________________________________________________________________________________(`v)(_.^._)________________________________________________________________________________________________(`())(`v)__________________________________________________________________________ ____________________________________(_.^._)(`())_____________________________________________________________________________________________(`v)_____ (_.^._)(`v)______________________________________________________________________________________________________ (`())_ (`v)___(`())_________________________________________________________________________________________ (_ .^._)_(`())___(_.^._)____________________________________________________________________________________________ (`v) (_.^._) (`v)_______________________________________________________________________________________________________(`())____(`())________________________________________________________________________________________________(_ .^._)_____(_.^._)________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ ___________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ _____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ __________________________________________________________ ____________________________________________ __________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________(`v)___________________________________________________________________________________________(`())________________________________________________________________________________________________ (_.^._)_________________________________________________________________________________________________ (`v)__________________________________________________________________________________________________ (`())_____________________________________________________________________________________________________________________ (`())_____________________________________________________________________________________________________________________ _________________________________(`v)________________________________________________________________________________________________(`())________________________________________________________________________________________________(_.^._)__________________________________________________________________________________________________________________________________________________________________________________ */#include "DHT.h" // Voeg de dht-bibliotheek toe om te communiceren met de DHT-sensor#include  // IC-bibliotheek om de lichtsensor te gebruiken #include  // Importeer BH1750-bibliotheek om de lichtsensor te kunnen gebruiken//------------------- ----------------------------- Definieer de stuurpennen ----------------- ---------------------------------------const int Pomp=4; // We hebben deze pin gebruikt om de motorpomp const int Fan=5 te regelen; // Gebruik deze pin als een PWM-uitgang om de Fan speedconst int Light =6 te regelen; // Gebruik deze pin om de LED-helderheidconst int TempHum =7 te regelen; // Invoerpin voor DHT-sensorconst int Moisture=8; // Digitale ingangspin om de vochtigheidsopdrachtsignalen te lezenconst int TestLED=9; // Gebruik deze uitgangspin om het juiste soldeersel op uw PCB te testen door de test-LEDsconst int Brightness=12 in en uit te schakelen; // Invoerpin om de lichtsensorsignalen te lezenconst int analogMoistue=0; // Analoge ingang om het analoge signaal van vochtsensor te lezen//------------------------------------ -------------------------------------------------- -------------------------------------------#define DHTTYPE DHT11 // DHT 22 (AM2302), AM2321DHT dht (TempHum, DHTTYPE); // Fabrikant van temperatuur- en vochtigheidssensor BH1750 lightMeter; // Lichtsensor constructorchar Data='x'; // Sla seriële gegevens op in deze variabeleString cmd=""; // Lees de volledige instructie die is verzonden vanaf de Android appint flagModeAuto=0; // vlag om de auto modeint sprayCMD=0 te activeren; // CMD limiet sprayint LightCMD=0; // CMD-limiet helderheidint lightLevelPlus=0; // Variabele om de helderheid van het licht te regelen float-temperatuur =0; // Variabele om de temperatuurwaarde op te slaan floatvochtigheid =0; // Variabele om de vochtigheid op te slaan valueuint16_t lux=0; // Variabele om de lichthelderheid van de lichtsensor te lezen//------------------------------------- ----------- Start de pinconfiguratie ----------------------------------- --------------------- ongeldige setup() { Wire.begin(); // Initialiseer de I2C-bus (BH1750-bibliotheek doet dit niet automatisch) dht.begin(); // Start de temperatuur- en vochtigheidssensor met het lezen van lightMeter.begin(); // Start de lichtsensor met het lezen van Serial.begin (9600); // Stel de baudrate in op 9600 BPS om te communiceren met de Android-app via Bluetooth Serial.setTimeout (100); // Stel de tijd in om op gegevens te wachten voordat de seriële poort wordt gesloten (na 100 ms) pinMode (Pump, OUTPUT); pinMode (ventilator, UITGANG); pinMode (Licht, UITGANG); pinMode (Vocht, INPUT); pinMode (TestLED, INPUT); vertraging (1000); digitalWrite (pomp, LAAG); digitalWrite (Ventilator, LAAG); digitalWrite (Licht, LAAG);}//---------------------------------------- -------- Start de Procescode -------------------------------------- ------------------void loop () { while (Serial.available ()) // Lees de seriële gegevens zodra deze beschikbaar zijn { delay (10); Data=Serial.read(); cmd+=Gegevens; } if(cmd=="dt") // Stuur de vochtigheidswaarde naar de Android-app {Serial.print(humidity); } if(cmd=="dh") // Stuur de helderheidswaarde naar de Android-app {Serial.print(lux); } if(cmd=="db") // Stuur de temperatuurwaarde naar de Android-app {Serial.print(temperature); } if(cmd=="o") // Activeer de automatische modus { flagModeAuto=1; } if(cmd=="m") // Schakel de automatische modus uit { flagModeAuto=0; } if(flagModeAuto==1) { autoPump(); lichtHelderheid(); auto fan(); } if(flagModeAuto==0) { if(cmd=="f") // Zet de VENTILATOR AAN {analogeWrite(Fan,255); } if(cmd=="x") // Zet de FAN UIT { analogWrite(Fan,0); } if(cmd=="l") // Zet de lichten AAN {analogalWrite(Light,255); } if(cmd=="k") // Zet de lichten UIT {analogeWrite(Light,0); } if(cmd=="w") // Zet de pomp AAN { analogWrite(Pump,255); } if(cmd=="y") // Zet de pomp UIT { analogWrite(Pump,0); } } cmd=""; // Wis de cmd-variabele om deze beschikbaar te maken voor de volgende instructie lux =lightMeter.readLightLevel(); // Haal het helderheidsniveau van de lichtsensor temperatuur=dht.readTemperature(); // Haal de temperatuurwaarde op van de DHT-sensor (C) vochtigheid=dht.readHumidity(); // Haal de vochtigheidswaarde van de DHT-sensor (%)}//---------------------------------- -------------- Automatische regelfunctie voor pompspray ------------------------------ --------------------------void autoPump() {if(analogRead(analogMoistue)30) { analogWrite(Fan,255); // Zet de ventilator AAN als de temperatuur hoger is dan 30C } else { analogWrite (Fan,0); // Zet de ventilator UIT als de temperatuur hoger is dan 30C }}

Aangepaste onderdelen en behuizingen

dxf_mdf_5mm_s0PEHuez4w.rar

Schema's


Productieproces

  1. Maak Monitor Ambilight met Arduino
  2. Arduino Pong Game - OLED-scherm
  3. Audiofrequentiedetector
  4. Arduino Tamagotchi Clone - Digital Pet
  5. Draadloze lichtschakelaarmanipulator
  6. Tech-TicTacToe
  7. Bewegingssensor-waterpistool
  8. Arduino Countdown Timer
  9. Arduino-zonnebloem:een elektronische zonnedanser
  10. RC Porsche Car (Arduino Project)
  11. Robot voor supercoole indoornavigatie