Mündəricat:
- Addım 1: NRF24L01 Modullarının və Dövrünün Kabellənməsi
- Addım 2: Vericinin kodlaşdırılması
- Addım 3: Alıcının kodlaşdırılması
- Addım 4: BİTDİ
Video: Fotoresistordan istifadə edən Simsiz Arduino İşıq Uyğun LED Lampası: 4 addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:47
Bu təlimat, Arduino Unos və bir fotorezistordan istifadə edərək sadə bir simsiz işıq algılayıcı LED lampa qurmaq üçün lazım olan addımları ətraflı izah edir. Bu cihaz üçün mümkün olan bir tətbiq, süni günəş işığı olan pəncərələri olmayan bir otağın işıqlandırılmasıdır, bu da xaricdəki həqiqi işıqlandırma şərtlərinə uyğun gəlir. Gəlin başlayaq!
Təchizat siyahısı:
Arduino Uno x2
NRF24L01 Simsiz qəbuledici x2 (İsteğe bağlı - NRF24L01 sırt çantası x2)
TIP120 darlington tranzistoru
Fotoresistor
5 mm LED x3
Düymə
100 ohm müqavimət x3
10k ohm müqavimət x3
Müxtəlif keçid telləri
Addım 1: NRF24L01 Modullarının və Dövrünün Kabellənməsi
Bu layihədə, bir Arduino, düyməyə basıldığında fotorezistordan işıq səviyyəsi məlumatları göndərən bir ötürücü rolunu oynayacaq. Digər Arduino, bu məlumatları alaraq LED -lərə siqnala çevirən bir alıcı kimi xidmət edəcək. Birinci şəkil verici diaqramını, ikincisi isə alıcını göstərir.
Qeyd: layihəmin fotoşəkillərində NRF24L01 ötürücülərinin başqa bir PCB -yə qoşulduğunu görəcəksiniz. Bu, güc tənzimləyicisi kimi fəaliyyət göstərən ötürücülər üçün bir sırt çantası moduludur. Kablolama işini asanlaşdırmaqla yanaşı, bu sırt çantaları 5V enerji təchizatı istifadəsinə imkan verən NRF24L01 üçün enerji girişini tənzimləyir. Aydın olmaq üçün diaqramımda bu sırt çantalarını buraxmışam.
(Sırt çantalarından istifadə etmək qərarına gəlsəniz, stok NRF24L01 -ə istinadən pin yerlərinin diaqramı üçün bu linkə baxın).
Daha yaxınlaşdırma/ətraflı izləmə üçün sxemin bir PDF nüsxəsi aşağıda əlavə edilmişdir.
Addım 2: Vericinin kodlaşdırılması
Son addım kodlaşdırmaqdır. NRF24L01 modulları ilə istifadə etmək üçün RadioHead kitabxanasını və ya ona bərabər bir kitabxana qurmalısınız.
Bu layihə üçün ötürücü və alıcı Arduinos hər birində fərqli kod istifadə edir. Vericinin kodu budur:
Rahatlıq üçün.ino faylını da (NRF_Send) əlavə etmişəm.
#daxil edin
#daxil edin
RH_NRF24 nrf24; // Nrf24 olaraq qəbuledicinin işə salınması
int düyməsi = 5; // Düymə və fotorezistor üçün pin dəyərlərinin təyin edilməsi
int pResistor = A0; int dəyəri = 0; // İşığın dəyəri 0-1023
boş quraşdırma ()
{Serial.begin (9600); pinMode (düymə, GİRİŞ); pinMode (pResistor, GİRİŞ); if (! nrf24.init ()) // Modulun işə salınması Serial.println uğursuz olarsa istifadəçini xəbərdar edir ("init uğursuz oldu"); // Varsayılanlardan sonra init 2.402 GHz (kanal 2), 2Mbps, 0dBm if (! Nrf24.setChannel (1)) Serial.println ("setChannel fail"); əgər (! nrf24.setRF (RH_NRF24:: DataRate2Mbps, RH_NRF24:: TransmitPower0dBm)) Serial.println ("setRF uğursuz oldu"); }
boşluq döngəsi ()
{if (digitalRead (button)) {// Düyməyə basıldığı təqdirdə mesaj göndərin = analogRead (pResistor); // Fotorezistorun dəyərini oxuyun (0-1023) uint8_t data = {dəyər}; // nrf24.send (data, sizeof (data)) işıq dəyərini ehtiva edən "data " adlı bir sıra təyin edir; // Dizini nrf24.waitPacketSent () alıcıya göndərin; // Paketin göndərilməsini gözləyin Serial.println ("İşıq Dəyəri:" +String (dəyər)); // İşıq dəyərini seriyalı monitora yazdırın}}
Addım 3: Alıcının kodlaşdırılması
Alıcı üçün kod RadioHead Kitabxanasından da istifadə edir.
#daxil edin
#daxil edin
RH_NRF24 nrf24;
int LEDPin = 3;
int dəyəri = 0; // İşığın dəyəri 0-1023
boş quraşdırma ()
{Serial.begin (9600); pinMode (LEDPin, Çıxış); if (! nrf24.init ()) Serial.println ("init uğursuz oldu"); // Varsayılanlar, initdən sonra 2.402 GHz (kanal 2), 2Mbps, 0dBm əgər (! Nrf24.setChannel (1)) Serial.println ("setChannel uğursuz oldu"); əgər (! nrf24.setRF (RH_NRF24:: DataRate2Mbps, RH_NRF24:: TransmitPower0dBm)) Serial.println ("setRF uğursuz oldu"); }
boşluq döngəsi ()
{// bir mesaj gözləyin uint8_t buf [RH_NRF24_MAX_MESSAGE_LEN]; // Alınan mesajı "buf " adlı bir sıra olaraq saxlayın uint8_t len = sizeof (buf); // buf ölçüsünü "len" olaraq saxlayın (nrf24.waitAvailableTimeout (200) && nrf24.recv (buf, & len)) // Mesajı 200 milisaniyə ərzində və ya bütün mesaj alınana qədər alır {value = buf [0]; // Photorezistor analogWrite (LEDPin, map (dəyər, 0, 1023, 0, 255)) olan int olan buf in ilk indeksinə dəyər təyin edir; // PWM pinini LED parlaqlığı Serial.println (String (dəyər)) üçün 0-255 arasında ölçülü bir dəyər çıxarmaq üçün təyin edir; } analogWrite (LEDPin, 0); }
Addım 4: BİTDİ
Fərqli işıq səviyyələri ilə oynamaqdan və LEDlərin onlara uyğun olmasını seyr etməkdən zövq alın! Fotorezistor bəzən çətin ola bilər və lokal işıq mənbəyi olan qaranlıq bir otaqda daha yaxşı işləyir (ancaq günəşlə birlikdə çöldə də işləyə bilər).
Tövsiyə:
Aurduino ilə Bir LED Yandırmaq üçün Fotoresistordan Necə İstifadə Edilir: 12 addım
Aurduino ilə LED Yandırmaq üçün Fotoresistordan Necə İstifadə Edilir: Bütün Arduino həvəskarlarına sabahınız xeyir/günortadan sonra/axşamınız xeyir! Bu gün bir LED yandırmaq üçün bir fotorezistorun (fotosel) necə istifadə ediləcəyini nümayiş etdirəcəyəm. Bu Təlimatla verilən kod LED -in normal olaraq sönməsinə imkan verəcək, ancaq yanıb -sönəcək
ESP8266: 3 Addımlardan istifadə edən Alexa Uyğun IR Körpüsü
ESP8266 istifadə edən Alexa Uyğun IR Körpüsü: Alexa vasitəsi ilə ağıllı televizorumuzu idarə etmək üçün bir yol istədim. Təəssüf ki, Hi-Sense 65 " Smart TV -nin WiFi vasitəsilə idarə olunma qabiliyyəti yoxdur. Əlaqə qurmaq üçün istifadə edə biləcəyim bir növ API olsaydı yaxşı olardı
HC12 Simsiz Modulundan istifadə edən Simsiz Arduino Robotu: 7 addım
HC12 Simsiz Modulundan istifadə edən Simsiz Arduino Robotu: Hey uşaqlar, yenidən xoş gəlmisiniz. Əvvəlki yazımda, H Körpü Devrinin nə olduğunu, L293D motor sürücüsü IC, yüksək cərəyanlı motor sürücülərini idarə etmək üçün piggybacking L293D Motor sürücüsü IC və öz L293D motor Sürücü Kartını necə dizayn edə biləcəyinizi izah etdim
Arduino ilə 2.4Ghz NRF24L01 Modulundan istifadə edən Simsiz Uzaqdan - Nrf24l01 4 Kanal / Quadcopter üçün 6 Kanal Verici Alıcısı - Rc Helikopteri - Arduino istifadə edərək Rc təyyarəsi: 5 addım (şəkillərlə)
Arduino ilə 2.4Ghz NRF24L01 Modulundan istifadə edən Simsiz Uzaqdan | Nrf24l01 4 Kanal / Quadcopter üçün 6 Kanal Verici Alıcısı | Rc Helikopteri | Arduino istifadə edərək Rc Plane: Rc avtomobili idarə etmək | Quadcopter | Drone | RC təyyarəsi | RC qayığı, həmişə bir alıcıya və ötürücüyə ehtiyacımız var, RC QUADCOPTER üçün 6 kanallı bir vericiyə və alıcıya ehtiyacımız olduğunu və bu tip TX və RX -in çox bahalı olduğunu düşünürük, buna görə də özümüzdə hazırlayacağıq
Super Kiçik Arduino Uyğun İdarə Heyətindən istifadə edən Kiçik Siqnal Sistemi!: 10 addım
Super Kiçik Arduino Uyğun İdarə Heyətindən istifadə edən Kiçik Siqnal Sistemi !: Salam, bu gün kiçik bir sərin layihə hazırlayacağıq. Özü ilə qarşısındakı bir cisim arasındakı məsafəni ölçən kiçik bir siqnalizasiya cihazı quracağıq. Və obyekt müəyyən bir məsafəni keçdikdə, cihaz sizə bu barədə məlumat verəcək