INHOUDSOPGAWE:

Arduino plantbesproeier, kodevry: 11 stappe
Arduino plantbesproeier, kodevry: 11 stappe

Video: Arduino plantbesproeier, kodevry: 11 stappe

Video: Arduino plantbesproeier, kodevry: 11 stappe
Video: new sprinkler system/#shorts 2024, Julie
Anonim
Image
Image
Robotgrimering
Robotgrimering

In hierdie instruksies bou ons 'n waterrobot wat u plante bedags besproei as die grond droog genoeg word. Dit is 'n klassieke Arduino-gebaseerde projek, maar hierdie keer gebruik ons 'n visuele programmeertaal, XOD, wat die programmeringsproses baie eksplisiet maak.

Stap 1: Robotmake -up

'N Dompelwaterpomp lewer water aan die plant wanneer die grond droog is. Ons meet die vogvlak met 'n grondvogsensor.

Ons wil nie ons plant snags natmaak nie, dus kyk die ligsensor of dit bedags is.

Om die pomp se veilige werking te verseker, gebruik ons 'n ander grondvogsensor as 'n watervlak sensor.

Die visuele taal van die robot is lakonies: rooi LED beteken "daar is geen water nie, kan nie besproei word nie", groen LED beteken "ek werk, meet die omgewingsaanwysers, gereed om te besproei wanneer nodig".

'N Iskra Neo (Arduino Leonardo) bord bestuur alle modules.

Stap 2: Monteer elektroniese modules

Montering van elektroniese modules
Montering van elektroniese modules

Modules wat gebruik word:

  • Iskra Neo -bord (Arduino Leonardo)
  • Slotskerm
  • Grondvogsensor (x2)
  • Ligte sensor
  • LED module (x2)
  • Pomp
  • Stekker (6-9V DC)

Let op die kragtoevoerstroombaan:

  • Gebruik 'n trui om die V2 -bus op 'n slotskerm Vin -kragtoevoer te laat gebruik (direk uit die prop)
  • Plaas die MOSFET -module op enige V2 -gleuf met 'n V = P+ jumper aan
  • Maak seker dat ander modules die V1 -kragbus gebruik (wat Arduino se 5V is)

Die beste praktyk is om grondvogsensors deur nog 'n paar MOSFET's te lei en dit gereeld te lees om elektrolitiese roes te voorkom, maar laat ons hierdie robot eenvoudig hou.

Stap 3: Begrip van werkstroom

Werkstroom verstaan
Werkstroom verstaan

Ondersoek die diagram van onder na bo!

  • Die pomp word aangeskakel as aan die "klimaat" en "water" voorwaardes voldoen word
  • Watertoestand beteken dat daar genoeg water in die tenk is, as dit nie die geval is nie, skakel die "geen-water-LED" aan en word die gevolg van 'n samesmelting vir klimaat en watertoestande onwaar
  • Die klimaatstoestand is ook ingewikkeld: dit is waar as die grond- en helderheidstoestande waar is
  • Grondtoestand is gebaseer op vergelyking tussen die huidige grondvogvlak en 'n voorafbepaalde drempelwaarde Ligtbaarheidstoestand is soortgelyk aan die grondtoestand, maar meet eerder die helderheid

Stap 4: Verkryging van drempelwaardes

Die verkryging van drempelwaardes
Die verkryging van drempelwaardes

Sensordrempels (voorbeelddata, kan in u geval verskil):

  • Grondvog: 0,15
  • Helderheid: 0,58
  • Water: 0,2

Hoe om metings te neem (vir XOD -weergawes sonder seriële funksies):

  1. Laai Arduino IDE af en installeer dit
  2. Maak lêer-voorbeelde-01. Basics-AnalogReadSerial-voorbeeld oop
  3. Verander "vertraging (1);" "vertraag (250);"
  4. Koppel die bord. Maak seker dat u bordmodel en poort in die diensmenu gekies is
  5. Herhaal vir elke sensor:
  • Gaan die speldnommer na in "int sensorValue = analogRead (A0);" en verander A0 na A3 en A2 vir onderskeidelik helderheid en watersensors (as u u toestel volgens die skema saamgestel het)
  • Laai die skets op Open Service-Serial Monitor, maak seker dat 9600 baud in die keuselys regs onder gekies is en kyk hoe lewendige metings verander terwyl u die omgewing van die sensor aanpas
  • Kies 'n waarde tussen geregistreerde minimum en maksimum (nader aan minimum vir die helderheidsensor), deel dit met 1023 en gebruik die resultaat in u pleister

Stap 5: Basiese beginsels van XOD

