- Type berøringssensorer
- Hvordan detekteres et strejf af planten?
- Materialer, der er nødvendige for at bygge vores farveændrende plantevase
- Kredsløbsdiagram for berøringsbaseret farveændrende Arduino-plante
- Arduino-program til at opdage berøring af planter og ændre LED-farve
I denne artikel lærer vi, hvordan man bygger et berøringsbaseret farveændringsanlæg ved hjælp af Arduino. Når du rører ved planten, vil farven på plantevasen automatisk ændre sig. Dette er et dejligt indendørs dekorativt projekt og også et lille hobbyprojekt for begyndere at bygge og lære nogle interessante ting. Tidligere har vi også bygget en berøringsbaseret musikafspiller ved hjælp af Arduino, som fungerer på et lignende princip, du kan også tjekke dem ud.
Når vi nu siger berøringsbaserede planter, er et almindeligt spørgsmål, der kan dukke op, hvordan kan et elektronisk kredsløb detektere det menneskelige berøring gennem en plante. I dag er berøringsfølsomme enheder overalt omkring os. vi kan se berøringsskærme i vores smartphones og også i forskellige typer apparater. Berøringsføleren er simpelthen som en kontakt, når nogen berører berøringsføleren, lukker sensoren et elektronisk kredsløb og tillader strømmen af strøm.
Type berøringssensorer
Fra mobiltelefoner til smarte automater kan vi i dag finde berøringssensorer i alle moderne enheder. Berøringssensorer er hovedsageligt af to typer, nemlig resistiv berøringstype og kapacitiv berøringstype. Navnet på selve typen angiver driftsformen og funktionsprincippet.
Resistiv berøringssensor: Som navnet indikerer Resistiv berøringssensor, der er baseret på lederens modstand. Når en berøring sker med menneskekroppen, ændres lederens modstand, og der er også en spændingsændring, denne spændingsændring detekteres af kredsløbet, og ting sker.
Kapacitiv berøringssensor: Dette er den mest anvendte type berøringssensor. Det er simpelthen fordi vi kan udføre flere berøringer ad gangen. Den kapacitive berøringssensor fungerer ud fra ændringen i kapacitans, det er når vi berører sensoren, kredsløbets kapacitans ændres, og dette vil blive detekteret som et tryk. Lad os nu diskutere vores kredsløb i detaljer.
Hvordan detekteres et strejf af planten?
Vores anlægskredsløb er også baseret på den kapacitive berøringssensor. Det vil sige, at vi vil forbinde en ledning til vores plante for at få den til at fungere som en elektrode, så når vi berører planten på grund af tilstedeværelsen af vores krop, ændres kapacitansen, og dette vil blive detekteret af vores kredsløb. Og når vi taler om kredsløbet, har vi brug for en mikrocontroller til at registrere ændringen i kapacitans og også kontrollere hele systemet. I vores tilfælde er mikrokontrolleren Arduino.
Materialer, der er nødvendige for at bygge vores farveændrende plantevase
- Arduino
- Fælles katode RGB LED
- 1mega ohm modstand (brun, sort, grøn)
- Forbindelsesledning
- En plante med sin base
- Fælles printkort
Kredsløbsdiagram for berøringsbaseret farveændrende Arduino-plante
Det komplette kredsløbsdiagram, der anvendes i dette projekt, er vist nedenfor. Kredsløbet blev oprettet ved hjælp af Easy EDA, og som du kan se, er det et meget simpelt kredsløb.
Forbind først den ene ohm-modstand mellem Arduino pin 2 og pin 4. Tilslut derefter en lang ledning (kobber) til pin 4. Denne ledning fungerer som en elektrode eller berøringsledning, og tilslut derefter RGB-ledet fælles jord til jord og rød til D5 af Arduino og grøn til D6, blå til D7, til sidst fastgør ledningen til plantelegemet, og det er det. Min hardwareopsætning, efter at forbindelserne er foretaget, ser sådan ud som vist nedenfor.
Jeg har tilsluttet RGB-lysdioderne i et fælles perf-kort (som vist nedenfor) og til sidst placeret basen (glasset) over på printet. Det er det.
Arduino-program til at opdage berøring af planter og ændre LED-farve
Det komplette program, der anvendes i dette projekt, kan findes nederst på denne side. For at detektere anlæggets kapacitans er vi nødt til at bruge et kapacitivt sensorbibliotek. Du kan downloade Arduino kapacitive sensorbibliotek fra nedenstående link.
Download Arduino kapacitiv berøringssensorbibliotek
Efter download og tilføjelse af biblioteket til din Arduino IDE, skal du inkludere dette bibliotek i din kode. Dette bibliotek hjælper med at læse kapaciteten af Arduino-ben.
#omfatte
Vi har allerede tilsluttet modstanden mellem pin 2 og 4, så vi er nødt til at måle kapacitansen i pin 4, for det definerede pinsene.
CapacitiveSensor cs_2_4 = CapacitiveSensor (2,4);
kapacitiv sensor skifter en mikrocontrollerstift, det vil sige, at den sender stiften til en ny tilstand og derefter venter på, at modtagestiften skifter til samme tilstand som sendestiften. I installationssektionen definerede jeg forskellige ben til ledning og sensorkabel.
pinMode (4, INPUT); pinMode (5, OUTPUT); pinMode (6, OUTPUT); pinMode (7, OUTPUT);
I loop-sektionen Ved hjælp af digital læsning kan vi læse tilstanden af pin 4, og vi gemmer værdien i variablen 'r'.
r = digitalRead (4); hvis (r == HIGH && p == LAV && millis () - tid> afvisning) { cnt ++; hvis (tilstand == HØJ) tilstand = LAV; hvis (cnt == 1) { digitalWrite (5, HIGH); digitalWrite (6, LAV); digitalWrite (7, LAV); } hvis (cnt == 2) { digitalWrite (5, LOW); digitalWrite (6, HIGH); digitalWrite (7, LAV); } hvis (cnt == 3) { digitalWrite (5, LOW); digitalWrite (6, LAV); digitalWrite (7, HIGH); } hvis (cnt> 3) { cnt = 1; } p = r;
Hver gang der registreres et tryk, øger antallet af optællinger, og jeg har givet forskellige betingelser for at lyse op i forskellige farver baseret på det forøgede antal.
Når koden er klar, skal du blot uploade den til dit Arduino-kort og placere lysdioderne under din vase. Her bruger jeg en glasvase, og min opsætning ser sådan ud, når alt er klar.
Som du kan se, er vasen allerede oplyst i rød farve, og når jeg rører ved planten, vil farven ændre sig. Bare sørg for at bruge vandrige planter som heldig bambus, pengeplante osv. Det komplette arbejde med dette projekt kan også findes i videoen nedenfor.
Håber du nød at bygge dette projekt og lærte noget nyttigt, hvis du har spørgsmål, skal du lade dem være i kommentarfeltet nedenfor eller bruge vores fora til at starte andre tekniske diskussioner.