Sisukord:

Valgusandur (fotoresistor) Arduinoga Tinkercadis: 5 sammu (piltidega)
Valgusandur (fotoresistor) Arduinoga Tinkercadis: 5 sammu (piltidega)

Video: Valgusandur (fotoresistor) Arduinoga Tinkercadis: 5 sammu (piltidega)

Video: Valgusandur (fotoresistor) Arduinoga Tinkercadis: 5 sammu (piltidega)
Video: Arduino. Светильник. 2024, Juuli
Anonim
Valgusandur (fototakisti) koos Arduinoga Tinkercadis
Valgusandur (fototakisti) koos Arduinoga Tinkercadis

Tinkercadi projektid »

Õpime lugema fototakisti, valgustundlikku muutuva takistiga tüüpi, kasutades Arduino analoogsisendit. Seda nimetatakse ka valgusest sõltuvaks takistiks (LDR).

Siiani olete juba õppinud juhtima Arduino analoogväljundiga LED -e ja lugema potentsiomeetrit, mis on teist tüüpi muutuv takisti, nii et selles õppetükis kasutame neid oskusi. Pidage meeles, et Arduino analoogsisendid (tihvtid, millel on tähis A0-A6) suudavad tuvastada järk-järgult muutuva elektrisignaali ja teisendab selle signaaliks vahemikus 0 kuni 1023.

Pilt
Pilt

Tutvuge siin tasapinnale sisseehitatud prooviahelaga, klõpsates nuppu Alusta simulatsiooni ja klõpsates fototakistil (pruun ovaalne, keskel keskel allapoole), seejärel lohistage heleduse liugurit, et reguleerida simuleeritud valgussisendit.

Selles õppetükis ehitate selle simuleeritud vooluringi ise proovi kõrvale. Füüsilise vooluahela valikuliseks ehitamiseks koguge kokku Arduino Uno plaat, USB -kaabel, jooteta leivaplaat, LED, takistid (220 oomi ja 4,7 kΩ), fototakisti ja leivaplaadi juhtmed.

Saate seda virtuaalselt jälgida, kasutades Tinkercadi ahelaid. Seda õppetundi saate vaadata isegi Tinkercadist (vajalik tasuta sisselogimine)! Uurige näidisringi ja ehitage oma oma selle kõrvale. Tinkercad Circuits on tasuta brauseripõhine programm, mis võimaldab teil vooluahelaid ehitada ja simuleerida. See sobib ideaalselt õppimiseks, õpetamiseks ja prototüüpimiseks.

Samm: looge vooluring

Ehita vooluring
Ehita vooluring
Ehita vooluring
Ehita vooluring

Vaadake pildil olevat leivaplaadi ahelat. Võrreldes võib olla kasulik vaadata selle prooviahela tasuta juhtmega versiooni, pildil. Selles etapis koostate selle vooluringi oma versiooni tööplaani näidise kõrvale.

Jätkamiseks laadige üles uus Tinkercad Circuits aken ja ehitage selle vooluringi oma versioon proovi kõrvale.

Tuvastage Tinkercad Circuits'i tööplaanil Arduinoga ühendatud fototakisti, LED, takistid ja juhtmed.

Lohistage Arduino Uno ja leivalaud komponentide paneelilt olemasoleva vooluringi kõrval olevale tööplaanile.

Ühendage leivaplaadi toite (+) ja maandus (-) rööpad vastavalt Arduino 5V ja maandusega (GND), klõpsates juhtmete loomiseks.

Laiendage toite- ja maandusrööpad oma vastavate bussidega leivaplaadi vastasservas (selle vooluringi jaoks valikuline, kuid hea tava).

Ühendage valgusdiood kahte erinevasse leivaplaadi ritta nii, et katood (negatiivne, lühem jalg) ühenduks takisti ühe jalaga (kõikjal vahemikus 100-1K oomi on hea). Takisti võib liikuda mõlemas suunas, kuna takistid pole polariseeritud, erinevalt LED -idest, mis peavad toimimiseks olema teatud viisil ühendatud.

Ühendage teine takisti jalg maapinnaga.

Ühendage LED -anood (positiivne, pikem jalg) Arduino tihvtiga 9.

Lohistage fototakisti komponentide paneelilt oma leivalauale, nii et selle jalad ühendatakse kahe erineva reaga.

Klõpsake, et luua traat, mis ühendab ühe fototakisti jala toiteallikaga.

Ühendage teine jalg Arduino analoogpistikuga A0.

Lohistage komponentide paneelilt takisti, et ühendada A0 -ga ühendatud fototakisti jalg maapinnaga ja reguleerige selle väärtuseks 4,7 kΩ.

2. samm: plokkidega kood

Kood plokkidega
Kood plokkidega

Kasutame koodiblokkide redaktorit fototakisti oleku kuulamiseks, seejärel seadistame LED -i suhtelisele heledusele vastavalt sellele, kui palju valgust sensor näeb. Võimalik, et soovite LED -analoogväljundi mälu värskendada õppetükis Fading LED.

Koodiredaktori avamiseks klõpsake nuppu "Kood". Hallid märkimisplokid on kommentaarid, mille abil saate märkida, mida kavatsete oma koodiga teha, kuid seda teksti ei täideta programmi osana.

Klõpsake koodiredaktoris kategooriat Muutujad.

Fototakisti takistuse väärtuse salvestamiseks looge muutuja nimega "sensorValue".

Lohistage "seatud" plokk välja. Salvestame muutvasse oma fototakisti oleku

sensorValue

Klõpsake sisendikategoorial ja lohistage plokk "analoog lugemisnõel" välja ning asetage see sõna "kuni" taha plokki "seatud"

Kuna meie potentsiomeeter on ühendatud tihvti A0 Arduinoga, muutke rippmenüü A0 -ks.

Klõpsake väljundi kategooriat ja lohistage plokk "print seeriamonitorile".

Liikuge kategooriasse Muutujad ja lohistage oma muutuja sensorValue plokile "prindi seeriamonitorile" ning veenduge, et rippmenüü oleks seatud uue reaga printimiseks. Valikuliselt käivitage simulatsioon ja avage jadamonitor, et kontrollida, kas anduri reguleerimisel tulevad näidud ja need muutuvad. Analoogsisendi väärtused on vahemikus 0-1023.

Kuna me tahame LED-ile kirjutada numbriga 0 (välja lülitatud) ja 255 (täisheledus), kasutame ploki "kaart" abil meie jaoks ristkorrutamist. Liikuge kategooriasse Matemaatika ja lohistage "kaardi" plokk.

Lohistage esimeses pesas muutujaplokki sensorValue, seejärel seadke vahemik 0 kuni 255.

Tagasi kategooriasse Väljund lohistage välja analoogplokk, mis vaikimisi ütleb "määrake tihvt 3 kuni 0." Reguleerige see tihvti 9 külge.

Lohistage varem koostatud kaardiplokk väljale "seatud tihvti" plokk "", et kirjutada kohandatud number LED -nööpnõelale, kasutades PWM -i.

Klõpsake juhtkategooriat ja lohistage ooteplokk välja ning reguleerige seda, et programm 1,1 sekundit edasi lükata.

Samm: selgitatud fototakisti Arduino kood

Kui koodiredaktor on avatud, võite klõpsata vasakpoolsel rippmenüül ja valida "Blokid + tekst", et paljastada koodiplokkide loodud Arduino kood. Jälgige seda, kui uurime koodi üksikasjalikumalt.

int sensorValue = 0;

Enne

seadistamine ()

loome potentsiomeetrilt loetud praeguse väärtuse salvestamiseks muutuja. Seda nimetatakse

int

sest see on täisarv või mis tahes täisarv.

tühine seadistus ()

{pinMode (A0, INPUT); pinMode (9, VÄLJUND); Seriaalne algus (9600); }

Seadistuse sees konfigureeritakse tihvte, kasutades

pinMode ()

funktsiooni. Pin A0 on konfigureeritud sisendiks, nii et saame "kuulata" potentsiomeetri elektrilist olekut. Pin 9 on konfigureeritud väljundiks LED -i juhtimiseks. Sõnumite saatmiseks avab Arduino uue jadasidekanali

Serial.begin ()

mis võtab andmeedastuskiiruse argumendi (millise kiirusega suhelda), antud juhul 9600 bitti sekundis.

tühine tsükkel ()

{// loe väärtust andurilt sensorValue = analogRead (A0); // prindi anduri näit nii, et sa tead selle vahemikku Serial.println (sensorValue);

Midagi pärast kaldkriipsude komplekti

//

on kommentaar, mis aitab inimestel mõista lihtsas keeles, mida programm on mõeldud tegema, kuid ei kuulu teie Arduino käitatavasse programmi. Põhisilmus funktsioon, mida nimetatakse

analogRead ();

kontrollib tihvti A0 olekut (mis on täisarv vahemikus 0-1023) ja salvestab selle väärtuse muutujale

sensorValue

// kaardista anduri näit LED -i vahemikku

analogWrite (9, kaart (sensorValue, 0, 1023, 0, 255)); viivitus (100); // Oodake 100 millisekundit}

Järgmisele kommentaarile järgnev rida teeb korraga palju. Pidage meeles

analogWrite ()

võtab kaks argumenti, pin -numbri (meie puhul 9) ja kirjutatava väärtuse, mis peaks jääma vahemikku 0–255.

kaart ()

võtab viis argumenti: hindatav arv (pidevalt muutuv anduri muutuja), eeldatav miinimum ja eeldatav maksimum ning soovitud min ja max. Seega

kaart ()

Meie puhul on funktsioon sissetuleva sensori väärtuse hindamine ja ristkorrutamine, et vähendada väljundit vahemikus 0-1023 kuni 0-255. Tulemus tuuakse tagasi teise argumendi juurde

analogWrite ();

määrates tihvtiga 9 ühendatud valgusdioodi heleduse.

Samm: ehitage füüsiline Arduino vooluring (valikuline)

Ehitage füüsiline Arduino vooluring (valikuline)
Ehitage füüsiline Arduino vooluring (valikuline)

Füüsilise Arduino Uno programmeerimiseks peate installima tasuta tarkvara (või veebiredaktori pistikprogrammi) ja seejärel selle avama. Erinevatel fotoelementidel on erinevad väärtused, nii et kui teie füüsiline ahel ei tööta, peate võib -olla vahetama sellega ühendatud takisti. Lisateavet pingejagurite kohta leiate juhendist Instructables Electronics Class takistite kohta.

Ühendage Arduino Uno ahel, ühendades komponendid ja juhtmed, et need vastaksid siin Tinkercadi ahelates näidatud ühendustele. Füüsilise Arduino Uno plaadiga töötamise põhjalikumaks tutvumiseks vaadake tasuta Instructables Arduino klassi.

Kopeerige kood Tinkercad Circuits koodi aknast ja kleepige see oma Arduino tarkvara tühjale visandile või klõpsake allalaadimisnuppu (allapoole suunatud nool) ja avage

saadud faili Arduino abil. Selle näite leiate ka Arduino tarkvarast, navigeerides Fail -> Näited -> 03. Analoog -> AnalogInOutSerial.

Ühendage USB -kaabel ja valige tarkvara menüüst oma plaat ja port.

Laadige kood üles ja katke oma käega andur valguse vastuvõtmise eest ja/või süttige andurile valgust!

Anduriväärtuste jälgimiseks avage jadamonitor. Tõenäoliselt ei laiene reaalmaailma väärtused olenevalt teie valgustingimustest täielikult 0 -ni või 1023 -ni. Reguleerige vabalt vahemikku 0–1023 oma vaadeldava miinimumini ja maksimaalse piirini, et saada LED-il maksimaalne heleduse väljendusvahemik.

Samm: proovige seejärel…

Nüüd, kui olete õppinud lugema fototakisti ja kaardistama selle väljundi LED -i heleduse juhtimiseks, olete valmis rakendama neid ja muid seni õpitud oskusi.

Kas saate LED -i teise tüüpi väljundi, näiteks servomootori vastu välja vahetada, ja luua koodi, mis peegeldaks anduri praegust valgustaset teatud asendina piki gabariiti?

Proovige vahetada oma fototakisti teiste analoogsisendite vastu, näiteks ultraheli kaugusandur või potentsiomeeter.

Lisateave Arduino digitaalsete ja analoogsisendite jälgimise kohta arvuti kaudu jadamonitori abil.

Soovitan: