Garduino: Tuinieren + Arduino (11 / 14 stap)

Stap 11: Garduino controle geven


Nu heb je alles gebouwd, is het tijd om te laten Garduino los op de vrienden van uw plant. Hier is de code die ik gebruikt:

omvatten de datetime-bibliotheek, zodat onze garduino kan bijhouden van hoe lang de lichten zijn op
#include < DateTime.h >

definiëren van analoge ingangen waarop wij onze sensoren hebben aangesloten
int moistureSensor = 0;
int lightSensor = 1;
int tempSensor = 2;

definiëren van digitale uitgangen waarnaar we connecte onze Relais (water en licht) en LED (temperatuur hebben)
int waterpomp = 7;
int lightSwitch = 8;
int timalia = 2;

variabelen voor het opslaan van vocht, licht en temperatuur waarden definiëren
int moisture_val;
int light_val;
int temp_val;

beslissen hoeveel uren van licht uw planten dagelijks moeten krijgen
zweven hours_light_daily_desired = 14;

gewenste uren van licht totale en aanvullend dagelijks op basis van bovenstaande waarden berekenen
zweven proportion_to_light = hours_light_daily_desired / 24;
zweven seconds_light = 0;
float proportion_lit;

instellen van een variabele om te slaan seconden sinds arduino ingeschakeld
float start_time;
float seconds_elapsed;
float seconds_elapsed_total;
float seconds_for_this_cycle;

VOID Setup {}
seriële poort openen
Serial.begin(9600);
instellen van het water, licht en temperatuur pinnen als uitgang die zijn uitgeschakeld
pinMode (waterpomp, OUTPUT);
pinMode (lightSwitch, OUTPUT);
pinMode (tempLed, uitvoer);
digitalWrite (waterpomp, laag);
digitalWrite (lightSwitch, laag);
digitalWrite (tempLed, laag);

stellen van de begintijd
start_time = DateTime.now();
seconds_elapsed_total = 0;

}
void loop {}
luiden naar de waarde van de vocht-sensing sondes, af te drukken op het scherm en wacht een seconde
moisture_val = analogRead(moistureSensor);
Serial.Print ("vocht sensor leest");
Serial.println (moisture_val);
delay(1000);
luiden naar de waarde van de photosensor, af te drukken op het scherm en wacht een seconde
light_val = analogRead(lightSensor);
Serial.Print ("lichtsensor leest");
Serial.println (light_val);
delay(1000);
luiden naar de waarde van de temperatuursensor, af te drukken op het scherm en wacht een seconde
temp_val = analogRead(tempSensor);
Serial.Print ("temp sensor leest");
Serial.println (temp_val);
delay(1000);
Serial.Print ("seconden totaal =");
Serial.println (seconds_elapsed_total);
delay(1000);
Serial.Print ("seconden verlicht =");
Serial.println (seconds_light);
delay(1000);
Serial.Print ("deel gewenst =");
Serial.println (proportion_to_light);
delay(1000);
Serial.Print ("percentage bereikt =");
Serial.println (proportion_lit);
delay(1000);

Zet water op wanneer de bodem droog is en uitstellen tot het moment dat de bodem nat is
Als (moisture_val < 850)
{
digitalWrite (waterpomp, hoge);
}

terwijl (moisture_val < 850)
{
delay(10000);
Dankzij JoshTW voor de volgende, belangrijke correctie
moisture_val = analogRead(moistureSensor);
}

digitalWrite (waterpomp, laag);

bijwerken van tijd en seconds_light te verhogen als de lichten op
seconds_for_this_cycle = DateTime.now() - seconds_elapsed_total;
seconds_elapsed_total = DateTime.now() - start_time;
Als (light_val > 900)
{
seconds_light = seconds_light + seconds_for_this_cycle;
}

bewolkte dagen die weer zonnig: uitschakelen van lichten terug als light_val meer dan 900. Dit werkt b/c de aanvullende lichten zijn niet zo helder als de zon:)
Als (light_val > 900)
{
digitalWrite (lightSwitch, laag);
}

uitschakelen van lichten als proportion_lit > proportion_to_light, en wacht vervolgens 5 minuten
Als (proportion_lit > proportion_to_light)
{
digitalWrite (lightSwitch, laag);
vertraging (300000);
}

erachter te komen welk percentage van de tijd verlichting geweest op
proportion_lit = seconds_light/seconds_elapsed_total;

verlichting inschakelen als light_val minder dan 900 is en planten licht minder dan gewenste deel van de tijd hebben, dan wacht 10 seconden
Als (light_val < 900 en proportion_lit < proportion_to_light)
{
digitalWrite (lightSwitch, hoge);
delay(10000);
}

temp alarm licht inschakelen als temp_val minder dan 850 (ongeveer 50 graden Fahrenheit is)
Als (temp_val < 850)
{
digitalWrite (tempLed, hoge);
}

}

Opmerking de opneming van de datetime-bibliotheek, die u vanaf installeren kunt hier. De inhoud van het bestand in de map bibliotheken voor de arduino map plaatsen en je moet goed om te gaan.  Zie het Leesmij-bestand in de download als u problemen tegenkomt.

Toezicht moet aanzienlijk worden verbeterd, zoals ook Garduino moeten zitten niets doen de meeste van de tijd wanneer het goed werkt. U moet zitten kundig voor trekken de sensoren van de vocht uit de bodem en hebben ze binnen een paar seconden inschakelen (lucht = 0 geleidendheid tussen hen), maar u kunt dit niet met de lichtsensor: het gewoon proberen om in te schakelen voor 16 uur per etmaal. Op dit moment krijgt je Arduino aansluiten op de computer en vervolgens de controle van de seriële poort u enkele betekenisvolle feedback. Maar, dit is de tijdteller terugstellen aan 0, dus je krijgt niet elke nuttige historische gegevens, tenzij u de Garduino met een computer verbonden tijdens de periode die u wilt controleren...

