Daftar Isi:
- Langkah 1: Bangun Sirkuit
- Langkah 2: Kode Dengan Blok
- Langkah 3: Kode Arduino Fotoresistor Dijelaskan
- Langkah 4: Bangun Sirkuit Arduino Fisik (opsional)
- Langkah 5: Selanjutnya, Coba…
Video: Sensor Cahaya (Photoresistor) Dengan Arduino di Tinkercad: 5 Langkah (dengan Gambar)
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:55
Proyek Tinkercad »
Mari pelajari cara membaca fotoresistor, jenis resistor variabel peka cahaya, menggunakan Input Analog Arduino. Ini juga disebut LDR (resistor tergantung cahaya).
Sejauh ini Anda telah belajar mengontrol LED dengan output analog Arduino, dan membaca potensiometer, yang merupakan jenis resistor variabel lainnya, jadi kita akan mengembangkan keterampilan tersebut dalam pelajaran ini. Ingatlah bahwa input analog Arduino (pin bertanda A0-A6) dapat mendeteksi sinyal listrik yang berubah secara bertahap, dan menerjemahkan sinyal tersebut menjadi angka antara 0 dan 1023.
Jelajahi rangkaian sampel yang tertanam di sini di bidang kerja dengan mengklik Mulai Simulasi dan mengklik fotoresistor (oval coklat dengan garis berlekuk-lekuk di tengah), lalu seret penggeser kecerahan untuk menyesuaikan input cahaya yang disimulasikan.
Dalam pelajaran ini, Anda akan membuat sirkuit simulasi ini sendiri di samping sampel. Untuk secara opsional membangun sirkuit fisik, kumpulkan papan Arduino Uno, kabel USB, papan tempat memotong roti tanpa solder, LED, resistor (220 ohm dan 4,7k ohm), fotoresistor, dan kabel papan tempat memotong roti.
Anda dapat mengikuti secara virtual menggunakan Sirkuit Tinkercad. Anda bahkan dapat melihat pelajaran ini dari dalam Tinkercad (perlu login gratis)! Jelajahi sirkuit sampel dan buat sendiri di sebelahnya. Tinkercad Circuits adalah program berbasis browser gratis yang memungkinkan Anda membangun dan mensimulasikan sirkuit. Ini sempurna untuk belajar, mengajar, dan membuat prototipe.
Langkah 1: Bangun Sirkuit
Lihatlah sirkuit papan tempat memotong roti yang digambarkan. Ini dapat berguna untuk melihat versi kabel gratis dari rangkaian sampel ini untuk perbandingan, digambarkan. Pada langkah ini, Anda akan membangun versi Anda sendiri dari sirkuit ini di samping sampel di bidang kerja.
Untuk mengikuti, muat jendela Sirkuit Tinkercad baru dan buat versi Anda sendiri dari sirkuit ini di samping sampel.
Identifikasi fotoresistor, LED, resistor, dan kabel yang terhubung ke Arduino di bidang kerja Sirkuit Tinkercad.
Seret Arduino Uno dan papan tempat memotong roti dari panel komponen ke bidang kerja, di sebelah sirkuit yang ada.
Hubungkan rel power (+) dan ground (-) papan tempat memotong roti ke Arduino 5V dan ground (GND), masing-masing, dengan mengklik untuk membuat kabel.
Perpanjang power dan ground rail ke bus masing-masing di tepi berlawanan dari papan tempat memotong roti (opsional untuk sirkuit ini tetapi praktik umum yang baik).
Colokkan LED ke dua baris papan tempat memotong roti yang berbeda sehingga katoda (negatif, kaki lebih pendek) terhubung ke satu kaki resistor (di mana saja dari 100-1K ohm baik-baik saja). Resistor dapat masuk dalam salah satu orientasi karena resistor tidak terpolarisasi, tidak seperti LED, yang harus dihubungkan dengan cara tertentu agar berfungsi.
Hubungkan kaki resistor lainnya ke ground.
Pasang anoda LED (positif, kaki lebih panjang) ke pin Arduino 9.
Seret fotoresistor dari panel komponen ke papan tempat memotong roti Anda, sehingga kakinya ditancapkan ke dua baris yang berbeda.
Klik untuk membuat kabel yang menghubungkan satu kaki fotoresistor ke daya.
Hubungkan kaki lainnya ke pin analog Arduino A0.
Seret resistor dari panel komponen untuk menghubungkan kaki fotoresistor yang terhubung ke A0 dengan ground, dan sesuaikan nilainya menjadi 4,7k ohm.
Langkah 2: Kode Dengan Blok
Mari gunakan editor blok kode untuk mendengarkan status fotoresistor, lalu atur LED ke kecerahan relatif berdasarkan seberapa banyak cahaya yang dilihat sensor. Anda mungkin ingin menyegarkan ingatan Anda tentang output analog LED dalam pelajaran Fading LED.
Klik tombol "Kode" untuk membuka editor kode. Blok Notasi abu-abu adalah komentar untuk mencatat apa yang ingin Anda lakukan pada kode Anda, tetapi teks ini tidak dijalankan sebagai bagian dari program.
Klik pada kategori Variabel di editor kode.
Untuk menyimpan nilai resistansi fotoresistor, buat variabel bernama "sensorValue".
Tarik keluar blok "set". Kami akan menyimpan status fotoresistor kami dalam variabel
nilai sensor
Klik pada kategori Input dan seret blok "pin baca analog", dan letakkan di blok "set" setelah kata "ke"
Karena potensiometer kami terhubung ke Arduino pada pin A0, ubah dropdown ke A0.
Klik kategori Output dan seret blok "cetak ke monitor serial".
Arahkan ke kategori Variables dan seret variabel sensorValue Anda ke blok "print to serial monitor", dan pastikan dropdown diatur untuk mencetak dengan baris baru. Secara opsional, mulai simulasi dan buka monitor serial untuk memverifikasi pembacaan yang masuk dan berubah saat Anda menyesuaikan sensor. Nilai input analog berkisar dari 0-1023.
Karena kita ingin menulis ke LED dengan angka antara 0 (mati) dan 255 (kecerahan penuh), kita akan menggunakan blok "peta" untuk melakukan perkalian silang untuk kita. Arahkan ke kategori Matematika dan seret keluar blok "peta".
Di slot pertama, seret blok variabel sensorValue, lalu atur rentang dari 0 hingga 255.
Kembali ke kategori Output, tarik keluar blok "set pin" analog, yang secara default mengatakan "set pin 3 to 0." Sesuaikan untuk mengatur pin 9.
Seret blok peta yang Anda buat sebelumnya ke bidang "ke" blok "set pin" untuk menulis nomor yang disesuaikan ke pin LED menggunakan PWM.
Klik kategori Kontrol dan seret keluar blok tunggu, dan sesuaikan untuk menunda program selama 1 detik.
Langkah 3: Kode Arduino Fotoresistor Dijelaskan
Ketika editor kode terbuka, Anda dapat mengklik menu tarik-turun di sebelah kiri dan memilih "Blok + Teks" untuk menampilkan kode Arduino yang dihasilkan oleh blok kode. Ikuti bersama saat kami menjelajahi kode secara lebih rinci.
int sensorNilai = 0;
Sebelum
mempersiapkan()
kami membuat variabel untuk menyimpan nilai saat ini yang dibaca dari potensiometer. Ini disebut
ke dalam
karena itu bilangan bulat, atau bilangan bulat apa pun.
batalkan pengaturan()
{ pinMode(A0, INPUT); pinMode(9, OUTPUT); Serial.begin(9600); }
Di dalam pengaturan, pin dikonfigurasi menggunakan
pinMode()
fungsi. Pin A0 dikonfigurasi sebagai input, sehingga kita dapat "mendengarkan" keadaan listrik dari potensiometer. Pin 9 dikonfigurasi sebagai output untuk mengontrol LED. Untuk dapat mengirim pesan, Arduino membuka saluran komunikasi serial baru dengan
Serial.mulai()
yang mengambil argumen baud rate (berapa kecepatan untuk berkomunikasi), dalam hal ini 9600 bit per detik.
lingkaran kosong()
{ // membaca nilai dari sensor sensorValue = analogRead(A0); // cetak pembacaan sensor sehingga Anda mengetahui jangkauannya Serial.println(sensorValue);
Apa pun setelah satu set garis miring
//
adalah komentar, yang membantu orang memahami dalam bahasa sederhana apa yang dimaksudkan untuk dilakukan oleh program, tetapi tidak termasuk dalam program yang dijalankan Arduino Anda. Dalam loop utama, fungsi yang disebut
analogBaca();
memeriksa status pin A0 (yang akan menjadi bilangan bulat dari 0-1023), dan menyimpan nilai itu dalam variabel
nilai sensor
// memetakan pembacaan sensor ke kisaran untuk LED
analogWrite(9, peta(sensorValue, 0, 1023, 0, 255)); penundaan(100); // Tunggu selama 100 milidetik }
Baris yang mengikuti komentar berikutnya melakukan banyak hal sekaligus. Ingat
analogMenulis()
mengambil dua argumen, nomor pin (9 dalam kasus kami), dan nilai untuk ditulis, yang harus antara 0 dan 255. Fungsi inline
peta()
membutuhkan lima argumen: angka untuk dievaluasi (variabel sensor yang selalu berubah), minimum yang diharapkan dan maksimum yang diharapkan, dan min dan maks yang diinginkan. Sehingga
peta()
fungsi dalam kasus kami adalah mengevaluasi sensorValue yang masuk, dan melakukan beberapa perkalian silang untuk menurunkan skala output dari 0-1023 menjadi 0-255. Hasilnya dikembalikan ke argumen kedua dari
analogWrite();
mengatur kecerahan LED yang terhubung ke pin 9.
Langkah 4: Bangun Sirkuit Arduino Fisik (opsional)
Untuk memprogram Arduino Uno fisik Anda, Anda harus menginstal perangkat lunak gratis (atau plugin untuk editor web), lalu membukanya. Berbagai fotosel memiliki nilai yang berbeda, jadi jika rangkaian fisik Anda tidak berfungsi, Anda mungkin perlu mengganti resistor yang dipasangkan dengannya. Pelajari lebih lanjut tentang pembagi tegangan dalam pelajaran Kelas Elektronik yang Dapat Diinstruksikan tentang resistor.
Hubungkan sirkuit Arduino Uno dengan mencolokkan komponen dan kabel agar sesuai dengan koneksi yang ditunjukkan di sini di Sirkuit Tinkercad. Untuk panduan yang lebih mendalam tentang bekerja dengan papan Arduino Uno fisik Anda, lihat kelas Arduino Instructables gratis.
Salin kode dari jendela kode Sirkuit Tinkercad dan tempel ke sketsa kosong di perangkat lunak Arduino Anda, atau klik tombol unduh (panah menghadap ke bawah) dan buka
file yang dihasilkan menggunakan Arduino. Anda juga dapat menemukan contoh ini di perangkat lunak Arduino dengan menavigasi ke File -> Contoh -> 03. Analog -> AnalogInOutSerial.
Colokkan kabel USB Anda dan pilih papan dan port Anda di menu Alat perangkat lunak.
Unggah kode dan gunakan tangan Anda untuk menutupi sensor agar tidak menerima cahaya, dan/atau menyinari sensor Anda!
Buka monitor serial untuk mengamati nilai sensor Anda. Kemungkinan nilai dunia nyata tidak akan meluas hingga 0 atau hingga 1023, tergantung pada kondisi pencahayaan Anda. Jangan ragu untuk menyesuaikan rentang 0-1023 ke minimum yang Anda amati dan maksimum yang diamati untuk mendapatkan rentang ekspresi kecerahan maksimum pada LED.
Langkah 5: Selanjutnya, Coba…
Sekarang setelah Anda belajar membaca fotoresistor dan memetakan outputnya untuk mengontrol kecerahan LED, Anda siap untuk menerapkan keterampilan itu dan keterampilan lain yang telah Anda pelajari sejauh ini.
Bisakah Anda menukar LED untuk jenis output lain, seperti motor servo, dan membuat beberapa kode untuk mencerminkan tingkat cahaya sensor saat ini sebagai posisi tertentu di sepanjang pengukur?
Coba tukar fotoresistor Anda dengan input analog lain seperti sensor jarak ultrasonik atau potensiometer.
Pelajari lebih lanjut tentang cara memantau input digital dan analog Arduino Anda melalui komputer menggunakan Serial Monitor.
Direkomendasikan:
Arduino Photoresistor LED: 4 Langkah
Arduino Photoresistor LED: Proyek saya adalah tentang resistor foto yang menurunkan cahaya LED tergantung pada cahaya luar. Saya mengambil inspirasi dari, Tech, A Style. “LED Fotoresistor Arduino Hidup/Mati.” Instructables, Instructables, 8 Oktober 2017, www.instructables.com/Arduino-Photore
Kotak Cahaya Misteri (Cahaya Malam): 4 Langkah
Kotak Cahaya Misteri (Cahaya Malam): Dan ini adalah proyek kecil yang menyenangkan yang mudah dibuat, Proyek ini adalah referensi dari https://www.instructables.com/id/Arduino-Traffic-L…,Tapi saya sudah mengubah banyak struktur situs asli,. Saya menambahkan lebih banyak led dan saya menggunakan kotak sepatu untuk mengemasnya, s
SENSOR CAHAYA MATAHARI SEDERHANA: 6 Langkah (dengan Gambar)
SENSOR CAHAYA MATAHARI SEDERHANA: Ikuti Langkah-langkah untuk berhasil membangun Sensor Cahaya Anda sendiri. Sangat berguna dalam sistem penerangan otomatis.Komponen: 7805 IC Regulator SL100 transistor LED (sebaiknya merah) 150ohm Resistor 9V supply Relay (6V) LDR (biasa tersedia satu) Menghubungkan dengan
Mengotomatiskan Cahaya Menggunakan Sensor Gerak MESH: 3 Langkah (dengan Gambar)
Mengotomatiskan Lampu Menggunakan Sensor Gerak MESH: Apakah Anda sering lupa mematikan lampu? Selalu mungkin untuk lupa mematikan lampu saat meninggalkan rumah atau kamar Anda, tetapi dengan Sensor Gerak MESH, kami memecahkan masalah dengan menggunakan fungsi deteksi dan tidak deteksi untuk membantu Anda
Cahaya Video Intim/ Cahaya Fotografi Genggam.: 7 Langkah (dengan Gambar)
Cahaya Video Intim/Lampu Fotografi Genggam.: Saya tahu apa yang Anda pikirkan. Dengan "intim," Maksud saya pencahayaan jarak dekat di bawah situasi cahaya yang sulit--tidak harus untuk "situasi intim." (Namun, itu juga bisa digunakan untuk itu…) Sebagai videografer New York City--atau