Inhoudsopgave:
- Benodigdheden
- Stap 1: Installatie
- Stap 2: Code toevoegen voor bodemsensor
- Stap 3: Neopixel-bibliotheek
- Stap 4: Neopixel-code instellen
- Stap 5: Installatie ongeldig maken
- Stap 6: Void Loop
- Stap 7: Controleer
Video: Bodemvochtiger met knoop - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:16
In deze handleiding laat ik je zien hoe je een zelfgemaakte bodemsensor maakt voor het gardenhealth systeem. Ik zal je laten zien wat je nodig hebt, enkele codevoorbeelden geven en hoe je de code kunt implementeren.
Aan het einde van de handleiding weet je hoe je de kleur van een ledstrip kunt veranderen als de grond nat, een beetje nat of droog is.
In deze handleiding gebruik ik:
- Arduino-versie 1.8.9
- De Adafruit_NeoPixel.h-bibliotheek
Benodigdheden
Je hebt nodig:
- NodeMCU 1.0 (ESP-12E-module)
- 1 vrouwelijke naar vrouwelijke kabel
- Een LED-strip
- (Optioneel) Homade bodemsensor (Bekijk de video hierboven tot 00:36)
Stap 1: Installatie
- Neem je node en je bodemsensor.
- Sluit de bodemsensor aan op A0. (Foto 1) (neem ook een gestripte vrouwelijke kabel en sluit deze aan op A0 (Foto 3)
Pak je LED strip en zet GND in G, 5V op 3V en de middelste kabel in D5.(Foto 2)
Nu zal het er ongeveer uitzien als de laatste foto.
Stap 2: Code toevoegen voor bodemsensor
- Maak een nieuw project in arduino IDE
- Past in de volgende code:
/* Analoge ingang, analoge uitgang, seriële uitgang
Leest een analoge ingangspen, wijst het resultaat toe aan een bereik van 0 tot 255 en gebruikt het resultaat om de pulsbreedtemodulatie (PWM) van een uitgangspen in te stellen. Drukt de resultaten ook af naar de seriële monitor.
De schakeling: - potentiometer aangesloten op analoge pen 0. Middelste pen van de potentiometer gaat naar de analoge pen. zijpinnen van de potentiometer gaan naar +5V en aarde - LED aangesloten van digitale pin 9 naar aarde
aangemaakt 29 dec. 2008 gewijzigd 9 apr 2012 door Tom Igoe
Deze voorbeeldcode bevindt zich in het publieke domein.
www.arduino.cc/en/Tutorial/AnalogInOutSeri… *
/ Deze constanten veranderen niet. Ze worden gebruikt om namen te geven aan de gebruikte pinnen: const int analogInPin = A0; // Analoge ingangspen waarop de potentiometer is bevestigd const int analogOutPin = D5; // Analoge uitgangspin waaraan de LED is bevestigd
int sensorWaarde = 0; // waarde gelezen uit de pot
void setup () {// initialiseer seriële communicatie op 9600 bps: Serial.begin (9600); }
void loop () {// lees de analoge in waarde: sensorValue = analogRead (analogInPin);
// print de resultaten naar de seriële monitor: Serial.print("sensor = "); Serial.print(sensorValue); Serieel.print("\n"); // Serial.println (outputValue);
// wacht 1 milliseconden voor de volgende lus voor de analoog-naar-digitaal // converter om te regelen na de laatste meting: vertraging (1000); }
Nu kunt u controleren of uw sensor een waarde geeft.
Raak het uiteinde van de schroef of de kabel aan en je ziet zoiets als foto 1
Als het niet werkt, controleer dan uw kabels. Zijn ze correct aangesloten?
Stap 3: Neopixel-bibliotheek
-
Download de adafruit_neopixel-bibliotheek (als je dat nog niet hebt gedaan).
- Ga naar tools>beheren bibliotheken
- zoek naar adafruit neopixel foto 1
- Installeer versie 1.2.5
Stap 4: Neopixel-code instellen
-
Voeg het volgende toe bovenaan uw project:
- #erbij betrekken
- #erbij betrekken
- #include "Adafruit_NeoPixel.h"
- Daaronder:
char ssid = "SSID"; // uw netwerk-SSID (naam)
char wachtwoord = "wachtwoord"; // uw netwerkwachtwoord
En daaronder
#define PIXEL_PIN D5#define PIXEL_COUNT 30 //wijzig hoe veel led's op je strip staan
#define PIXEL_TYPE NEO_GRB + NEO_KHZ800
Adafruit_NeoPixel-pixels = Adafruit_NeoPixel (PIXEL_COUNT, PIXEL_PIN, PIXEL_TYPE);
Stap 5: Installatie ongeldig maken
Zet de volgende code in de voide setup ()
pixels.begin(); // INITIALISEREN NeoPixel stripobject (VEREIST)pixels.show(); // Schakel alle pixels zo snel mogelijk UIT
pixels.setBrightness(50); // moet tussen 0 en 255 zijn als u wilt dat de ledstrip helderder is, kunt u het aantal verhogen
Stap 6: Void Loop
In de lege lus () en onder de vertraging (1000); voer de volgende code in
if (sensorValue == 0 || sensorValue <= 200) {
for(int i=0; i
pixels.setPixelColor(i, 255, 0, 0);
pixels.show();
}
}else if (sensorValue > 200 || sensorValue <= 500) {
voor (int i=0; i
pixels.setPixelColor(i, 0, 255, 0);
pixels.show();
}
} else if (sensorValue > 500) {
for(int i=0; i
pixels.setPixelColor(i, 0, 0, 255);
pixels.show();
}
}
}
Stap 7: Controleer
Gefeliciteerd! Je hebt zojuist een systeem gemaakt dat kan aangeven of de grond nat of droog is.
Wanneer u de sensor nu in natte grond plaatst, wordt de LED groen en wanneer deze zich in droge grond bevindt, wordt deze rood. Zoals de afbeeldingen hierboven.
Aanbevolen:
Aan de slag met draadloze temperatuur- en trillingssensoren met groot bereik: 7 stappen
Aan de slag met draadloze temperatuur- en trillingssensoren met groot bereik: Soms zijn trillingen de oorzaak van ernstige problemen in veel toepassingen. Van machineassen en lagers tot de prestaties van de harde schijf, trillingen veroorzaken schade aan de machine, vroegtijdige vervanging, lage prestaties en veroorzaken een grote aanslag op de nauwkeurigheid. Toezicht houden
Digitale klok met netwerktijd met behulp van de ESP8266: 4 stappen (met afbeeldingen)
Digitale netwerkklok met de ESP8266: we leren hoe we een schattige kleine digitale klok kunnen bouwen die communiceert met NTP-servers en de netwerk- of internettijd weergeeft. We gebruiken de WeMos D1 mini om verbinding te maken met een wifi-netwerk, de NTP-tijd te verkrijgen en deze weer te geven op een OLED-module. De video hierboven
DIY slimme weegschaal met wekker (met wifi, ESP8266, Arduino IDE en Adafruit.io): 10 stappen (met afbeeldingen)
DIY Slimme Weegschaal Met Wekker (met Wi-Fi, ESP8266, Arduino IDE en Adafruit.io): In mijn vorige project ontwikkelde ik een slimme weegschaal met Wi-Fi. Het kan het gewicht van de gebruiker meten, het lokaal weergeven en naar de cloud sturen. U kunt hier meer informatie over krijgen op onderstaande link: https://www.instructables.com/id/Wi-Fi-Smart-Scale-wi
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
Start uw diavoorstelling met vakantiefoto's met een vleugje magie! 9 stappen (met afbeeldingen)
Lanceer uw diavoorstelling met vakantiefoto's met een vleugje magie!: In de loop der jaren heb ik de gewoonte ontwikkeld om een klein beeldje mee te nemen op reis: ik koop vaak een kleine, lege artoy (zoals die op de foto) en verf het past bij de vlag en het thema van het land dat ik bezoek (in dit geval Sicilië). T