XOD Basics
XOD Basics
  • Laai die XOD IDE af en installeer dit
  • 'N XOD -program word 'n pleister genoem; ons bou dit in die gebied met 'n aantal rye met gleuwe aan die regterkant.
  • By die eerste bekendstelling kan u 'n ingeboude tutoriaalvlek raakloop.
  • Die pleister bestaan uit knope, verbind met skakels deur die penne.
  • Elke node verteenwoordig 'n fisiese toestel/sein of 'n data -item, terwyl skakels die datavloei beheer.
  • Dubbelklik op enige leë spasie van die pleister of druk op die "i" -knoppie om 'n vinnige soekkassie oop te maak waar nodes met hul name of beskrywings gevind kan word.
  • Gebruik die projekblaaier links bo om die kolle te verken.
  • Kies 'n knoop en bekyk/wysig die eienskappe daarvan in die inspekteur links onderaan.
  • Om self XODing te probeer, klik op File-New Project en skep 'n leë pleister.
  • U kan na die tutoriaal terugkeer wanneer u wil deur die Help -menu oop te maak.

Stap 6: Besproeiingspatch

Besproeier pleister
Besproeier pleister

Gebruik die pleister (basic-irrgator.xodball) of bou dit self volgens die diagram.

Let op dat die verskafde pleister reeds geskep is, sodat 'n paar nodusse in die IDE opgedateer is:

  • "analoog-invoer" -knope word nou verval, gebruik eerder "analoog-lees"
  • 'geleide' knoop het nou meer funksies

Alhoewel die drempels slegs konstante getalle is, plaas ek dit nie in die eiendomsvelde van die vergelykingsnodes nie, maar voeg ek eksplisiete konstanteknope toe om te beklemtoon dat hierdie waardes anders geëvalueer kan word. Daar kan byvoorbeeld 'n mobiele toepassing wees wat die eienaar in staat stel om hierdie waardes aan te pas, so daar is 'n ander 'haal uit app'-knoop in plaas van hierdie konstanteknoopknope.

Stap 7: Ontplooiing

Ontplooiing
Ontplooiing
  • As die pleister gereed is, klik op Implementeer, Laai op na Arduino.
  • Koppel die bord.
  • Kontroleer die bordmodel en die seriële poort in die keuselyste, en klik dan op Laai op.
  • Dit kan 'n rukkie neem; Internetverbinding is nodig.
  • As u die blaaier XOD IDE gebruik, gebruik Arduino IDE om die program op die bord op te laai.
  • Verken die XOD -forum as u probleme ondervind met die oplaai van die pleister

Stap 8: Konstruksietyd

Konstruksietyd
Konstruksietyd

Gebruik enige geskikte onderdele om die robot se omhulsel of ontwerp te maak en druk dit self in 3D. In die ergste geval, laat sak die pomp en die sensor in die watertenk en steek die grondsensor vas waar dit hoort. Oorweeg om 'n gordyn vir die helderheidssensor te maak, want ons LED's kan die sensor verblind en dit kan die nag verkeerd beoordeel.

Stap 9: Plasing van watervlak sensor

Watervlak sensor plasing
Watervlak sensor plasing

As u 'n grondvogsensor gebruik om die watervlak te kontroleer, moet u seker maak dat die goue laag bo water is, en dat die punte van die water vroeër as die boonste kant van die pomp sal misloop.

Stap 10: Toets

As u robot gereed is, word drempels gemeet en in die pleister gekodeer, en laasgenoemde word op die bord gelaai, dit is tyd om alle moontlike gevalle te toets.

  • Maak die watervlaksensor droog. Slegs die rooi LED moet brand. Selfs as die grond droog is en die kamer terselfdertyd verlig word, moet die pomp nie begin nie.
  • Voeg nou die water by, maar bedek eers die helderheidssensor om seker te maak dat droë grond en teenwoordigheid van water die robot nie in die nag laat besproei nie.
  • Laat die robot u plant uiteindelik natmaak. Dit moet stop as die grond klam genoeg is.
  • Haal die grondsensor uit om die besproeiing te herhaal (net om seker te wees).

Stap 11: Geniet en verbeter

Geniet en verbeter
Geniet en verbeter

Noudat die basiese besproeier voltooi is, oorweeg 'n paar verbeteringsopsies:

  • Draai die grondvogsensors weer om korrosie te voorkom
  • Voeg ander omgewingsmetings by, bv. lugvogtigheid
  • Maak 'n real-time skedule
  • Plaas die robot aanlyn om dit op afstand te monitor en te beheer

Aanbeveel: