Daftar Isi:
- Langkah 1: Menghubungkan Modul dan Sirkuit NRF24L01
- Langkah 2: Mengkodekan Pemancar
- Langkah 3: Mengkode Penerima
- Langkah 4: SELESAI
Video: Lampu LED Pencocokan Cahaya Arduino Nirkabel Menggunakan Fotoresistor: 4 Langkah
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:57
Instruksi ini merinci langkah-langkah yang diperlukan untuk membuat lampu LED sensor cahaya nirkabel dasar menggunakan Arduino Unos dan fotoresistor. Aplikasi yang mungkin untuk perangkat ini adalah menerangi ruangan yang tidak memiliki jendela dengan sinar matahari buatan, sesuai dengan kondisi pencahayaan aktual di luar secara real time. Mari kita mulai!
Daftar Pasokan:
Arduino Uno x2
NRF24L01 Transceiver nirkabel x2 (Opsional - ransel NRF24L01 x2)
Transistor Darlington TIP120
fotoresistor
5mm LED x3
Tekan tombol
resistor 100 ohm x3
resistor 10k ohm x3
Berbagai Kabel Jumper
Langkah 1: Menghubungkan Modul dan Sirkuit NRF24L01
Dalam proyek ini, satu Arduino akan bertindak sebagai pemancar, mengirimkan data tingkat cahaya dari fotoresistor ketika tombol ditekan. Arduino lain akan berfungsi sebagai penerima, mengambil data itu dan mengubahnya menjadi sinyal ke LED. Gambar pertama menunjukkan diagram pemancar, dan gambar kedua menunjukkan penerima.
Catatan: di foto proyek saya, Anda akan melihat transceiver NRF24L01 terpasang ke PCB lain. Ini adalah modul ransel untuk transceiver, yang berfungsi sebagai pengatur daya. Selain mempermudah pemasangan kabel, ransel ini mengatur input daya untuk NRF24L01, memungkinkan penggunaan catu daya 5V. Saya telah menghilangkan ransel ini dalam diagram saya demi kejelasan.
(Jika Anda memutuskan untuk menggunakan ransel, silakan merujuk ke tautan ini untuk diagram lokasi pin yang mengacu pada stok NRF24L01).
Terlampir di bawah ini adalah salinan PDF dari sirkuit, untuk memperbesar/melihat detail dengan lebih mudah.
Langkah 2: Mengkodekan Pemancar
Langkah terakhir adalah pengkodean. Anda harus menginstal perpustakaan RadioHead atau perpustakaan yang setara untuk digunakan dengan modul NRF24L01.
Untuk proyek ini, Arduinos pemancar dan penerima menggunakan kode yang berbeda pada masing-masing. Berikut adalah kode untuk pemancar:
Saya juga telah melampirkan file.ino (NRF_Send) untuk kenyamanan.
#termasuk
#termasuk
RH_NRF24 nrf24; //Menginisialisasi transceiver sebagai nrf24
tombol int = 5; //Mengatur nilai pin untuk tombol dan photoresistor
int pResistor = A0; nilai int = 0; //Nilai cahaya dari 0-1023
batalkan pengaturan()
{ Serial.begin(9600); pinMode(tombol, INPUT); pinMode(pResistor, INPUT); if (!nrf24.init()) //Memberitahu pengguna jika inisialisasi modul gagal Serial.println("init failed"); // Default setelah init adalah 2,402 GHz (saluran 2), 2Mbps, 0dBm if (!nrf24.setChannel(1)) Serial.println("setChannel failed"); if (!nrf24.setRF(RH_NRF24::DataRate2Mbps, RH_NRF24::TransmitPower0dBm)) Serial.println("setRF gagal"); }
lingkaran kosong()
{ if (digitalRead(button))) { //Kirim pesan jika tombol ditekan value = analogRead(pResistor); //Baca nilai fotoresistor (0-1023) uint8_t data = {nilai}; //Menyetel larik yang disebut "data" yang berisi nilai cahaya nrf24.send(data, sizeof(data)); //Kirim array ke penerima nrf24.waitPacketSent(); //Tunggu sampai paket terkirim Serial.println("Nilai Cahaya: " +String(nilai)); //Mencetak nilai cahaya ke dalam serial monitor } }
Langkah 3: Mengkode Penerima
Untuk penerima, kode juga menggunakan Perpustakaan RadioHead.
#termasuk
#termasuk
RH_NRF24 nrf24;
int LEDPin = 3;
nilai int = 0; //Nilai cahaya dari 0-1023
batalkan pengaturan()
{ Serial.begin(9600); pinMode(LEDPin, OUTPUT); if (!nrf24.init()) Serial.println("init gagal"); // Default setelah init adalah 2,402 GHz (saluran 2), 2Mbps, 0dBm if (!nrf24.setChannel(1)) Serial.println("setChannel failed"); if (!nrf24.setRF(RH_NRF24::DataRate2Mbps, RH_NRF24::TransmitPower0dBm)) Serial.println("setRF gagal"); }
lingkaran kosong()
{ // Tunggu pesan uint8_t buf[RH_NRF24_MAX_MESSAGE_LEN]; //Menyimpan pesan yang diterima sebagai array yang disebut "buf" uint8_t len = sizeof(buf); //Menyimpan ukuran buf sebagai "len" while (nrf24.waitAvailableTimeout(200) && nrf24.recv(buf, &len)) //Menerima pesan selama 200 milidetik atau sampai seluruh pesan diterima { value = buf[0]; //Menetapkan nilai ke indeks pertama buf, yang merupakan int dari fotoresistor analogWrite(LEDPin, map(value, 0, 1023, 0, 255)); //Menyetel pin PWM untuk mengeluarkan nilai skala antara 0-255 untuk kecerahan LED Serial.println(String(value)); } analogWrite(LEDPin, 0); }
Langkah 4: SELESAI
Nikmati bermain-main dengan tingkat cahaya yang berbeda dan menonton LED mencocokkannya! Fotoresistor kadang-kadang bisa rewel, dan bekerja paling baik di ruangan gelap dengan sumber cahaya lokal (tetapi dapat bekerja di luar dengan matahari juga).
Direkomendasikan:
Cara Menggunakan Fotoresistor untuk Menyalakan LED Dengan Aurduino: 12 Langkah
Cara Menggunakan Photoresistor untuk Menyalakan LED Dengan Aurduino: Selamat pagi/siang/sore untuk semua penggemar Arduino! Hari ini, saya akan mendemonstrasikan cara menggunakan fotoresistor (fotosel) untuk menyalakan LED. Kode yang diberikan dengan Instruksi ini akan membiarkan LED redup secara normal, tetapi akan berkedip
Game Pencocokan Biner ke Desimal: 10 Langkah
Game Pencocokan Biner ke Desimal: Instruksi ini akan menunjukkan proses dan modul yang diperlukan untuk membuat game Pencocokan Biner ke Desimal kami. Dalam 60 detik, pengguna akan menerjemahkan dan memasukkan sebanyak mungkin angka desimal yang dihasilkan secara acak pada tampilan tujuh segmen ke dalam biner dengan togg
Robot Arduino Nirkabel Menggunakan Modul Nirkabel HC12: 7 Langkah
Robot Arduino Nirkabel Menggunakan Modul Nirkabel HC12: Hai teman-teman, selamat datang kembali. Pada postingan saya sebelumnya, saya sudah menjelaskan apa itu Rangkaian H Bridge, IC driver motor L293D, membonceng IC driver Motor L293D untuk mengemudikan driver motor arus tinggi dan bagaimana Anda dapat merancang dan membuat Papan Driver motor L293D Anda sendiri
Remote Nirkabel Menggunakan Modul 2.4Ghz NRF24L01 Dengan Arduino - Penerima Pemancar 4 Saluran / 6 Saluran Nrf24l01 untuk Quadcopter - Helikopter Rc - Pesawat Rc Menggunakan Arduino: 5 Langkah (dengan Gambar)
Remote Nirkabel Menggunakan Modul 2.4Ghz NRF24L01 Dengan Arduino | Penerima Pemancar 4 Saluran / 6 Saluran Nrf24l01 untuk Quadcopter | Helikopter Rc | Pesawat Rc Menggunakan Arduino: Untuk mengoperasikan mobil Rc | Quadcopter | Drone | pesawat RC | RC boat, kita selalu membutuhkan receiver dan transmitter, misalkan untuk RC QUADCOPTER kita membutuhkan transmitter dan receiver 6 channel dan jenis TX dan RX itu terlalu mahal, jadi kami akan membuatnya di
Sistem Lampu Lalu Lintas 4 Arah Menggunakan 5 Arduino dan 5 Modul Nirkabel NRF24L01: 7 Langkah (dengan Gambar)
Sistem Lampu Lalu Lintas 4 Arah Menggunakan 5 Arduino dan 5 Modul Nirkabel NRF24L01: Beberapa saat yang lalu saya membuat Instruksi yang merinci sepasang lampu lalu lintas di papan tempat memotong roti. Saya juga membuat Instruksi lain yang menunjukkan kerangka dasar untuk menggunakan modul nirkabel NRF24L01. Ini membuat saya berpikir! Ada cukup banyak