Mundarija:
- 1 -qadam: NRF24L01 modullari va sxemasini ulash
- 2 -qadam: Transmitterni kodlash
- 3 -qadam: Qabul qiluvchini kodlash
- 4 -qadam: BILDI
Video: Fotoresistor yordamida simsiz Arduino yorug'lik mos keladigan LED chiroq: 4 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:27
Bu ko'rsatma Arduino Unos va fotorezistor yordamida oddiy simsiz nurni sezuvchi LED chiroqni yaratish uchun zarur bo'lgan qadamlarni batafsil bayon qiladi. Sun'iy quyosh nuri bo'lmagan derazalari bo'lmagan xonani haqiqiy vaqtda tashqaridagi yorug'lik sharoitlariga mos keladigan tarzda yoritish mumkin. Qani boshladik!
Ta'minot ro'yxati:
Arduino Uno x2
NRF24L01 simsiz qabul qiluvchi x2 (ixtiyoriy - NRF24L01 xalta x2)
TIP120 darlington tranzistor
Fotoresistor
5 mm diodli LEDlar x3
Tugma
100 ohm qarshilik x3
10k ohmli qarshilik x3
Har xil o'tish simlari
1 -qadam: NRF24L01 modullari va sxemasini ulash
Ushbu loyihada bitta Arduino uzatuvchi vazifasini bajaradi, tugma bosilganda fotorezistordan yorug'lik darajasi ma'lumotlarini yuboradi. Boshqa Arduino qabul qiluvchi bo'lib xizmat qiladi, bu ma'lumotlarni oladi va uni LEDga signalga aylantiradi. Birinchi rasmda uzatuvchi diagrammasi, ikkinchisida qabul qiluvchining tasviri ko'rsatilgan.
E'tibor bering: mening loyihamning fotosuratlarida siz NRF24L01 uzatgichlari boshqa PCBga ulanganini ko'rasiz. Bu quvvat regulyatori vazifasini bajaruvchi uzatgichlar uchun ryukzak moduli. Kabelni ulashni osonlashtirishdan tashqari, bu xalta NRF24L01 uchun quvvat manbaini tartibga soladi, bu esa 5V quvvat manbaidan foydalanishga imkon beradi. Men aniqlik uchun diagrammada bu sumkalarni qoldirganman.
(Agar siz ryukzaklardan foydalanishga qaror qilsangiz, iltimos, NRF24L01 zaxirasiga qarab, pinlar joylashuvi diagrammasini ko'ring).
Kattalashtirish/batafsil ko'rish uchun sxemaning PDF nusxasi quyida ilova qilingan.
2 -qadam: Transmitterni kodlash
Oxirgi qadam - kodlash. NRF24L01 modullaridan foydalanish uchun siz RadioHead kutubxonasini yoki unga teng keladigan kutubxonani o'rnatishingiz kerak bo'ladi.
Ushbu loyiha uchun Arduinos uzatuvchi va qabul qiluvchisi har birida har xil kodlardan foydalanadi. Bu erda transmitter kodi:
Men ham qulaylik uchun.ino faylini (NRF_Send) biriktirdim.
#qo'shing
#qo'shing
RH_NRF24 nrf24; // Nrf24 sifatida qabul qilgichni ishga tushirish
int tugmasi = 5; // Tugma va fotorezistor uchun pin qiymatlarini o'rnatish
int pResistor = A0; int qiymati = 0; // 0-1023 gacha bo'lgan yorug'lik qiymati
bo'sh o'rnatish ()
{Serial.begin (9600); pinMode (tugma, INPUT); pinMode (pResistor, INPUT); if (! nrf24.init ()) // Modulni ishga tushirish Serial.println ("init muvaffaqiyatsiz") bajarilmasa, foydalanuvchini ogohlantiradi; // Boshlangandan keyin standart sozlamalar 2,402 gigagertsli (2 -kanal), 2Mbps, 0dBm bo'lsa (! Nrf24.setChannel (1)) Serial.println ("setChannel muvaffaqiyatsiz"); agar (! nrf24.setRF (RH_NRF24:: DataRate2Mbps, RH_NRF24:: TransmitPower0dBm)) Serial.println ("setRF bajarilmadi"); }
bo'sh halqa ()
{if (digitalRead (tugma)) {// Agar tugma bosilsa, xabar yuboring value = analogRead (pResistor); // Fotorezistor qiymatini o'qing (0-1023) uint8_t ma'lumotlar = {qiymat}; // nrf24.send (data, sizeof (data)) yorug'lik qiymatini o'z ichiga olgan "data " nomli qatorni o'rnatadi; // massivni qabul qiluvchiga yuboring nrf24.waitPacketSent (); // Paket yuborilishini kuting Serial.println ("Yorug'lik qiymati:" +String (qiymat)); // yorug'lik qiymatini ketma -ket monitorga chop eting}}
3 -qadam: Qabul qiluvchini kodlash
Qabul qiluvchilar uchun kod RadioHead kutubxonasidan ham foydalanadi.
#qo'shing
#qo'shing
RH_NRF24 nrf24;
int LEDPin = 3;
int qiymati = 0; // 0-1023 gacha bo'lgan yorug'lik qiymati
bo'sh o'rnatish ()
{Serial.begin (9600); pinMode (LEDPin, OUTPUT); if (! nrf24.init ()) Serial.println ("init muvaffaqiyatsiz"); // Boshlangandan keyin standart sozlamalar 2,402 gigagertsli (2 -kanal), 2Mbps, 0dBm bo'lsa (! Nrf24.setChannel (1)) Serial.println ("setChannel muvaffaqiyatsiz"); agar (! nrf24.setRF (RH_NRF24:: DataRate2Mbps, RH_NRF24:: TransmitPower0dBm)) Serial.println ("setRF bajarilmadi"); }
bo'sh halqa ()
{// uint8_t buf [RH_NRF24_MAX_MESSAGE_LEN] xabarini kuting; // Qabul qilingan xabarni "buf " qatori sifatida saqlang uint8_t len = sizeof (buf); // buf hajmini "len" sifatida saqlang (nrf24.waitAvailableTimeout (200) && nrf24.recv (buf, & len)) // Xabarni 200 millisekundga oladi yoki butun xabar qabul qilinmaguncha {value = buf [0]; // qiymatni buF birinchi indeksiga o'rnatadi, bu analogWrite fotorezistoridan int (LEDPin, map (qiymat, 0, 1023, 0, 255)); // PWM pinini Serial.println (String (qiymat)) LED yorqinligi uchun 0-255 oralig'idagi qiymatni chiqarishga o'rnatadi; } analogWrite (LEDPin, 0); }
4 -qadam: BILDI
Har xil yorug'lik darajalarida o'ynang va LEDlarning ularga mos kelishini tomosha qiling! Fotorezistor ba'zida murakkab bo'lishi mumkin va mahalliy yorug'lik manbai bo'lgan qorong'i xonada yaxshi ishlaydi (lekin tashqarida quyoshda ham ishlashi mumkin).
Tavsiya:
YN160 Pro LED yoritgichli yorug'lik chiroqlari, o'zgaruvchan toklar va yorug'lik chiroqlari: 8 qadam
YN160 Pro LED yoritgichli yorug'lik manbai (AC)
Lego mos keladigan tungi yorug'lik: 3 qadam
Lego -ga mos keladigan tungi yorug'lik: Bu loyiha sizning sevimli Legos -laringizni ko'rsatish uchun Lunchbox Electronics PTH LED g'ishtlaridan foydalangan holda tezkor tungi yorug'likdir va lehimlanishni talab qilmaydi! Qani boshladik
Yorug'lik va tovush effektlari bilan Arduino asosidagi yorug'lik chiroqlari: 14 qadam (rasmlar bilan)
Yorug'lik va tovush effektlari bilan Arduino asosidagi Lightsaber: Salom jedi! Bu ko'rsatma kinofilmda bo'lgani kabi ko'rinadigan, ovoz chiqaradigan va bajaradigan chiroqni yasash haqida. Yagona farq - bu metallni kesolmaydi: (Bu qurilma Arduino platformasiga asoslangan va men unga juda ko'p funktsiyalar va funktsiyalarni beraman, u
Sovuq katodli yorug'lik yordamida makro fotografiya yorug'lik manbai: 9 qadam (rasmlar bilan)
Sovuq katodli chiroqlar yordamida makro fotografiya yorug'lik manbai: Yengil chodir yordamida tortishish paytida past zichlikdagi yorug'lik manbai juda foydali. LCD ekranlarda topilgan CCFL (sovuq katodli lyuminestsent nur) bu maqsad uchun juda mos keladi. CCFL va unga tegishli yorug'lik tarqatuvchi panellarni singan lapto ichida topish mumkin
Led yorug'lik qopqog'i / himoyalangan qopqoq yoki yorug'lik: 4 qadam
Led Light Cap / Safty Cap yoki Light: bu tanlovga qo'shilgan narsalardan biri, men bu g'oyani asboblar qutisidagi "h2on" jurnalidan olganman, uning nalgeen shisha uchun qopqog'i nuri, shuning uchun men sotib olish o'rniga "myselft" ni aytdim. 22 dollar evaziga men o'zimnikidan bir necha dollarga kam pul topdim