Daftar Isi:

Sensor Cahaya (Photoresistor) Dengan Arduino di Tinkercad: 5 Langkah (dengan Gambar)
Sensor Cahaya (Photoresistor) Dengan Arduino di Tinkercad: 5 Langkah (dengan Gambar)

Video: Sensor Cahaya (Photoresistor) Dengan Arduino di Tinkercad: 5 Langkah (dengan Gambar)

Video: Sensor Cahaya (Photoresistor) Dengan Arduino di Tinkercad: 5 Langkah (dengan Gambar)
Video: Tutorial tinkercad Arduino sensor ldr nyala mati lampu led 2024, November
Anonim
Sensor Cahaya (Photoresistor) Dengan Arduino di Tinkercad
Sensor Cahaya (Photoresistor) Dengan Arduino di Tinkercad

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.

Gambar
Gambar

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

Bangun Sirkuit
Bangun Sirkuit
Bangun Sirkuit
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

Kode Dengan Blok
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)

Membangun Sirkuit Arduino Fisik (opsional)
Membangun 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: