Isi kandungan:
- Langkah 1: Pendawaian Modul dan Litar NRF24L01
- Langkah 2: Mengekod Pemancar
- Langkah 3: Mengekod Penerima
- Langkah 4: SELESAI
Video: Lampu LED Pencocokan Cahaya Arduino Tanpa Wayar Menggunakan Fotoresistor: 4 Langkah
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:11
Perkara ini dapat diperincikan mengenai langkah-langkah yang diperlukan untuk membina lampu LED penderia cahaya tanpa wayar menggunakan Arduino Unos dan photoresistor. Kemungkinan aplikasi untuk peranti ini adalah menerangi ruangan yang tidak memiliki tingkap dengan sinar matahari buatan, sesuai dengan kondisi pencahayaan yang sebenarnya di luar dalam waktu nyata. Mari kita mulakan!
Senarai Bekalan:
Arduino Uno x2
NRF24L01 Transceiver tanpa wayar x2 (Pilihan - beg galas NRF24L01 x2)
Transistor darlington TIP120
Fotoresistor
LED 5mm x3
Tekan butang
Perintang 100 ohm x3
Perintang 10k ohm x3
Pelbagai Wayar Jumper
Langkah 1: Pendawaian Modul dan Litar NRF24L01
Dalam projek ini, satu Arduino akan bertindak sebagai pemancar, menghantar data tahap cahaya dari photoresistor ketika butang tekan ditekan. Arduino yang lain akan berfungsi sebagai penerima, mengambil data tersebut dan mengubahnya menjadi isyarat kepada LED. Gambar pertama menunjukkan gambarajah pemancar, dan yang kedua menunjukkan penerima.
Catatan: dalam foto projek saya, anda akan melihat pemancar NRF24L01 dilampirkan ke PCB lain. Ini adalah modul ransel untuk transceiver, yang berfungsi sebagai pengatur kuasa. Selain membuat pendawaian lebih mudah, ransel ini mengatur input daya untuk NRF24L01, yang memungkinkan penggunaan catu daya 5V. Saya telah menghilangkan beg galas ini dalam rajah saya demi kejelasan.
(Sekiranya anda memutuskan untuk menggunakan ransel, rujuk pautan ini untuk gambarajah lokasi pin dengan merujuk kepada stok NRF24L01).
Lampirkan di bawah ini adalah salinan PDF dari litar, untuk melihat zoom / tontonan yang lebih terperinci.
Langkah 2: Mengekod Pemancar
Langkah terakhir adalah pengekodan. Anda perlu memasang perpustakaan RadioHead atau pustaka yang setara untuk digunakan dengan modul NRF24L01.
Untuk projek ini, Arduino pemancar dan penerima masing-masing menggunakan kod yang berbeza. Berikut adalah kod untuk pemancar:
Saya juga telah melampirkan fail.ino (NRF_Send) untuk kemudahan.
#sertakan
#sertakan
RH_NRF24 nrf24; // Memulakan transceiver sebagai nrf24
butang int = 5; // Menetapkan nilai pin untuk butang dan fotoresistor
int pResistor = A0; nilai int = 0; // Nilai cahaya dari 0-1023
persediaan tidak sah ()
{Serial.begin (9600); pinMode (butang, INPUT); pinMode (pResistor, INPUT); if (! nrf24.init ()) // Memberi amaran kepada pengguna sekiranya permulaan modul gagal Serial.println ("init gagal"); // Lalai selepas init ialah 2.402 GHz (saluran 2), 2Mbps, 0dBm jika (! Nrf24.setChannel (1)) Serial.println ("setChannel gagal"); jika (! nrf24.setRF (RH_NRF24:: DataRate2Mbps, RH_NRF24:: TransmitPower0dBm)) Serial.println ("setRF gagal"); }
gelung kosong ()
{if (digitalRead (butang)) {// Hantar mesej jika butang ditekan nilai = analogRead (pResistor); // Baca nilai photoresistor (0-1023) data uint8_t = {value}; // Menetapkan array yang disebut "data " yang mengandungi nilai cahaya nrf24.send (data, sizeof (data)); // Hantar array ke penerima nrf24.waitPacketSent (); // Tunggu sehingga paket dihantar Serial.println ("Nilai Ringan:" + String (nilai)); // Cetak nilai cahaya ke monitor bersiri}}
Langkah 3: Mengekod Penerima
Untuk penerima, kodnya juga menggunakan RadioHead Library.
#sertakan
#sertakan
RH_NRF24 nrf24;
int LEDPin = 3;
nilai int = 0; // Nilai cahaya dari 0-1023
persediaan tidak sah ()
{Serial.begin (9600); pinMode (LEDPin, OUTPUT); jika (! nrf24.init ()) Serial.println ("init gagal"); // Lalai selepas init adalah 2.402 GHz (saluran 2), 2Mbps, 0dBm jika (! Nrf24.setChannel (1)) Serial.println ("setChannel gagal"); jika (! nrf24.setRF (RH_NRF24:: DataRate2Mbps, RH_NRF24:: TransmitPower0dBm)) Serial.println ("setRF gagal"); }
gelung kosong ()
{// Tunggu mesej uint8_t buf [RH_NRF24_MAX_MESSAGE_LEN]; // Simpan mesej yang diterima sebagai larik yang disebut "buf " uint8_t len = sizeof (buf); // Simpan saiz buf sebagai "len" sementara (nrf24.waitAvailableTimeout (200) && nrf24.recv (buf, & len)) // Menerima mesej selama 200 milisaat atau sehingga keseluruhan mesej diterima {value = buf [0]; // Menetapkan nilai ke indeks pertama buf , yang merupakan int dari photoresistor analogWrite (LEDPin, peta (nilai, 0, 1023, 0, 255)); // Menetapkan pin PWM untuk menghasilkan nilai skala antara 0-255 untuk Serial.println kecerahan LED (String (nilai)); } analogWrite (LEDPin, 0); }
Langkah 4: SELESAI
Nikmati bermain-main dengan tahap cahaya yang berbeza dan menonton LED memadankannya! Fotoresistor kadang-kadang boleh berubah-ubah, dan berfungsi paling baik di dalam bilik gelap dengan sumber cahaya setempat (tetapi juga boleh berfungsi di luar dengan cahaya matahari).
Disyorkan:
Robot Arduino Tanpa Wayar Menggunakan Modul Tanpa Wayar HC12: 7 Langkah
Robot Arduino Tanpa Wayar Menggunakan Modul Tanpa Wayar HC12: Hai kawan-kawan, selamat datang kembali. Dalam catatan sebelumnya, saya telah menjelaskan apa itu H Bridge Circuit, IC pemandu motor L293D, IC pemandu L293D piggybacking untuk memandu pemandu motor semasa yang tinggi dan bagaimana anda boleh merancang dan membuat Papan Pemandu motor L293D anda sendiri
Sistem Lampu Lalu Lintas 4 Jalan Menggunakan Modul Tanpa Wayar 5 Arduino dan 5 NRF24L01: 7 Langkah (dengan Gambar)
Sistem Lampu Lalu Lintas 4 Jalan Menggunakan Modul Tanpa Wayar 5 Arduino dan 5 NRF24L01: Beberapa ketika yang lalu saya membuat Instruksional yang memperincikan sepasang lampu isyarat di papan roti. Saya juga membuat Instructable lain yang menunjukkan kerangka asas untuk menggunakan modul tanpa wayar NRF24L01. Ini membuat saya berfikir! Terdapat banyak
Penyejuk / Dudukan Laptop Kos Sifar (Tanpa Lem, Tanpa Penggerudian, Tanpa Mur & Baut, Tanpa Skru): 3 Langkah
Penyejuk / Dudukan Laptop Kos Sifar (Tanpa Lem, Tanpa Penggerudian, Tanpa Mur & Baut, Tanpa Skru): KEMASKINI: SILA KINDLY VOTE FOR MY INSTRUCTABLE, TERIMA KASIH ^ _ ^ ANDA JUGA MUNGKIN MENGUNDI LAIN MASUK DI www.instructables.com/id/Zero-Cost-Aluminium-Furnace-No-Propane-No-Glue-/ ATAU MUNGKIN MEMBERIKAN suara untuk rakan baik saya
Peretas Pintu Tanpa Wayar ke Suis Penggera Tanpa Wayar atau Suis Hidup / Mati: 4 Langkah
Peretas Pintu Tanpa Wayar ke Suis Penggera Tanpa Wayar atau Suis Hidup / Mati: Saya baru-baru ini membina sistem penggera dan memasangnya di rumah saya. Saya menggunakan suis magnet di pintu dan memasang kabel melalui loteng. Tingkap adalah kisah lain dan pendawaian keras bukan pilihan. Saya memerlukan penyelesaian tanpa wayar dan ini
Tukar Penghala Tanpa Wayar ke Jalur Akses 2x Ekstensi Tanpa Wayar: 5 Langkah
Tukar Penghala Tanpa Wayar ke Jalur Akses 2x Ekstensi Tanpa Wayar: Saya mempunyai sambungan internet tanpa wayar yang lemah di rumah saya disebabkan oleh RSJ (rasuk sokongan logam di siling) dan ingin meningkatkan isyarat atau menambah pemanjang tambahan untuk seluruh rumah. Saya telah melihat pemanjangan sekitar & £ 50 dalam sebuah elektro