Gerelateerde Artikelen

Blad licht: Een binnentuin Monitor

Blad licht: Een binnentuin Monitor

Heb je ooit moeite een plant om levend te houden? Gewenst dat uw plant u kon vertellen of dit nodig worden gedrenkt of een beetje dichter naar het venster? Bouw een blad licht voor uw kamerplanten zodat u kunt vertellen als ze genoeg licht en water k
Garduino de Upgrade, nu met meer Twitter!

Garduino de Upgrade, nu met meer Twitter!

Een paar maanden geleden kwam ik twee grote instructables.  De eerste was de Garduino, een arduino gecontroleerd tuin om u groeien planten thuis te helpen.  De tweede was de Tweet-a-Watt, een project dat u leert om te controleren uw binnenlandse ener
Computergesteund plant zorgsysteem

Computergesteund plant zorgsysteem

Hallo iedereen,UPDATE 10/25/2014: Planterbot-de-Plant-Monitoring-Robot / (met grote dank aan appleman123987!!!).Dit is een update aan mijn vorige post, "eenvoudig & goedkope auto-groeien systeem" - die niet de computer hebben daarop nog (Lee
Tuinieren-Garduino-Automated System

Tuinieren-Garduino-Automated System

dit instructable is een gids voor het opzetten van een geautomatiseerd tuinieren systeem met behulp van een arduino en andere goedkope elektronische onderdelen.  Daardoor duurzame tuinieren met behulp van sensoren om te bepalen van bodemvocht, evenal
Bodem vocht Meter Detection module voor Arduino tuinieren

Bodem vocht Meter Detection module voor Arduino tuinieren

Hallo kerels,Gedetecteerde bodem sensor met behulp van arduino die helpt om de conditie van de grond voor het planten en tijdens het planten water geven programma gemaakt hebben.Hoop dat u zijn geholpen met dit instructable.CheersStap 1: Met behulp v
Aruduino tuinieren

Aruduino tuinieren

het doel van dit project was om te bouwen van een geautomatiseerde Arduino tuinieren installatie.  Mij troep opwaarts temperatuur, licht en vocht sensoren in de bodem.  Het heeft ook een solenoïde, die wordt geopend wanneer het bodemvocht zakt tot on
De Plant Arm - Upgrade van de Garduino

De Plant Arm - Upgrade van de Garduino

Hallo iedereen,UPDATE: de plant arm basicIk heb eindelijk mijn garduino plant arm upgrade klaar en kan niet wachten om het te delen met de Gemeenschap..! te halen met mijn werk-Lees het hoofdartikel over dit onderwerp de Plant Arm eerst. Dit product
Multifunctionele hydrocultuur en bodem tuinieren oplossing

Multifunctionele hydrocultuur en bodem tuinieren oplossing

Ik heb al een soortgelijke gepubliceerd instructable en dit is een beperkte versie van hetzelfde omdat het voelde een beetje te ingewikkeld voor sommigen. Hier gaan we...IntroductieVeel mensen denken over het starten van tuinieren als een hobby en so
10 $ draagbare Arduino weerstation (AWS)

10 $ draagbare Arduino weerstation (AWS)

Mijn school had onlangs een kleine wetenschap tentoonstelling.Dus ik werd gevraagd door mijn leraar om een project in het college om te leren van jonge studenten over elektronica dus eigenlijk had ik twee dagen te maken sommige ding.Zoals de klimatol
Eenvoudige Start van Indoor Tuinieren met hydroMazing

Eenvoudige Start van Indoor Tuinieren met hydroMazing

Als u ooit hebt willen groeien planten zoals kruiden, Groenen, aardbeien en tomaten thuis maar dacht dat het zou zult manier te duur en te hard dan u willen lezen op. Moet u nog meer informatie over de grondbeginselen van de zorg van de plant, maar u
Intel geautomatiseerd tuinieren-systeem

Intel geautomatiseerd tuinieren-systeem

Hallo iedereen!Dit is mijn eerste Instructabe op Intel Edison. Dit instructable is een gids voor het maken van een geautomatiseerd drenken (druppelirrigatie) systeem voor kleine potplanten of kruiden met behulp van een Intel Edison en andere goedkope
Arduino gecontroleerd Relay vak

Arduino gecontroleerd Relay vak

dit project is ontworpen om te helpen u bouwen sommige dozen estafette voor het beheersen van de macht van uw stopcontact met behulp van een arduino of microcontroller.  De inspiratie voor het schrijven van een instructable kwam toen ik besloot om te
Simple Arduino gecontroleerd Aquaponic System

Simple Arduino gecontroleerd Aquaponic System

dit instructable bestrijkt bepaalde aspecten van de bouw van een aquaponic systeem. Ik gebruik een arduino-micocontroller voor het regelen van de frequentie van systeem fietsen.Als u een te bouwen een aquaponic systeem, andere instructables, blogs, b
Arduino voor broeikasgassen, de tuin of de Growbox / bijgewerkt April 2016

Arduino voor broeikasgassen, de tuin of de Growbox / bijgewerkt April 2016

Mij zijn geweest using Attiny chips voor irrigatie taken in mijn tuin, maar met plannen om te bouwen van een serre, een Arduino leek te zijn de weg te gaan, aangezien er meer poorten. Ik weet het, er zijn vele 'Garduino' type projecten reeds, met inb