Tartalomjegyzék:
- Lépés: Építse fel az áramkört
- 2. lépés: Kód a blokkokkal
- 3. lépés: A fotorezisztoros Arduino kód magyarázata
- 4. lépés: Fizikai Arduino áramkör építése (opcionális)
- 5. lépés: Ezután próbálja meg…
Videó: Fényérzékelő (fotorezisztor) Arduino -val a Tinkercad -ban: 5 lépés (képekkel)
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:41
Tinkercad projektek »
Tanuljuk meg, hogyan kell olvasni egy fényellenállást, egy fényérzékeny típusú változó ellenállást az Arduino analóg bemenetének használatával. Fényfüggő ellenállásnak (LDR) is nevezik.
Eddig már megtanulta a LED -ek vezérlését az Arduino analóg kimenetével, és a potenciométer leolvasását, amely egy másik típusú változó ellenállás, ezért ezekre a képességekre építünk ebben a leckében. Ne feledje, hogy az Arduino analóg bemenetei (A0-A6 jelű tüskék) érzékelik a fokozatosan változó elektromos jelet, és ezt a jelet 0 és 1023 közötti számgá alakítják át.
Fedezze fel a munkasíkba beágyazott mintaáramkört a Simulation Start (Szimuláció indítása) gombra, majd a fotorezisztorra kattintva (barna ovális, csíkos vonallal lefelé a közepén), majd húzza a fényerő csúszkát a szimulált fénybemenet beállításához.
Ebben a leckében ezt a szimulált áramkört saját maga építi fel a minta mellé. A fizikai áramkör opcionális kiépítéséhez gyűjtse össze az Arduino Uno kártyát, az USB -kábelt, a forrasztás nélküli kenyértáblát, a LED -et, az ellenállásokat (220 ohm és 4,7 k ohm), a fényellenállást és a kenyérsütő vezetéket.
Virtuálisan követheti a Tinkercad áramkörök használatával. Ezt a leckét akár a Tinkercadon belül is megtekintheti (ingyenes bejelentkezés szükséges)! Fedezze fel a mintaáramkört, és építse sajátját közvetlenül mellé. A Tinkercad Circuits egy ingyenes böngészőalapú program, amely lehetővé teszi áramkörök létrehozását és szimulálását. Tökéletes tanuláshoz, tanításhoz és prototípus -készítéshez.
Lépés: Építse fel az áramkört
Vessen egy pillantást a képen látható kenyérsütő áramkörre. Hasznos lehet, ha összehasonlításképpen megnézzük ennek a mintaáramkörnek a szabad vezetékes változatát, a képen. Ebben a lépésben létrehozza az áramkör saját verzióját a minta mellett a munkasíkban.
A folytatáshoz töltsön be egy új Tinkercad Circuits ablakot, és építse fel saját verzióját ennek az áramkörnek a minta mellé.
A Tinkercad Circuits munkasíkban azonosítsa az Arduino -hoz csatlakoztatott fényellenállást, LED -et, ellenállásokat és vezetékeket.
Húzza az Arduino Uno -t és a panelt az alkatrészek panelről a munkasíkra, a meglévő áramkör mellé.
Csatlakoztassa a kenyérsütő tápellátást (+) és a földelő (-) síneket az Arduino 5V-hoz és a földeléshez (GND), kattintson a vezeték létrehozásához.
Bővítse a tápfeszültséget és a földsíneket a megfelelő buszokra a kenyértábla ellentétes szélén (opcionális ehhez az áramkörhöz, de jó bevált gyakorlat).
Csatlakoztassa a LED-et két különböző kenyeretábla sorba, hogy a katód (negatív, rövidebb láb) csatlakozzon az ellenállás egyik lábához (bárhol 100-1K ohm is megfelelő). Az ellenállás bármely irányban el tud menni, mivel az ellenállások nem polarizáltak, ellentétben a LED -ekkel, amelyeket bizonyos módon kell csatlakoztatni a működéshez.
Csatlakoztassa a másik ellenállás lábát a földhöz.
Csatlakoztassa a LED -anódot (pozitív, hosszabb láb) az Arduino 9 -es tűhöz.
Húzza a fotorezisztorát a komponensek paneljéről a kenyeretáblára, hogy lába két különböző sorba illeszkedjen.
Kattintson ide egy vezeték létrehozásához, amely összeköti az egyik fotorezisztor lábát az áramellátással.
Csatlakoztassa a másik lábát az Arduino analóg A0 tűhöz.
Húzzon egy ellenállást a komponensek paneljéről, hogy az A0 -hoz csatlakoztatott fotorezisztor lábát földdel kösse össze, és állítsa be az értékét 4,7 k ohmra.
2. lépés: Kód a blokkokkal
Használjuk a kódblokkok szerkesztőjét a fotorezisztor állapotának meghallgatásához, majd állítsunk egy LED -et relatív fényerőre az alapján, hogy mennyi fényt lát az érzékelő. A Fading LED leckében érdemes felfrissíteni a LED analóg kimenet memóriáját.
Kattintson a "Kód" gombra a kódszerkesztő megnyitásához. A szürke jelölési blokkok megjegyzéseket tartalmaznak arra vonatkozóan, hogy mit szeretne tenni a kódjával, de ez a szöveg nem kerül végrehajtásra a program részeként.
Kattintson a Változók kategóriára a kódszerkesztőben.
A fotorezisztor ellenállási értékének tárolásához hozzon létre egy "sensorValue" nevű változót.
Húzzon ki egy "beállított" blokkot. A fényellenállás állapotát a változóban tároljuk
sensorValue
Kattintson a Beviteli kategóriára, és húzzon ki egy "analóg olvasótű" blokkot, és helyezze a "beállítani" blokkba a "to" szó után
Mivel potenciométerünk az A0 -as tűn lévő Arduino -hoz van csatlakoztatva, módosítsa a legördülő menüt A0 -ra.
Kattintson a Kimenet kategóriára, és húzza ki a "nyomtatás soros monitorra" blokkot.
Keresse meg a Változók kategóriát, és húzza a változó sensorValue értékét a "nyomtatás soros monitorra" blokkra, és győződjön meg arról, hogy a legördülő menü új sorral való nyomtatásra van állítva. Opcionálisan indítsa el a szimulációt, és nyissa ki a soros monitort, hogy ellenőrizze, hogy az érzékelő beállításakor a mérések bejönnek -e és változnak -e. Az analóg bemeneti értékek 0-1023 között vannak.
Mivel a LED-hez 0 (kikapcsolt) és 255 (teljes fényerő) közötti számmal szeretnénk írni, a „térkép” blokkot használva keresztszorzást végezünk helyettünk. Keresse meg a Matematika kategóriát, és húzzon ki egy "térkép" blokkot.
Az első helyen húzza be a sensorValue változó blokkot, majd állítsa be a tartományt 0 és 255 között.
Visszatérve a Kimenet kategóriába, húzzon ki egy analóg "set pin" blokkot, amely alapértelmezés szerint "set pin 3 to 0." Állítsa be a 9 -es tűre.
Húzza a korábban elkészített térképblokkot a "set pin" blokk "to" mezőjébe, és írja be a beállított számot a LED pin -be PWM használatával.
Kattintson a Vezérlés kategóriára, húzza ki a várakozási blokkot, és állítsa be úgy, hogy a program 0,1 másodpercre késleltesse.
3. lépés: A fotorezisztoros Arduino kód magyarázata
Amikor a kódszerkesztő nyitva van, kattintson a bal oldali legördülő menüre, és válassza a "Blokkok + szöveg" lehetőséget a kódblokkok által generált Arduino kód megjelenítéséhez. Kövesse, miközben részletesebben megvizsgáljuk a kódot.
int sensorValue = 0;
Előtte
beállít()
létrehozunk egy változót a potenciométerből leolvasott aktuális érték tárolására. Ezt hívják
int
mert ez egész szám, vagy bármilyen egész szám.
üres beállítás ()
{pinMode (A0, INPUT); pinMode (9, KIMENET); Sorozat.kezdet (9600); }
A beállításon belül a csapok a
pinMode ()
funkció. Az A0 érintkező bemenetként van konfigurálva, így "hallgathatjuk" a potenciométer elektromos állapotát. A 9 -es érintkező kimenetként van konfigurálva a LED vezérlésére. Az üzenetek küldéséhez az Arduino új soros kommunikációs csatornát nyit
Serial.begin ()
amely átviteli sebesség argumentumot vesz fel (milyen sebességgel kommunikál), ebben az esetben 9600 bit másodpercenként.
üres hurok ()
{// az érték olvasása az érzékelőből sensorValue = analogRead (A0); // nyomtassa ki az érzékelő leolvasását, hogy ismerje a tartományát Serial.println (sensorValue);
Bármi a vonások után
//
egy megjegyzés, amely segít az embereknek, hogy érthető nyelven megértsék, hogy a programnak mi a célja, de nem szerepel az Arduino által futtatott programban. A fő hurokban egy függvény az ún
analogRead ();
ellenőrzi az A0 érintkező állapotát (amely 0-1023 közötti egész szám lesz), és eltárolja ezt az értéket a változóban
sensorValue
// az érzékelő leolvasásának leképezése a LED tartományához
analogWrite (9, map (sensorValue, 0, 1023, 0, 255)); késleltetés (100); // Várjon 100 milliszekundumot}
A következő megjegyzést követő sor egyszerre sokat tesz. Emlékezik
analogWrite ()
két argumentumot tartalmaz, a pin számot (esetünkben 9) és az írandó értéket, amelynek 0 és 255 között kell lennie.
térkép()
öt érvet tartalmaz: az értékelendő számot (az állandóan változó szenzorváltozót), a várható minimumot és várható maximumot, valamint a kívánt min és max értékeket. Így a
térkép()
Esetünkben a függvény a beérkező sensorValue kiértékelése, és valamilyen keresztszorzás elvégzése, hogy a kimenetet 0-1023-ról 0-255-re csökkentse. Az eredmény visszatér a (z) második argumentumába
analogWrite ();
a 9. tűhöz csatlakoztatott LED fényerejének beállítása.
4. lépés: Fizikai Arduino áramkör építése (opcionális)
A fizikai Arduino Uno programozásához telepítenie kell az ingyenes szoftvert (vagy a webszerkesztő beépülő modulját), majd meg kell nyitnia. A különböző fotocellák különböző értékekkel rendelkeznek, így ha a fizikai áramkör nem működik, akkor szükség lehet a vele párosított ellenállás cseréjére. Tudjon meg többet a feszültségosztókról az Instructables Electronics Class leckében az ellenállásokról.
Csatlakoztassa az Arduino Uno áramkört az alkatrészek és vezetékek csatlakoztatásával, hogy illeszkedjen a Tinkercad áramkörökben bemutatott csatlakozásokhoz. Ha többet szeretne megtudni a fizikai Arduino Uno táblájáról, nézze meg az ingyenes Instructables Arduino osztályt.
Másolja ki a kódot a Tinkercad Circuits kódablakából, és illessze be az Arduino szoftver üres vázlatába, vagy kattintson a letöltés gombra (lefelé mutató nyíl), és nyissa meg
a kapott fájlt az Arduino használatával. Ezt a példát az Arduino szoftverben is megtalálhatja, ha navigál a Fájl -> Példák -> 03. Analog -> AnalogInOutSerial elemre.
Csatlakoztassa az USB -kábelt, és válassza ki az alaplapot és a portot a szoftver Eszközök menüjében.
Töltse fel a kódot, és kézzel fedje le az érzékelőt a fénytől, és/vagy világítson az érzékelőre!
Nyissa ki a soros monitort, hogy megfigyelhesse az érzékelő értékeit. Valószínű, hogy a valós világ értékei a fényviszonyoktól függően nem fognak egészen 0 -ig vagy egészen 1023 -ig terjedni. Nyugodtan állítsa a 0-1023 tartományt a megfigyelt minimumra és maximumra annak érdekében, hogy a LED maximális fényerőt biztosítsa.
5. lépés: Ezután próbálja meg…
Most, hogy megtanult egy fotorezisztor olvasását és annak kimenetének feltérképezését a LED fényerejének szabályozásához, készen áll arra, hogy alkalmazza ezeket és más, eddig megtanult készségeit.
Ki tudja cserélni a LED -et egy másik típusú kimenetre, például egy szervomotorra, és létrehozhat egy kódot, amely tükrözi az érzékelő aktuális fényszintjét, mint egy bizonyos pozíciót a mérő mentén?
Cserélje ki a fényellenállást más analóg bemenetekre, például ultrahangos távolságérzékelőre vagy potenciométerre.
Tudjon meg többet arról, hogyan figyelheti Arduino digitális és analóg bemeneteit a számítógépen keresztül a Soros monitor segítségével.
Ajánlott:
Arduino fotorezisztor LED: 4 lépés
Arduino fotorezisztoros LED: A projektem egy fotóellenállásról szól, amely csökkenti a LED fényét a külső fénytől függően. Inspirációt merítettem a Tech, A Style -ból. “Arduino fotorezisztor LED be/ki.” Instructables, Instructables, 2017. október 8., www.instructables.com/Arduino-Photore
Arduino Nano - TSL45315 Környezeti fényérzékelő oktatóanyag: 4 lépés
Arduino Nano - TSL45315 Környezeti fényérzékelő bemutató: A TSL45315 egy digitális környezeti fényérzékelő. Közelíti az emberi szem reakcióját különböző megvilágítási körülmények között. Az eszközök három választható integrációs idővel rendelkeznek, és közvetlen 16 bites lux kimenetet biztosítanak az I2C busz interfészen keresztül. A készülék együtt
Kapcsolható fényérzékelő éjszakai fény: 8 lépés (képekkel)
Kapcsolható fényérzékelő éjszakai fény: Ez az utasítás megmutatja, hogyan törtem fel az éjszakai fényérzékelőt, hogy manuálisan le lehessen kapcsolni. Olvassa el figyelmesen, vegye figyelembe a nyitott áramköröket, és szükség esetén kapcsolja ki a területet az egység tesztelése előtt
Vezeték nélküli Arduino fényhez illő LED-lámpa fotorezisztor használatával: 4 lépés
Vezeték nélküli Arduino Fény-illeszkedő LED-lámpa fotorezisztor használatával: Ez az oktatható részlet részletesen leírja a kezdetleges vezeték nélküli fényérzékelő LED-lámpa Arduino Unos és fotorezisztor használatával történő megépítéséhez szükséges lépéseket. Ennek az eszköznek egy lehetséges alkalmazása az ablak nélküli ablakokkal rendelkező helyiségek megvilágítása, mesterségesen
Arduino fényérzékelő bemutató: 3 lépés (képekkel)
Arduino fényérzékelő oktatóanyag: Az oktatóanyag elvégzése után megtudhatja, hogyan észlelheti a körülötte lévő fényszintek változásait. A projekt alkatrészeit Kuman biztosította. Megtalálja őket az Arduino UNO kezdőcsomagjában