WIFI plant controlesysteem op basis van Arduino MEGA en ESP8266 (3 / 4 stap)

Stap 3: Het toevoegen van een sensor aan de fundamentele schets


Als eenmaal begrepen hoe de basis code werkt, kunnen we toevoegen een sensor en het verzenden van gegevens naar Thingspeak. Wij hebben gekozen om toe te voegen een grond vochtigheid sensor genoemd YL-69. Sluit het zoals aangegeven in de regeling van de Fritzing aangesloten in deze stap en plak het vervolgens in de bodem.

We gaan niet om te zien hoe voeg elke interne sensor gebruikt in dit project, omdat in principe het is gewoon een kwestie van het procédé in deze stap * weergegeven.

Constante en variabelen nodig

Het eerste wat dat we gaan doen is het definiëren van een constante voor de pin gebruikt door de grond vochtigheid sensor. Vervolgens declareren we een string-variabele die nodig zijn voor het opslaan van de gegevens.

 #define soilMoisturePIN 0 // soil moisture sensor connected to Analog Pin 0 String soilMoist = ""; // sends soil moisture values 

De soilMoisture)

Nu hebben we een nieuwe functie die eigenlijk zet analoge waarden van de grond vochtigheid sensor in een percentage en vervolgens omgezet in tekenreeksen toevoegen. Als u van de vorige stap weten moet, accepteert Thinkspeak alleen tekenreeksen, dus deze conversie strikt vereist is.

 String soilMoisture (){ float moisture; char moisture_c[6]; //calculates the percentage of soil moisture moisture = analogRead(soilMoisturePIN); moisture = 100*(1-(moisture)/1023); dtostrf(moisture, 0, 1, moisture_c); //converts floats to strings return (String) moisture_c; } 

Hoe vindt deze omzetting plaats? Het is vrij eenvoudig. Verklaar een array van de char 6 elementen en converteer vervolgens praalwagens met behulp van de functie dtostrf.

dtostrf heeft de volgende syntaxis:

 dtostrf (float_to_convert, minimum_length_of_the_string, decimal_significant_digits, the_string_array_previously_made); 

Natuurlijk, zal uw functies hebben om een tekenreeks te retourneren.

Opmerking: bodemvocht is 0% wanneer de sensor geeft 1023 en 100% 0, geeft jou kunnen afwijken!

Verzenden van gegevens naar Thingspeak

De functie upadateValues is in wezen zoals gezien in de vorige stap. In feite, we alleen de waarde hebt gewijzigd van valuetosend naar moisture_cte sturen.

 void upadateValues(String moisture_c){ String cmd = "AT+CIPSTART=\"TCP\",\""; cmd += IP; cmd += "\",80"; esp8266.println(cmd); delay(2000); if(esp8266.find("Error")){ Serial.print("Error1"); return; } cmd = GET + GET1; cmd += moisture_c; cmd += "\r\n"; Serial.print(cmd); esp8266.print("AT+CIPSEND="); esp8266.println(cmd.length()); if(esp8266.find(">")){ esp8266.print(cmd); }else{ esp8266.println("AT+CIPCLOSE"); } } 

connectWiFi verandert helemaal niet.

Setup en lus functies

Deze twee functies verschillen alleen een klein beetje van die eerder gezien.

In de setup vinden we een extra lijn die nodig zijn om de grond vochtigheid sensor geïnitialiseerd.

 pinMode(soilMoisturePIN, INPUT); 

In de lus gewoon bellen wij terug soilMoisture en upadateValues. De eerste functie detecteert en het vochtgehalte, naar de tweede men stuurt het naar ThingSpeak berekent.

 void loop(){ soilMoist = soilMoisture(); upadateValues(soilMoist); delay(5000); } 

* Opmerking: onze laatste schets bevat een functie met de naam getValue , die vereist is voor het splitsen van de snaren van DHT22. Deze operaties heet Basisvormherkenning. Neem contact op de Deze pagina voor meer info over.

Gerelateerde Artikelen

28BYJ-48 Stepper Motor controlesysteem op basis van Arduino met ULN2003 Chip

28BYJ-48 Stepper Motor controlesysteem op basis van Arduino met ULN2003 Chip

ICStation Team u kennismaken met deze stappenmotor -controlesysteem op basis van ICStation UNO compatibel met Arduino. Het gebruikt ULN2003-chip om te rijden. De spanning van de werken is DC5V. Het wordt op grote schaal gebruikt op de ATM-machine, in
Timing van de lichtgevoelige infrarood LED controlesysteem op basis van Arduino

Timing van de lichtgevoelige infrarood LED controlesysteem op basis van Arduino

ICStation Team kennismaken u met deze Photosensitive timing infrarood LED controlesysteem. Dit systeem gebruikt DC5V spanning om te werken. Wanneer de intensiteit van het licht zwak is en iemand in het infrarood gebied verschijnt, zullen de LED op. T
Eenvoudige rekenmachine op basis van Arduino MEGA

Eenvoudige rekenmachine op basis van Arduino MEGA

Tegenwoordig is doen berekeningen geen probleem bij allen. Krachtige rekenmachines kunnen worden gekocht voor een paar Euro of gemakkelijk geïnstalleerd op telefoons en computers. Echter besloten hebben we om te zetten van onze Arduino in een rekenma
DIY temperatuur & vochtigheid & rookmelder Alarm systeem op basis van Arduino

DIY temperatuur & vochtigheid & rookmelder Alarm systeem op basis van Arduino

ICStation team u introduceren hoe DIY deze temperatuur & luchtvochtigheid & rook alarmsysteem op basis van ICStation Mega 2560 compatibel met Arduino.The werkende spanning van dit systeem DC5V is. Het kan meten de huidige temperatuur, vochtigheid
NRF24L01 draadloos toetsenbord gegevens overdracht systeem op basis van Arduino

NRF24L01 draadloos toetsenbord gegevens overdracht systeem op basis van Arduino

ICStation Team u dit draadloze transmissie-systeem op basis van ICStation Mega 2560 en compatibel met Arduino UNO R3 introduceren. Het maakt gebruik van DC5V werkende spanning. Als er iemand op de toetsen te drukken, worden de waarde van de sleutels
Soldeer station gemaakt door mijzelf op basis van Arduino

Soldeer station gemaakt door mijzelf op basis van Arduino

Hallo! Zodra ik sprak over het soldeer station op de Arduino en onmiddellijk overdonderd me vragen (hoe? / waar? / wanneer?). Gezien de massa van aanvragen, besloten heb ik om schrijf een recensie van eenvoudige soldeer station (alleen soldeerbout) o
Biofeedback apparaat op basis van Arduino

Biofeedback apparaat op basis van Arduino

Hier presenteer ik een Open bron Biofeedback apparaat die ik bouwen op basis van Arduino. Je lichaamstemperatuur kan meten met een IR-sensor, GSR en u kunt andere apparaten aansluiten met wisselende sinus Toon uitgang, bijvoorbeeld de Thoughtstream U
3 fase sinusgolf generator op basis van Arduino Due

3 fase sinusgolf generator op basis van Arduino Due

het doel van dit aandeel is om iemand die probeert te gebruiken de inachtneming te helpen meer performance + gebrek aan referentie + niet-nuttige gegevensblad.Dit project is het kundig voor het genereren van maximaal 3 fase sinusgolf @ 256 monsters /
Automatische ijsemmer leverancier op basis van Arduino

Automatische ijsemmer leverancier op basis van Arduino

Afgelopen vrijdag enkele ingenieurs uit DFRobot nam hun de Ice Bucket Challenge om het bewustzijn voor ALS. We besloten om het te doen in een maker manier met een leverancier van automatische ijsemmer op basis van Arduino.And zijn we alle makers over
Op afstand gecontroleerde Multifunction scorebord op basis van Arduino, ESP8266 en uPanel firmware: interface ontwikkeling

Op afstand gecontroleerde Multifunction scorebord op basis van Arduino, ESP8266 en uPanel firmware: interface ontwikkeling

De oplossing hier gebruikt om op afstand controle Arduino door middel van ofwel smartphoneof tablet in plaats van drukknoppen, displays, etc. geldt voor vele projecten waarin de microcontroller worden gecontroleerd op afstand, moet dus de toepassing
Glas van computers op basis van Arduino Uno

Glas van computers op basis van Arduino Uno

Aan mijn meesters graduate project ("Gowing Computers, aansluiten van organen, knippen het snoer") van Konstfack College van kunstnijverheid en Design (keramiek en glas/CRAFT) heb ik gemaakt 3 glazen computers op basis van de specificaties van d
Pixel verzonden teller op basis van Arduino

Pixel verzonden teller op basis van Arduino

Vele malen, gebruik we vaak van LCD zoals weergaveapparatuur, van kleine temperatuur monitoren tot grote industriële apparatuur.Het grappige ding in dit project is dat het combineert twee rode LED Matrices als vertoning. U hoeft geen andere apparaten
Hoe mBlock om software te gebruiken voor het programmeren van het intelligente Corridor licht circuit op basis van Arduino

Hoe mBlock om software te gebruiken voor het programmeren van het intelligente Corridor licht circuit op basis van Arduino

mBlock is een grafische programmering omgeving die speciaal is ontworpen voor beginners om gemakkelijk naar programma Arduino projecten en het maken van interactieve toepassingen. mBlock ondersteunt overvloedige hardware:Arduino UNOArduino Leonardo p
Hoe maken PS2 toetsenbord lezen weergeven systeem op basis van Arduino

Hoe maken PS2 toetsenbord lezen weergeven systeem op basis van Arduino

ICStation Team u kennismaken met deze PS2 toetsenbord Lees weergavesysteem in details. De bedrijfsspanning van PS2 toetsenbord lezen weergavesysteem is DC 5V. Wanneer u de toetsen letters of cijfers, wordt de LCD1602 dienovereenkomstig wordt weergege