Turinys:
- 1 žingsnis: sukurkite grandinę
- 2 žingsnis: koduokite su blokais
- 3 žingsnis: paaiškintas fotorezistorius „Arduino“kodas
- 4 žingsnis: sukurkite fizinę „Arduino“grandinę (neprivaloma)
- 5 žingsnis: Toliau pabandykite…
Video: Šviesos jutiklis (fotorezistorius) su „Arduino“„Tinkercad“: 5 žingsniai (su nuotraukomis)
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:46
Tinkercad projektai »
Išmokime skaityti fotorezistorių, šviesai jautrų kintamo rezistoriaus tipą, naudojant „Arduino“analoginę įvestį. Jis taip pat vadinamas LDR (nuo šviesos priklausomu rezistoriumi).
Iki šiol jūs jau išmokote valdyti šviesos diodus su „Arduino“analogine išvestimi ir skaityti potenciometrą, kuris yra kito tipo kintamasis rezistorius, todėl šioje pamokoje mes remiamės šiais įgūdžiais. Atminkite, kad „Arduino“analoginiai įėjimai (kaiščiai pažymėti A0-A6) gali aptikti palaipsniui kintantį elektrinį signalą ir tą signalą paversti skaičiumi nuo 0 iki 1023.
Naršykite pavyzdinę grandinę, įterptą čia į darbo planą, spustelėdami Pradėti modeliavimą ir spustelėdami fotorezistorių (rudas ovalus su neryškiąja linija viduryje), tada vilkite ryškumo slankiklį, kad sureguliuotumėte imituojamą šviesos įvestį.
Šioje pamokoje šią imituojamą grandinę patys sukursite šalia mėginio. Norėdami pasirinktinai sukurti fizinę grandinę, surinkite savo „Arduino Uno“plokštę, USB kabelį, duoną be litavimo, šviesos diodą, rezistorius (220 omų ir 4,7 000 omų), fotorezistorių ir duonos plokštės laidus.
Galite sekti virtualiai naudodami „Tinkercad“grandines. Jūs netgi galite peržiūrėti šią pamoką iš „Tinkercad“(reikalingas nemokamas prisijungimas)! Tyrinėkite pavyzdinę grandinę ir sukurkite savo šalia jos. „Tinkercad Circuits“yra nemokama naršyklės programa, leidžianti kurti ir modeliuoti grandines. Tai puikiai tinka mokymuisi, mokymui ir prototipų kūrimui.
1 žingsnis: sukurkite grandinę
Pažvelkite į pavaizduotą duonos lentos grandinę. Palyginimui gali būti naudinga pažvelgti į šios pavyzdinės grandinės nemokamą laidinę versiją. Šiame žingsnyje jūs sukursite savo šios grandinės versiją kartu su pavyzdžiu darbo plokštumoje.
Norėdami tai padaryti, įkelkite naują „Tinkercad Circuits“langą ir kartu su pavyzdžiu sukurkite savo šios grandinės versiją.
Tinkercad Circuits darbo plokštumoje nustatykite fotorezistorių, šviesos diodą, rezistorius ir laidus, prijungtus prie „Arduino“.
Vilkite „Arduino Uno“ir duonos lentą iš komponentų skydelio į darbo plokštumą šalia esamos grandinės.
Prijunkite maitinimo plokštės maitinimo (+) ir įžeminimo (-) bėgius atitinkamai prie „Arduino 5V“ir įžeminimo (GND) spustelėdami, kad sukurtumėte laidus.
Išplėskite maitinimo ir įžeminimo bėgius iki atitinkamų magistralių, esančių priešingame duonos lentos krašte (pasirinktinai šiai grandinei, bet gera praktika).
Prijunkite šviesos diodą prie dviejų skirtingų lentos lentų, kad katodas (neigiama, trumpesnė kojelė) būtų prijungtas prie vienos rezistoriaus kojos (tinka bet kur nuo 100-1K omų). Rezistorius gali būti nukreiptas bet kuria kryptimi, nes rezistoriai nėra poliarizuoti, skirtingai nei šviesos diodai, kurie turi būti prijungti tam tikru būdu, kad veiktų.
Prijunkite kitą rezistoriaus koją prie žemės.
Prijunkite LED anodą (teigiamą, ilgesnę koją) prie „Arduino“kaiščio 9.
Vilkite fotorezistorių iš komponentų skydelio į duonos lentą, kad jo kojos būtų sujungtos į dvi skirtingas eilutes.
Spustelėkite, kad sukurtumėte laidą, jungiantį vieną fotorezistoriaus koją prie maitinimo.
Prijunkite kitą koją prie „Arduino“analoginio kaiščio A0.
Vilkite rezistorių iš komponentų skydelio, kad prijungtumėte prie A0 prijungtą fotorezistoriaus kojelę su žeme, ir sureguliuokite jo vertę iki 4,7k omų.
2 žingsnis: koduokite su blokais
Naudokitės kodų blokų redaktoriumi, kad išklausytumėte fotorezistoriaus būseną, tada nustatykite santykinį šviesos diodo šviesos diodą, atsižvelgiant į tai, kiek šviesos mato jutiklis. Pamokoje „Fading LED“galite atnaujinti savo analoginės LED išvesties atmintį.
Spustelėkite mygtuką „Kodas“, kad atidarytumėte kodų redaktorių. Pilki užrašų blokai yra komentarai, skirti pažymėti, ką ketinate atlikti savo kodu, tačiau šis tekstas nėra vykdomas kaip programos dalis.
Kodų redaktoriuje spustelėkite kategoriją Kintamieji.
Norėdami išsaugoti fotorezistoriaus varžos vertę, sukurkite kintamąjį pavadinimu „sensorValue“.
Ištraukite „nustatytą“bloką. Mūsų fotorezistoriaus būseną išsaugosime kintamajame
sensorValue
Spustelėkite įvesties kategoriją ir ištraukite bloką „analoginis skaitymo kaištis“ir įdėkite jį į „nustatyti“bloką po žodžio „iki“
Kadangi mūsų potenciometras yra prijungtas prie „Arduino“kaiščio A0, pakeiskite išskleidžiamąjį meniu į A0.
Spustelėkite išvesties kategoriją ir ištraukite bloką „spausdinti į serijinį monitorių“.
Eikite į kategoriją „Kintamieji“ir vilkite kintamąjį sensorValue į bloką „spausdinti į serijinį monitorių“ir įsitikinkite, kad išskleidžiamasis meniu nustatytas spausdinti nauja eilute. Pasirinktinai pradėkite modeliavimą ir atidarykite serijinį monitorių, kad patikrintumėte, ar rodmenys ateina ir keičiasi, kai sureguliuojate jutiklį. Analoginės įvesties vertės yra nuo 0 iki 1023.
Kadangi norime rašyti į šviesos diodą, kurio skaičius yra nuo 0 (išjungtas) iki 255 (visas ryškumas), mes naudosime „žemėlapio“bloką, kad padarytume kryžminį daugybą. Eikite į matematikos kategoriją ir ištraukite „žemėlapio“bloką.
Pirmajame lizde vilkite kintamojo sensorValue bloką, tada nustatykite diapazoną nuo 0 iki 255.
Grįžę į išvesties kategoriją, ištraukite analoginį „nustatymo kaiščio“bloką, kuris pagal nutylėjimą sako „nustatyti kaištį nuo 3 iki 0.“Sureguliuokite jį, kad nustatytumėte 9 kaištį.
Vilkite anksčiau sukurtą žemėlapio bloką į lauką „nustatyti kaiščio bloką“į „ir parašykite sureguliuotą skaičių į LED kaištį naudodami PWM.
Spustelėkite valdiklio kategoriją ir ištraukite laukimo bloką ir sureguliuokite, kad programa būtų atidėta 0,1 sekundės.
3 žingsnis: paaiškintas fotorezistorius „Arduino“kodas
Kai atidarytas kodų redaktorius, galite spustelėti išskleidžiamąjį meniu kairėje ir pasirinkti „Blokai + tekstas“, kad būtų parodytas kodų blokų sukurtas „Arduino“kodas. Sekite toliau, kol išsamiau išnagrinėsime kodą.
int sensorValue = 0;
Prieš
sąranka ()
sukuriame kintamąjį, kad išsaugotume dabartinę iš potenciometro nuskaitytą vertę. Tai vadinama
tarpt
nes tai sveikasis skaičius arba bet koks sveikas skaičius.
negaliojanti sąranka ()
{pinMode (A0, INPUT); pinMode (9, OUTPUT); Serial.begin (9600); }
Sąrankos viduje kaiščiai konfigūruojami naudojant
pinMode ()
funkcija. A0 kaištis sukonfigūruotas kaip įvestis, todėl galime „klausytis“potenciometro elektros būsenos. 9 kaištis sukonfigūruotas kaip šviesos diodo valdymo išėjimas. Kad galėtų siųsti pranešimus, „Arduino“atidaro naują nuoseklaus ryšio kanalą su
Serial.begin ()
kuris priima baudos spartos argumentą (kokiu greičiu bendrauti), šiuo atveju 9600 bitų per sekundę.
tuštumos kilpa ()
{// skaityti reikšmę iš jutiklio sensorValue = analogRead (A0); // atspausdinkite jutiklio rodmenis, kad žinotumėte jo diapazoną Serial.println (sensorValue);
Bet kas po brūkšnių
//
yra komentaras, padedantis žmonėms suprantama kalba suprasti, ką programa turi daryti, tačiau nėra įtraukta į programą, kurią vykdo „Arduino“. Pagrindinėje cikle funkcija, vadinama
analogRead ();
tikrina kaiščio A0 būseną (tai bus sveikas skaičius nuo 0 iki 1023) ir išsaugo šią vertę kintamajame
sensorValue
// susieti jutiklio rodmenis su šviesos diodo diapazonu
analogWrite (9, žemėlapis (sensorValue, 0, 1023, 0, 255)); vėlavimas (100); // Palaukite 100 milisekundžių}
Eilutė, einanti po kito komentaro, iš karto daro daug. Prisiminti
analogWrite ()
reikia dviejų argumentų: PIN kodo (mūsų atveju - 9) ir įrašomos reikšmės, kuri turėtų būti nuo 0 iki 255. Įterpta funkcija
žemėlapis ()
pateikiami penki argumentai: skaičius, kurį reikia įvertinti (nuolat kintantis jutiklio kintamasis), numatomas minimalus ir tikėtinas maksimumas ir pageidaujama min ir max. Taigi
žemėlapis ()
Mūsų atveju funkcija įvertina gaunamą sensorValue ir atlieka tam tikrą kryžminį dauginimą, kad sumažintų išvestį nuo 0-1023 iki 0-255. Rezultatas grąžinamas į antrąjį argumentą
analogWrite ();
nustatant šviesos diodo, prijungto prie 9 kaiščio, ryškumą.
4 žingsnis: sukurkite fizinę „Arduino“grandinę (neprivaloma)
Norėdami užprogramuoti savo fizinį „Arduino Uno“, turėsite įdiegti nemokamą programinę įrangą (arba žiniatinklio redaktoriaus papildinį), tada ją atidaryti. Įvairių fotoelementų vertės yra skirtingos, todėl jei jūsų fizinė grandinė neveikia, gali tekti pakeisti su juo susietą rezistorių. Sužinokite daugiau apie įtampos skirstytuvus „Instructables Electronics Class“pamokoje apie rezistorius.
Prijunkite „Arduino Uno“grandinę, prijunkite komponentus ir laidus, kad jie atitiktų „Tinkercad“grandinėse parodytas jungtis. Norėdami išsamiau susipažinti su darbu su savo fizine „Arduino Uno“lenta, peržiūrėkite nemokamą „Instructables Arduino“klasę.
Nukopijuokite kodą iš „Tinkercad Circuits“kodo lango ir įklijuokite jį į tuščią eskizą „Arduino“programinėje įrangoje arba spustelėkite atsisiuntimo mygtuką (rodyklė žemyn) ir atidarykite
gautą failą naudodami „Arduino“. Šį pavyzdį taip pat galite rasti „Arduino“programinėje įrangoje, eidami į Failas -> Pavyzdžiai -> 03. Analog -> AnalogInOutSerial.
Prijunkite USB kabelį ir programinės įrangos meniu Įrankiai pasirinkite plokštę ir prievadą.
Įkelkite kodą ir ranka uždenkite jutiklį nuo šviesos gavimo ir (arba) apšvieskite jutiklį!
Atidarykite nuoseklųjį monitorių, kad stebėtumėte jutiklio vertes. Tikėtina, kad realaus pasaulio vertybės nesikeis iki 0 arba iki 1023, priklausomai nuo jūsų apšvietimo sąlygų. Nedvejodami sureguliuokite 0-1023 diapazoną iki minimalaus ir stebimo maksimumo, kad gautumėte maksimalų šviesos diodo ryškumo diapazoną.
5 žingsnis: Toliau pabandykite…
Dabar, kai išmokote skaityti fotorezistorių ir susieti jo išvestį, kad valdytumėte šviesos diodo ryškumą, esate pasiruošę pritaikyti tuos ir kitus įgūdžius, kuriuos išmokote iki šiol.
Ar galite pakeisti šviesos diodą į kito tipo išvestį, pvz., Servo variklį, ir sukurti kodą, kuris atspindėtų dabartinį jutiklio šviesos lygį kaip tam tikrą padėtį išilgai matuoklio?
Pabandykite pakeisti savo fotorezistorių į kitus analoginius įėjimus, pvz., Ultragarsinį atstumo jutiklį ar potenciometrą.
Sužinokite daugiau apie tai, kaip stebėti „Arduino“skaitmenines ir analogines įvestis per kompiuterį naudojant serijinį monitorių.
Rekomenduojamas:
Nakties šviesos judesio ir tamsos jutiklis - be mikro: 7 žingsniai (su nuotraukomis)
Nakties šviesos judesio ir tamsos jutimas - nėra mikro: Šis nurodymas skirtas tam, kad vaikščiojant po tamsų kambarį būtų išvengta kojų pirštų įstrigimo. Galima sakyti, kad tai yra jūsų pačių saugumas, jei atsikeliate naktį ir bandote saugiai pasiekti duris. Žinoma, galite naudoti lempą prie lovos arba pagrindinę lempą
„Pasidaryk pats“kvėpavimo jutiklis su „Arduino“(laidus megztas tempimo jutiklis): 7 žingsniai (su nuotraukomis)
„Pasidaryk pats“kvėpavimo jutiklis su „Arduino“(laidus megztas tempimo jutiklis): šis „pasidaryk pats“jutiklis bus laidus megztas tempimo jutiklis. Jis apsisuks jūsų krūtinę/skrandį, o kai krūtinė/skrandis išsiplės ir susitrauks, taip pat padidės jutiklis, taigi ir įvesties duomenys, kurie bus tiekiami „Arduino“. Taigi
Sąsajos jutiklis, SPS-30, kietųjų dalelių jutiklis su „Arduino Duemilanove“naudojant I2C režimą: 5 žingsniai
Sąsajos „Sensirion“, SPS-30, kietųjų dalelių jutiklis su „Arduino Duemilanove“naudojant I2C režimą: Kai nagrinėjau SPS30 jutiklių sąsajas, supratau, kad dauguma šaltinių yra skirti „Raspberry Pi“, bet ne tiek daug „Arduino“. Aš skiriu šiek tiek laiko, kad jutiklis veiktų su „Arduino“, ir nusprendžiau čia paskelbti savo patirtį, kad ji galėtų
KAIP PADARYTI IR IR IR ŠVIESOS ŠVIESOS ŠVIESOS ŠVIESOS KAMERĄ: 5 žingsniai (su paveikslėliais)
KAIP PADARYTI IR IR IR ŠVIESOS ŠVIESOS ŠVIESOS KAMERĄ: Supratau infraraudonųjų spindulių kamerą, kad galėčiau ją naudoti judesio fiksavimo sistemoje. Su juo taip pat galite gauti tokių nuostabių vaizdų: blizgių objektų, matomų fotoaparate, kurie yra normalūs realybėje. Už pigią kainą galite gauti gana gerų rezultatų. Jis
JUTIKLIS SUHU DENGAN LCD DAN LED (temperatūros jutiklis su LCD ir LED): 6 žingsniai (su nuotraukomis)
JUTIKLIS SUHU DENGAN LCD DAN LED (temperatūros jutiklis su skystųjų kristalų ekranu ir šviesos diodu): hai, saya Devi Rivaldi mahasiswa UNIVERSITAS NUSA PUTRA dari Indonesia, di sini saya akan berbagi cara membuat sensor suhu menggunakan Arduino dengan Išvestis LCD ir LED. Ini adalah pembaca suhu dengan desain saya sendiri, dengan sensor ini and