Tartalomjegyzék:
- 1. lépés: Az NRF24L01 modulok és áramkör bekötése
- 2. lépés: Az adó kódolása
- 3. lépés: A vevő kódolása
- 4. lépés: KÉSZ
Videó: Vezeték nélküli Arduino fényhez illő LED-lámpa fotorezisztor használatával: 4 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:43
Ez az útmutató 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ő létrehozásához szükséges lépéseket. Ennek az eszköznek az egyik lehetséges alkalmazása lehet a mesterséges napfény által megvilágított helyiség, amelynek ablakai nincsenek, és amely valós időben megfelel a kinti tényleges megvilágítási feltételeknek. Lássunk neki!
Ellátási lista:
Arduino Uno x2
NRF24L01 vezeték nélküli adó -vevő x2 (opcionális - NRF24L01 hátizsák x2)
TIP120 darlington tranzisztor
Fotorezisztor
5 mm -es LED -ek x3
Nyomógomb
100 ohmos ellenállás x3
10 k ohmos ellenállás x3
Különféle jumper vezetékek
1. lépés: Az NRF24L01 modulok és áramkör bekötése
Ebben a projektben az egyik Arduino adóként fog működni, és a nyomógomb megnyomásakor fényszintű adatokat küld a fotorezisztorból. A másik Arduino vevőként fog szolgálni, átveszi ezeket az adatokat, és átalakítja azt a LED -ek jelévé. Az első kép az adó diagramját, a második a vevőt mutatja.
Megjegyzés: a projektem fotóin észre fogod venni, hogy az NRF24L01 adó -vevő egy másik PCB -hez van csatlakoztatva. Ez egy hátizsák modul az adó -vevők számára, amely teljesítményszabályozóként működik. A kábelezés megkönnyítése mellett ezek a hátizsákok szabályozzák az NRF24L01 tápellátását, lehetővé téve az 5 V -os tápegység használatát. Ezeket a hátizsákokat kihagytam a diagramomból az egyértelműség kedvéért.
(Ha mégis úgy dönt, hogy a hátizsákokat használja, ezen a linken tekintheti meg a csapok elhelyezkedésének diagramját az NRF24L01 készletre hivatkozva).
Az alábbiakban az áramkör PDF másolata található a könnyebb nagyítás/részletes megtekintés érdekében.
2. lépés: Az adó kódolása
Az utolsó lépés a kódolás. Az NRF24L01 modulokkal való használathoz telepítenie kell a RadioHead könyvtárat vagy ezzel egyenértékű könyvtárat.
Ehhez a projekthez az adó és a vevő Arduinos különböző kódokat használ mindegyiken. Íme az adó kódja:
A kényelem kedvéért csatoltam az.ino fájlt (NRF_Send).
#befoglalni
#befoglalni
RH_NRF24 nrf24; // Az adó -vevő inicializálása nrf24 néven
int gomb = 5; // A gomb és a fényellenállás tű értékeinek beállítása
int pEllenállás = A0; int érték = 0; // A fény értéke 0-1023 között
üres beállítás ()
{Serial.begin (9600); pinMode (gomb, INPUT); pinMode (pResistor, INPUT); if (! nrf24.init ()) // Figyelmezteti a felhasználót, ha a modul inicializálása sikertelen Serial.println ("init failed"); // Az alapértelmezett értékek az init után 2,402 GHz (2. csatorna), 2 Mbps, 0 dBm, ha (! Nrf24.setChannel (1)) Serial.println ("setChannel failed"); if (! nrf24.setRF (RH_NRF24:: DataRate2Mbps, RH_NRF24:: TransmitPower0dBm)) Serial.println ("setRF nem sikerült"); }
üres hurok ()
{if (digitalRead (gomb)) {// Üzenet küldése a gomb megnyomásakor value = analogRead (pResistor); // Olvassa el a fotorezisztor értékét (0-1023) uint8_t data = {value}; // Beállít egy "data " nevű tömböt, amely tartalmazza az nrf24.send (data, sizeof (data)) fényértéket; // A tömb elküldése az nrf24.waitPacketSent () vevőkészülékre // Várja meg, amíg a csomag elküldésre kerül Serial.println ("Light Value:" +String (érték)); // A fényérték nyomtatása a soros monitorba}}
3. lépés: A vevő kódolása
A vevő számára a kód a RadioHead Library -t is használja.
#befoglalni
#befoglalni
RH_NRF24 nrf24;
int LEDPin = 3;
int érték = 0; // A fény értéke 0-1023 között
üres beállítás ()
{Serial.begin (9600); pinMode (LEDPin, OUTPUT); if (! nrf24.init ()) Serial.println ("init failed"); // Az alapértelmezett értékek az init után 2,402 GHz (2. csatorna), 2 Mbps, 0 dBm, ha (! Nrf24.setChannel (1)) Serial.println ("setChannel failed"); if (! nrf24.setRF (RH_NRF24:: DataRate2Mbps, RH_NRF24:: TransmitPower0dBm)) Serial.println ("setRF nem sikerült"); }
üres hurok ()
{// Várjon egy üzenetet uint8_t buf [RH_NRF24_MAX_MESSAGE_LEN]; // A kapott üzenet tárolása tömbként "buf " néven uint8_t len = sizeof (buf); // A buf méretét "len" -ként tárolja, miközben (nrf24.waitAvailableTimeout (200) && nrf24.recv (buf, & len)) // Az üzenetet 200 milliszekundumig vagy az egész üzenet beérkezéséig fogadja {value = buf [0]; // Beállítja az értéket a buf első indexére, amely az intro a fotorezisztor analogWrite (LEDPin, map (érték, 0, 1023, 0, 255)); // Beállítja, hogy a PWM pin 0-255 közötti skálázott értéket adjon ki a Serial.println (String (érték)) LED fényerősséghez; } analogWrite (LEDPin, 0); }
4. lépés: KÉSZ
Élvezze a játékot a különböző megvilágítási szinteken, és nézze meg a hozzájuk tartozó LED -eket! A fotorezisztor néha finnyás lehet, és a legjobban sötét szobában, helyi fényforrással működik (de kint is dolgozhat a napsütéssel).
Ajánlott:
Vezeték nélküli Arduino robot a HC12 vezeték nélküli modul használatával: 7 lépés
Vezeték nélküli Arduino robot a HC12 vezeték nélküli modul használatával: Hé srácok, üdv újra. Korábbi hozzászólásomban elmagyaráztam, hogy mi az a H -híd áramkör, az L293D motorvezérlő IC, a malackalapú L293D motorvezérlő IC a nagyáramú motorvezérlők vezetéséhez, és hogyan tervezheti meg és készítheti el saját L293D motorvezérlő tábláját
Távirányítású autó - Vezeték nélküli vezeték nélküli Xbox 360 vezérlővel: 5 lépés
Távirányítású autó - vezérelhető a vezeték nélküli Xbox 360 vezérlő használatával: Ezek az utasítások saját távirányítású autó létrehozásához, vezeték nélküli Xbox 360 vezérlővel vezérelhetők
Ötven méter hatótávolságú vezeték nélküli hozzáférési pont TP Link WN7200ND USB vezeték nélküli adapterrel Raspbian Stretch -en: 6 lépés
Ötven méter hatótávolságú vezeték nélküli hozzáférési pont TP Link WN7200ND USB vezeték nélküli adapterrel a Raspbian Stretch -en: A Raspberry Pi kiválóan alkalmas biztonságos vezeték nélküli hozzáférési pontok létrehozására, de nem rendelkezik jó hatótávolsággal, TP Link WN7200ND USB vezeték nélküli adaptert használtam annak kiterjesztéséhez. Szeretném megosztani, hogyan kell csinálniMiért akarok málna pi -t használni router helyett? T
DIY vezeték nélküli mikrofon vezeték nélküli gitárrendszerhez: 4 lépés
DIY Wireless Mic to Wireless Guitar System: Néztem néhány videót és néhány zenekart, és szinte közülük vezeték nélküli rendszert használ a gitáron. Megőrülök, mozogok, sétálok, és azt csinálok, amit akarnak, anélkül, hogy a zsinórt használnám, ezért arról álmodozom, hogy lesz egy .. De .. nekem ez most túl drága, ezért erre jutottam
Hackeljen be egy vezeték nélküli kaputelefont egy vezeték nélküli riasztókapcsolóba vagy be/ki kapcsolóba: 4 lépés
Hackeljen be egy vezeték nélküli kaputelefont egy vezeték nélküli riasztókapcsolóba vagy be/ki kapcsolóba: Nemrég építettem egy riasztórendszert, és telepítettem a házamba. Mágneses kapcsolókat használtam az ajtókon, és bekötöttem a padláson. Az ablakok egy másik történet, és a kemény huzalozás nem volt lehetőség. Szükségem volt egy vezeték nélküli megoldásra, és ez