Pelajaran 98-9: Pengukur Tingkat Tegangan LED Menggunakan Arduino atau lampu berjalan dengan potensiometer
Proyek ini menunjukkan kepada Anda cara membuat meteran tingkat tegangan yang menggunakan lima LED sebagai tampilan grafik batang, yang digerakkan sepenuhnya oleh Arduino dan satu potensiometer. Saat Anda memutar kenop, Arduino membaca perubahan tegangan pada pin analog dan menyalakan satu LED per volt, sehingga deretan lampu benar-benar "berjalan" naik dan turun mengikuti kenop. Ini adalah salah satu cara paling jelas untuk memahami input analog, karena Anda dapat melihat konversi analog-ke-digital terjadi secara real time sebagai batang lampu fisik.
Nilai praktisnya di sini jauh melampaui sekadar pertunjukan lampu. Setelah Anda memahami cara memetakan tegangan terukur ke sekumpulan output, Anda dapat menggunakan kembali pola yang sama persis untuk instrumentasi nyata. Misalnya, Anda dapat membuat:
- Indikator muatan baterai yang menunjukkan kapasitas tersisa dari power bank 12 V atau USB sebagai deretan LED.
- Pengukur level tangki air, di mana sensor pelampung mengeluarkan tegangan yang sebanding dengan kedalaman.
- Tampilan batang suhu menggunakan sensor suhu analog seperti LM35.
- Meteran kekuatan sinyal atau level audio untuk penerima radio atau amplifier.
- Pembacaan sensor sederhana untuk setiap transduser analog 0–5 V (tekanan, cahaya, posisi).
- Probe tegangan uji bangku untuk memeriksa rel daya tanpa layar multimeter.
Karena ambang batas dihitung sebagai persentase dari tegangan board, kode yang sama berfungsi pada board 5 V seperti Uno dan Mega serta pada board 3,3 V hanya dengan perubahan satu baris.
Perangkat Keras dan Komponen
Daftar komponennya sengaja dibuat minimal, dan semuanya dijelaskan di bagian awal video (di video pada 01:54). Anda akan membutuhkan:
- Satu board Arduino (Uno, Nano, atau Mega).
- Lima LED, idealnya dengan satu warna agar batang terbaca dengan jelas, meskipun warna campuran juga tidak masalah.
- Lima resistor pembatas arus. Tutorial ini menggunakan resistor 1 kΩ, tetapi apa pun dari sekitar 300 Ω hingga 1 kΩ akan berfungsi; nilai yang lebih tinggi hanya membuat LED lebih redup (di video pada 05:33).
- Satu potensiometer. Baik jenis kenop putar maupun jenis geser didemonstrasikan (di video pada 02:19).
- Breadboard dan kabel jumper.
Catatan singkat tentang LED itu sendiri, karena ini penting untuk pengkabelan: LED adalah dioda, jadi hanya menghantarkan satu arah. Sisi datar dari badan plastik, dan kaki yang lebih pendek, adalah katoda (negatif). Kaki yang lebih panjang adalah anoda (positif). Tutorial ini membahas simbol dan bentuk fisiknya secara rinci (di video pada 02:39).
Nilai resistor tidak sembarangan. Sebuah LED mengalami penurunan tegangan sekitar 2 V, dan jenis 3 mm serta 5 mm yang kecil menarik sekitar 10 mA. Dengan suplai 5 V, sisa 3 V harus jatuh pada resistor, sehingga hukum Ohm memberikan R = 3 V / 0,01 A = 300 Ω. Itu adalah nilai untuk kecerahan maksimum; menggunakan 1 kΩ adalah pilihan yang aman dan sedikit lebih redup (di video pada 04:41).
Panduan Pengkabelan
Bagian pengkabelan LED identik dengan proyek lampu berjalan sebelumnya: setiap anoda LED terhubung ke pin digitalnya sendiri, dan setiap katoda melewati resistor ke rel ground bersama. Dalam tutorial ini, LED terhubung ke pin 7, 6, 5, 4, dan 3 (di video pada 43:04).
Potensiometer adalah satu-satunya komponen baru. Kedua pin luarnya terhubung ke dua rel daya — satu pin luar ke ground dan yang lainnya ke 5 V (atau 3,3 V jika Anda mengukur sistem 3,3 V). Pin tengah, yang disebut wiper, adalah output dan harus terhubung ke pin analog A0 (di video pada 43:30). Wiper inilah yang menghasilkan tegangan variabel: saat Anda memutar kenop, wiper bergeser di sepanjang jalur resistif dan tegangan yang dihasilkannya berubah dengan mulus antara kedua rel.
Satu detail penting: jika Anda melepas potensiometer saat rangkaian berjalan, pin analog akan mengambang dan LED akan berkedip secara acak. Perilaku ini didemonstrasikan dalam video (di video pada 48:52) dan merupakan pengingat yang baik bahwa input analog selalu membutuhkan sumber tegangan yang terdefinisi.
Penjelasan Kode
Kodenya singkat dan sebagian besar sudah jelas, jadi bagian ini hanya berfokus pada bagian yang ingin Anda ubah. Semua pengaturan ini berada di bagian atas sketch.
Definisi pin. Ini memberi tahu Arduino pin mana yang terhubung ke LED dan potensiometer. Jika Anda mengkabelkan LED secara berbeda, ubah angka-angka ini agar sesuai — urutannya penting, karena LED1 adalah ambang batas terendah dan LED5 tertinggi.
const int potPin = A0;//define a pin to connect potentiometer
const int LED1 = 7;
const int LED2 = 6;
const int LED3 = 5;
const int LED4 = 4;
const int LED5 = 3;Tegangan board. Ini adalah nilai tunggal yang paling penting untuk dilakukan dengan benar. Ini adalah referensi yang terhadapnya setiap ambang batas dihitung. Atur ke 5.0 untuk Uno atau Mega, dan ke 3.3 untuk Nano 3.3 V atau board serupa. Jika Anda membiarkannya salah, setiap LED akan beralih pada tegangan yang salah (dalam video pada 44:19).
float boardVoltage= 5.0;//for UNO and MEGA 5.0V for Nano either 5V or 3.3V
Tampilan tegangan serial. Atur ini ke true untuk mencetak tegangan yang diukur ke Serial Monitor pada 9600 baud, yang sangat berguna saat kalibrasi. Atur ke false untuk membisukan output setelah semuanya berfungsi.
boolean showVoltage = true;//true or false to read voltage in serial monitor
Cara konversinya bekerja. Konverter analog-ke-digital Arduino mengembalikan angka dari 0 hingga 1023, karena ini adalah konverter 10-bit (210 = 1024 langkah). Kode menskalakan angka mentah tersebut menjadi tegangan nyata menggunakan tegangan board sebagai referensi. Ini adalah baris yang perlu diingat jika Anda pernah beralih ke board 12-bit seperti Due, di mana Anda akan membaginya dengan 4095 sebagai gantinya.
int sensorValue = analogRead(A0);
float voltage = sensorValue * (boardVoltage / 1023.0);
Logika ambang batas. Alih-alih mengodekan tegangan secara hard-code, setiap langkah dinyatakan sebagai persentase dari tegangan board. Pada 95% atau lebih, kelima LED menyala; di atas 80% hanya empat; dan seterusnya turun hingga 20%, di mana satu LED menyala. Pendekatan persentase inilah yang membuat sketsa dapat dipindahkan antara board 5 V dan 3.3 V tanpa menulis ulang perbandingannya.
if (voltage >= boardVoltage*0.95)
{
digitalWrite(LED1, HIGH);
digitalWrite(LED2, HIGH);
digitalWrite(LED3, HIGH);
digitalWrite(LED4, HIGH);
digitalWrite(LED5, HIGH);
}
Karena kode menggunakan else if, tepat satu cabang berjalan per satu putaran melalui loop, sehingga hanya jumlah LED yang benar yang pernah menyala sekaligus. Penundaan 50 ms di akhir setiap loop menjaga tampilan agar tidak berkedip.
Proyek Langsung dan Demonstrasi
Dengan sketsa yang telah diunggah, buka Serial Monitor pada 9600 baud dan putar kenop perlahan. Tegangan yang dicetak dan bilah LED saling mengikuti dengan dekat: pada sekitar 1 V satu LED menyala, pada 2 V dua menyala, dan seterusnya hingga sekitar 4.8 V di mana kelimanya menyala (dalam video pada 47:37). Pembacaan berada dalam beberapa perseratus volt dari nilai yang diharapkan, yang sangat baik untuk konverter 10-bit.
Jika langkah-langkahnya terlihat sedikit tidak merata, biasanya itu adalah resistor bukan kodenya. Tutorial mencatat bahwa resistor karbon-film standar memiliki toleransi 10%, sedangkan tipe metal-film biru biasanya 1% dan memberikan langkah yang jauh lebih ketat dan lebih akurat (dalam video pada 48:18).
Anda juga dapat menukar potensiometer rotary dengan potensiometer slide dan mendapatkan perilaku yang sama dengan nuansa linier, yang merupakan opsi bagus jika Anda berencana memasang meter tersebut di panel (dalam video pada 49:07).
Jika Anda ingin memindahkan cahaya secara manual alih-alih dengan kenop, itu dibahas dalam Pelajaran 98-8: Cahaya Berjalan dengan Tombol Tekan dan LED dengan Arduino. Dan jika Anda hanya ingin LED berjalan dengan pengatur waktunya sendiri, lihat Pelajaran 98-7: Cahaya Berjalan Menggunakan Arduino dan 5 LED.
Proyek terkait dari video ini
- Pelajaran 98-1: Cara Menyalakan dan Mematikan LED dengan Arduino
- Pelajaran 98-2: Cara Menyalakan dan Mematikan LED Menggunakan Tombol Tekan dengan Arduino
- Pelajaran 98-3: Cara Menyalakan/Mematikan LED Toggle Menggunakan Tombol Tekan dengan Arduino
- Pelajaran 98-4: Memudarkan Cahaya LED Menggunakan Arduino: Kontrol Kecerahan
- Pelajaran 98-5: Memudarkan Cahaya Saat Tombol Ditekan Menggunakan Arduino
- Pelajaran 98-6: Permainan LED Jungkat-jungkit dengan Arduino
- Pelajaran 98-7: Cahaya Berjalan Menggunakan Arduino dan 5 LED
- Pelajaran 98-8: Cahaya Berjalan dengan Tombol Tekan dan LED dengan Arduino
- Pelajaran 98-10: Lampu Lalu Lintas Arduino
Bab
- [00:00] Ikhtisar 10 proyek LED
- [02:29] Dasar-dasar LED, simbol, dan perhitungan resistor
- [42:25] Pengenalan meter tingkat tegangan LED
- [43:04] Pengkabelan LED dan potensiometer
- [43:54] Menjelaskan kode bilah tegangan
- [44:19] Mengatur referensi tegangan board
- [46:00] Logika ambang batas dan langkah persentase
- [47:14] Demonstrasi: membaca tegangan dengan bilah LED
- [48:18] Toleransi resistor dan akurasi
- [49:07] Menggunakan potensiometer slide
This code has not been parsed yet. Please return to the admin panel to parse it.
Hal-hal yang mungkin Anda butuhkan
-
AmazonSunFounder Arduino Learning Kit on AliExpresss.click.aliexpress.com
-
Amazon
-
Amazon
-
Amazon
Sumber daya & referensi
-
DokumentasiDocumentation for SunFounder 3 in 1 IoT/Smart Car/Learning Kitdocs.sunfounder.com
-
Eksternal
-
Eksternal
-
Eksternal
Berkas📁
Pustaka Arduino (zip)
-
Kode sumber kit belajar Smart Car 3-in-1 SunFounder
3in1-kit-main-v2.zip12.80 MB
Panduan Pengguna
-
Manual perakitan SunFounder 3-in-1 Arduino Smart CarDokumen ini menunjukkan perakitan langkah demi langkah SunFounder 3-in-1 Arduino Smart Car
SunFounder_car_assembly_manual.pdf1.20 MB