Isi kandungan:
- Langkah 1: Bina Litar
- Langkah 2: Kod Dengan Blok
- Langkah 3: Photoresistor Arduino Code dijelaskan
- Langkah 4: Bina Litar Arduino Fizikal (pilihan)
- Langkah 5: Seterusnya, Cuba…
Video: Sensor Cahaya (Photoresistor) Dengan Arduino di Tinkercad: 5 Langkah (dengan Gambar)
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:09
Projek Tinkercad »
Mari belajar bagaimana membaca photoresistor, jenis perintang pemboleh ubah yang peka cahaya, menggunakan Input Analog Arduino. Ia juga dipanggil LDR (perintang bergantung cahaya).
Sejauh ini anda sudah belajar mengawal LED dengan output analog Arduino, dan membaca potensiometer, yang merupakan jenis perintang berubah-ubah, jadi kami akan memanfaatkan kemahiran tersebut dalam pelajaran ini. Ingat bahawa input analog Arduino (pin bertanda A0-A6) dapat mengesan isyarat elektrik yang berubah secara beransur-ansur, dan menerjemahkan isyarat itu menjadi angka antara 0 dan 1023.
Terokai litar sampel yang tertanam di sini di tempat kerja dengan mengklik Start Simulation dan mengklik pada photoresistor (coklat bujur dengan garis licin di tengah), kemudian seret slaid kecerahan untuk menyesuaikan input cahaya yang disimulasikan.
Dalam pelajaran ini, anda akan membina litar simulasi ini di sepanjang sampel. Untuk membina litar fizikal secara pilihan, kumpulkan papan Arduino Uno anda, kabel USB, papan roti tanpa pateri, LED, perintang (220 ohm dan 4.7k ohm), fotoresistor, dan wayar papan roti.
Anda boleh mengikuti hampir dengan menggunakan Tinkercad Circuits. Anda juga dapat melihat pelajaran ini dari dalam Tinkercad (diperlukan log masuk percuma)! Terokai litar sampel dan bina sendiri di sebelahnya. Tinkercad Circuits adalah program berasaskan penyemak imbas percuma yang membolehkan anda membina dan mensimulasikan litar. Ia sangat sesuai untuk belajar, mengajar, dan membuat prototaip.
Langkah 1: Bina Litar
Lihatlah litar papan roti yang digambarkan. Adalah berguna untuk melihat versi kabel litar sampel percuma ini untuk perbandingan, yang digambarkan. Dalam langkah ini, anda akan membina versi litar ini sendiri di samping sampel di tempat kerja.
Untuk mengikuti, muatkan tetingkap Litar Tinkercad baru dan bina versi litar anda sendiri di sepanjang sampel.
Kenal pasti fotoresistor, LED, perintang, dan wayar yang disambungkan ke Arduino di tempat kerja Tinkercad Circuits.
Seret Arduino Uno dan papan roti dari panel komponen ke tempat kerja, di sebelah litar yang ada.
Sambungkan rel papan kuasa (+) dan landasan (-) ke Arduino 5V dan ground (GND), masing-masing, dengan mengklik untuk membuat wayar.
Panjangkan rel kuasa dan landasan ke bas masing-masing di pinggir papan roti yang bertentangan (pilihan untuk litar ini tetapi amalan biasa yang baik).
Pasang LED ke dalam dua baris papan roti yang berbeza sehingga katod (kaki negatif, lebih pendek) menyambung ke satu kaki perintang (di mana sahaja dari 100-1K ohm baik-baik saja). Perintang boleh masuk ke salah satu orientasi kerana perintang tidak terpolarisasi, tidak seperti LED, yang mesti disambungkan dengan cara tertentu untuk berfungsi.
Sambungkan kaki perintang yang lain ke tanah.
Pasangkan anod LED (kaki positif, lebih panjang) ke pin Arduino 9.
Seret fotoresistor dari panel komponen ke papan roti anda, sehingga kakinya terpasang pada dua baris yang berbeza.
Klik untuk membuat wayar yang menghubungkan satu kaki fotoresistor dengan kuasa.
Sambungkan kaki yang lain ke pin analog Arduino A0.
Seret perintang dari panel komponen untuk menyambungkan kaki fotoresistor yang disambungkan ke A0 dengan tanah, dan sesuaikan nilainya menjadi 4.7k ohm.
Langkah 2: Kod Dengan Blok
Mari gunakan editor blok kod untuk mendengar keadaan photoresistor, kemudian tetapkan LED ke kecerahan relatif berdasarkan berapa banyak cahaya yang dilihat oleh sensor. Anda mungkin ingin menyegarkan ingatan anda tentang output analog LED dalam pelajaran Fading LED.
Klik butang "Kod" untuk membuka penyunting kod. Blok Notasi kelabu adalah komen untuk membuat catatan tentang apa yang anda ingin kod anda lakukan, tetapi teks ini tidak dilaksanakan sebagai sebahagian daripada program.
Klik pada kategori Pemboleh ubah dalam penyunting kod.
Untuk menyimpan nilai rintangan photoresistor, buat pemboleh ubah bernama "sensorValue".
Seret blok "set". Kami akan menyimpan keadaan photoresistor kami dalam pemboleh ubah
nilai sensor
Klik pada kategori Input dan tarik blok "pin baca analog", dan masukkan ke blok "set" selepas kata "ke"
Oleh kerana potensiometer kami disambungkan ke Arduino pada pin A0, ubah dropdown ke A0.
Klik kategori Output dan tarik blok "cetak ke monitor bersiri".
Navigasi ke kategori Pemboleh ubah dan seret pemboleh ubah sensorValue anda ke blok "cetak ke monitor bersiri", dan pastikan dropdown diset untuk dicetak dengan baris baru. Secara pilihan, mulakan simulasi dan buka monitor bersiri untuk memastikan pembacaan masuk dan berubah semasa anda menyesuaikan sensor. Nilai input analog berkisar antara 0-1023.
Oleh kerana kami ingin menulis kepada LED dengan angka antara 0 (mati) dan 255 (kecerahan penuh), kami akan menggunakan blok "peta" untuk melakukan pendaraban silang bagi kami. Navigasi ke kategori Matematik dan tarik blok "peta".
Pada slot pertama, seret blok pemboleh ubah sensorValue, kemudian tetapkan julat dari 0 hingga 255.
Kembali ke kategori Output, tarik blok "set pin" analog, yang secara lalai mengatakan "set pin 3 hingga 0." Laraskannya untuk menetapkan pin 9.
Seret blok peta yang anda buat sebelumnya ke bidang "set pin" blok "ke" blok untuk menulis nombor yang disesuaikan ke pin LED menggunakan PWM.
Klik kategori Control dan tarik blok tunggu, dan sesuaikan untuk menunda program selama.1 saat.
Langkah 3: Photoresistor Arduino Code dijelaskan
Apabila penyunting kod dibuka, anda dapat mengklik menu lungsur di sebelah kiri dan memilih "Blok + Teks" untuk mendedahkan kod Arduino yang dihasilkan oleh blok kod. Ikuti semasa kami meneroka kodnya dengan lebih terperinci.
int sensorValue = 0;
Sebelum itu
persediaan ()
kami membuat pemboleh ubah untuk menyimpan nilai semasa yang dibaca dari potensiometer. Ia dipanggil
int
kerana ia adalah nombor bulat, atau nombor bulat.
persediaan tidak sah ()
{pinMode (A0, INPUT); pinMode (9, OUTPUT); Serial.begin (9600); }
Di dalam penyediaan, pin dikonfigurasi menggunakan
pinMode ()
fungsi. Pin A0 dikonfigurasi sebagai input, sehingga kita dapat "mendengarkan" keadaan elektrik potensiometer. Pin 9 dikonfigurasi sebagai output untuk mengawal LED. Untuk dapat menghantar mesej, Arduino membuka saluran komunikasi bersiri baru dengan
Bersiri. Bermula ()
yang mengambil argumen kadar baud (kecepatan untuk berkomunikasi), dalam hal ini 9600 bit sesaat.
gelung kosong ()
{// baca nilai dari sensor sensorValue = analogRead (A0); // cetak bacaan sensor sehingga anda mengetahui julatnya Serial.println (sensorValue);
Apa sahaja selepas satu set garis miring
//
adalah komen, yang membantu orang memahami dengan jelas apa program yang hendak dilakukan, tetapi tidak termasuk dalam program yang dijalankan oleh Arduino anda. Dalam gelung utama, fungsi dipanggil
analogRead ();
memeriksa keadaan pin A0 (yang akan menjadi nombor bulat dari 0-1023), dan menyimpan nilai tersebut dalam pemboleh ubah
nilai sensor
// memetakan bacaan sensor ke jarak untuk LED
analogWrite (9, peta (sensorValue, 0, 1023, 0, 255)); kelewatan (100); // Tunggu 100 milisaat}
Garis berikut komen seterusnya banyak berlaku sekaligus. Ingatlah
analogWrite ()
mengambil dua argumen, nombor pin (9 dalam kes kami), dan nilai untuk menulis, yang harus antara 0 dan 255. Fungsi sebaris
peta ()
mengambil lima argumen: nombor yang akan dinilai (pemboleh ubah sensor yang selalu berubah), minimum yang diharapkan dan maksimum yang diharapkan, dan min dan maksimum yang diinginkan. Jadi
peta ()
fungsi dalam kes kami adalah menilai sensorValue masuk, dan melakukan beberapa pendaraban silang untuk menurunkan output dari 0-1023 hingga 0-255. Hasilnya dikembalikan ke hujah kedua dari
analogWrite ();
menetapkan kecerahan LED yang disambungkan ke pin 9.
Langkah 4: Bina Litar Arduino Fizikal (pilihan)
Untuk memprogram Arduino Uno fizikal anda, anda perlu memasang perisian percuma (atau pemalam untuk penyunting web), kemudian membukanya. Pelbagai photocell mempunyai nilai yang berbeza, jadi jika litar fizikal anda tidak berfungsi, anda mungkin perlu menukar perintang yang dipasangkan dengannya. Ketahui lebih lanjut mengenai pembahagi voltan dalam pelajaran Instructables Electronics Class pada perintang.
Pasang litar Arduino Uno dengan memasang komponen dan wayar agar sesuai dengan sambungan yang ditunjukkan di sini di Tinkercad Circuits. Untuk panduan yang lebih mendalam mengenai bekerja dengan papan Arduino Uno fizikal anda, lihat kelas Instructables Arduino percuma.
Salin kod dari tetingkap kod Tinkercad Circuits dan tempelkan ke dalam lakaran kosong dalam perisian Arduino anda, atau klik butang muat turun (anak panah menghadap ke bawah) dan buka
fail yang dihasilkan menggunakan Arduino. Anda juga boleh mendapatkan contoh ini dalam perisian Arduino dengan menavigasi ke Fail -> Contoh -> 03. Analog -> AnalogInOutSerial.
Pasangkan kabel USB anda dan pilih papan dan port anda di menu Alat perisian.
Muat naik kod dan gunakan tangan anda untuk menutupi sensor daripada menerima cahaya, dan / atau menyinari sensor anda!
Buka monitor bersiri untuk melihat nilai sensor anda. Kemungkinan nilai dunia nyata tidak akan meluas hingga 0 atau hingga 1023, bergantung pada keadaan pencahayaan anda. Jangan ragu untuk menyesuaikan julat 0-1023 ke minimum yang anda perhatikan dan maksimum yang diperhatikan untuk mendapatkan julat ekspresi kecerahan maksimum pada LED.
Langkah 5: Seterusnya, Cuba…
Sekarang setelah anda belajar membaca photoresistor dan memetakan outputnya untuk mengawal kecerahan LED, anda sudah bersedia untuk menggunakan kemahiran tersebut dan kemahiran lain yang telah anda pelajari sejauh ini.
Bolehkah anda menukar LED untuk jenis output lain, seperti motor servo, dan membuat beberapa kod untuk mencerminkan tahap cahaya sensor semasa sebagai kedudukan tertentu di sepanjang tolok?
Cuba tukar fotoresistor anda untuk input analog lain seperti sensor jarak ultrasonik atau potensiometer.
Ketahui lebih lanjut mengenai cara memantau input digital dan analog Arduino anda melalui komputer menggunakan Monitor Serial.
Disyorkan:
$ 30 Cahaya 3D Dipimpin Berkembang Cahaya Berkembang: 4 Langkah
$ 30 Cetak 3D Cekap Cahaya Led Berkembang: Ini adalah lampu LED bercetak kecil kecil yang saya buat untuk tanaman sayuran saya. Direka untuk semurah mungkin dan membiarkan anda menanam makanan sendiri, tetapi untuk memberi kecekapan maksimum dan tidak melibatkan apa-apa pematerian. Sangat sesuai untuk menaikkan cahaya
Cahaya Mood Animasi & Cahaya Malam: 6 Langkah (dengan Gambar)
Cahaya Mood Animasi & Cahaya Malam: Mempunyai daya tarikan yang tidak terbatas pada obsesi dengan cahaya, saya memutuskan untuk membuat pilihan PCB modular kecil yang dapat digunakan untuk membuat paparan cahaya RGB dengan ukuran apa pun. Setelah membuat PCB modular, saya menemui idea untuk mengaturnya menjadi
Tarik Cahaya - Modul Cahaya Menggunakan Neopixel & Pull Up Switch: 6 Langkah (dengan Gambar)
Tarik Cahaya - Modul Cahaya Menggunakan Neopixel & Pull Up Switch: Ciri-ciri modul Cahaya Arduino Uno Perkakasan & kandang yang dibeli dari internet Neopixel & Bekalan elektrik yang dipinjam dari Pusat Pengajian Informatik & Modul Reka Bentuk Produk dikawal oleh bekalan kuasa Semua fungsi dikendalikan melalui
Muzik Reaktif Cahaya -- Cara Membuat Muzik Reaktif Cahaya Muzik Super Sederhana untuk Membuat Desktop Hebat .: 5 Langkah (dengan Gambar)
Muzik Reaktif Cahaya || Cara Membuat Muzik Reaktif Cahaya Muzik Super Sederhana untuk Membuat Desktop Yang Hebat: Hai apa lagi, Hari ini kita akan membina projek yang sangat menarik. Hari ini kita akan membina cahaya reaktif muzik. Led akan mengubah kecerahannya mengikut bass yang sebenarnya merupakan isyarat audio frekuensi rendah. Ia sangat mudah untuk dibina. Kami akan
Pena Lukisan Cahaya LED: Alat untuk Menggambar Doodle Cahaya: 6 Langkah (dengan Gambar)
Pena Lukisan Cahaya LED: Alat untuk Menggambar Doodle Cahaya: Isteri saya Lori adalah tukang coret yang tidak henti-henti dan saya telah bermain dengan fotografi pendedahan yang lama selama bertahun-tahun. Diilhamkan oleh kumpulan seni cahaya PikaPika dan kemudahan kamera digital, kami mengambil bentuk seni lukisan cahaya untuk melihat apa yang dapat kami lakukan. Kami mempunyai