Daftar Isi:
Video: Mengubah Warna LED Menggunakan POT dan ATTINY85: 3 Langkah
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:57
Dalam proyek ini kami menggunakan potensiometer (POT) untuk mengubah warna pada LED menggunakan ATTINY85.
Beberapa definisi -
Potensiometer adalah perangkat dengan sekrup kecil / mekanisme putar yang ketika diputar menghasilkan hambatan listrik yang berbeda. Anda dapat melihat dari gambar beranotasi di atas bahwa POT memiliki 3 pin, yaitu, +, -, dan output. POT diberi daya dengan menghubungkan pin + dan - ke vcc dan ground masing-masing pada catu daya. Saat sekrup POT diputar, resistansi keluaran berubah dan menyebabkan LED berkurang atau bertambah intensitasnya.. Dengan kata lain, ini adalah resistor variabel. Mereka digunakan dalam hal-hal seperti dimmer lampu rumah.
LED - Ini adalah lampu kecil yang menyala ketika arus listrik melewatinya. Dalam hal ini, kita akan menggunakan LED warna-warni yang memiliki 3 pin, satu ground (tengah) dan dua pin yang masing-masing menunjukkan warna hijau dan merah saat dipicu.
ATTINY85 - ini adalah chip mikro kecil berbiaya rendah yang dapat Anda program seperti Arduino.
Tinjauan - Output dari POT terhubung ke ATTINY85. Saat sekrup POT diputar, resistansi perbedaan dihasilkan sebagai angka antara 0 dan 255. ATTINY dapat mengukur ini dan mengambil tindakan berbeda tergantung pada nilai resistansi POT. Dalam hal ini, kami telah memprogramnya untuk terhubung ke LED sebagai berikut.
Jika angkanya lebih besar dari 170, alihkan LED ke HIJAU.
Jika angkanya kurang dari 170 tetapi lebih besar dari 85 alihkan LED ke MERAH.
jika angkanya kurang dari 85 nyalakan LED HIJAU DAN MERAH yang menghasilkan ORANGE.
BOM
1 x 3 pin LED1 x ATTINY 85
1 x POT (B100K)
1 x papan tempat memotong roti dan kabel
1 catu daya.
Langkah 1: Memprogram ATTINY85
Dalam hal pemrograman ATTINY85, silakan merujuk ke instruksi saya sebelumnya -
Kode ditunjukkan di bawah ini. Beberapa hal yang perlu diperhatikan adalah bahwa dua pin ATTINY, PB3, pin fisik 2, PB2, pin fisik 7 terhubung, dalam mode digital, ke LED untuk menghasilkan perubahan warna. ATTINY pin PB4, fisik pin 3, terhubung ke POT dalam mode analog, yang berarti dapat membaca nilai antara 0 dan 254. Saya menyesuaikan kode yang saya temukan di internet jadi saya mengakui bahwa bekerja. -
void initADC(){ // *** // *** Pinout ATtiny25/45/85: // *** PDIP/SOIC/TSSOP // *** ============= ================================================== ============================== // *** // *** (PCINT5/RESET/ADC0/dW) PB5 [1]* [8] VCC // *** (PCINT3/XTAL1/CLKI/OC1B/ADC3) PB3 [2] [7] PB2 (SCK/USCK/SCL/ADC1/T0/INT0/PCINT2) // * ** (PCINT4/XTAL2/CLKO/OC1B/ADC2) PB4 [3] [6] PB1 (MISO/DO/AIN1/OC0B/OC1A/PCINT1) // *** GND [4] [5] PB0 (MOSI/ DI/SDA/AIN0/OC0A/OC1A/AREF/PCINT0) // *** //pb4 - input untuk POT //pb3 led pin 1 //pb2 led pin 3 // ATTINY 85 frekuensi diatur pada internal 8 MHz /* fungsi ini menginisialisasi ADC
Catatan Prescaler ADC:
Prescaler ADC perlu diatur agar frekuensi input ADC berada di antara 50 - 200kHz.
Untuk informasi lebih lanjut, lihat tabel 17.5 "Pemilihan Prescaler ADC" di bab 17.13.2 "ADCSRA – Kontrol ADC dan Register Status A" (halaman 140 dan 141 pada lembar data ATtiny25/45/85 lengkap, Rev. 2586M–AVR–07/ 10)
Nilai prescaler yang valid untuk berbagai kecepatan clock
Jam Nilai prescaler yang tersedia --------------------------------------- 1 MHz 8 (125kHz), 16 (62.5kHz) 4 MHz 32 (125kHz), 64 (62.5kHz) 8 MHz 64 (125kHz), 128 (62.5kHz) 16 MHz 128 (125kHz)
Contoh di bawah ini mengatur prescaler ke 128 untuk mcu yang berjalan pada 8MHz
(periksa lembar data untuk nilai bit yang tepat untuk mengatur prescaler) */
// Resolusi 8-bit
// set ADLAR ke 1 untuk mengaktifkan hasil Left-shift (hanya bit ADC9.. ADC2 yang tersedia) // kemudian, hanya membaca ADCH yang cukup untuk hasil 8-bit (256 nilai) DDRB |= (1 << PB3); //Pin diatur sebagai output. DDRB |= (1 << PB2); //Pin diatur sebagai output. ADMUX = (1 << ADLAR) | // hasil shift kiri (0 << REFS1) | // Setel ref. tegangan ke VCC, bit 1 (0 << REFS0) | // Setel ref. tegangan ke VCC, bit 0 (0 << MUX3) | // gunakan ADC2 untuk input (PB4), MUX bit 3 (0 << MUX2) | // gunakan ADC2 untuk input (PB4), MUX bit 2 (1 << MUX1) | // gunakan ADC2 untuk input (PB4), MUX bit 1 (0 << MUX0); // gunakan ADC2 untuk input (PB4), MUX bit 0
ADCSRA =
(1 << ADEN) | // Aktifkan ADC (1 << ADPS2) | // setel prescaler ke 64, bit 2 (1 << ADPS1) | // setel prescaler ke 64, bit 1 (0 << ADPS0); // setel prescaler ke 64, bit 0 }
int utama (kosong)
{ initADC();
sementara(1)
{
ADCSRA |= (1 << ADSC); // memulai pengukuran ADC while (ADCSRA & (1 << ADSC)); // tunggu sampai konversi selesai
jika (ADCH > 170)
{ PORTB |= (1 << PB3); //Sematkan ke TINGGI. PORTB |= (1 << PB2); //Sematkan ke TINGGI. } else if (ADCH 85) { PORTB |= (1 << PB3); //Sematkan ke TINGGI. PORTB &= ~(1 << PB2); //Sematkan pin ke RENDAH
} lain {
PORTB |= (1 << PB2); //Sematkan ke TINGGI. PORTB &= ~(1 << PB3); //Sematkan pin ke RENDAH
}
}
kembali 0;
}
Langkah 2: Sirkuit
pin ATTINY
PB3, pin fisik 2 - pin LED terhubung 1
PB4, pin fisik 3, terhubung ke pin tengah POT
GND, pin fisik 4, terhubung ke rel negatif - catu daya
PB2, pin fisik 7 - pin LED terhubung 3
VCC, pin fisik 8, terhubung ke rel positif - catu daya
POT
pos dan pin neg terhubung ke rel masing-masing - catu daya.
LED
pin tengah terhubung ke rel negatif - catu daya
Saya bereksperimen menggunakan catu daya 3 dan 3,3 volt dan keduanya berfungsi.
Langkah 3: Kesimpulan
Kemampuan ATTINY85 untuk berpindah antara mode analog dan digital sangat kuat dan dapat digunakan di sejumlah aplikasi yang berbeda, mis. mengendarai motor berkecepatan variabel dan membuat not musik. Saya akan mengeksplorasi ini di instruksi mendatang. Saya harap Anda telah menemukan ini berguna.
Direkomendasikan:
Cara Menggunakan Photocell untuk Mengubah Warna LED RGB: 3 Langkah
Cara Menggunakan Fotosel untuk Mengubah Warna LED RGB: Untuk proyek Arduino saya bagian 01 ide awal saya adalah menggunakan sensor suhu untuk menghidupkan dan mematikan LED, tetapi sayangnya sensor suhu saya belum datang yang membuat saya harus memilih dari sensor yang tersedia di starter kit Elegoo, dan bertanya-tanya apakah
Mengubah Warna LED: 13 Langkah
LED Pengubah Warna: Saya ditugaskan untuk membuat prototipe menggunakan semacam sensor untuk menghasilkan output. Saya memutuskan untuk menggunakan fotosel, yang mengukur jumlah cahaya di suatu lingkungan, dan LED RGB sebagai outputnya. Saya tahu saya ingin menggabungkan kemampuan LED
Mengubah Warna Lampu Cincin LED: 11 Langkah
Lampu Cincin LED Pengubah Warna: Hari ini kita akan membuat lampu cincin LED pengubah warna 20 inci. Saya tahu lampu cincin biasanya berbentuk lingkaran tetapi yang ini akan menjadi persegi untuk membuat segalanya sedikit lebih mudah. Proyek mini ini terutama untuk fotografer yang membutuhkan
Mengubah Warna Lampu Malam Menggunakan Ardruino 101: 4 Langkah (dengan Gambar)
Mengubah Warna Lampu Malam Menggunakan Ardruino 101 : Pada project ini anda akan membuat lampu malam menggunakan ardruino, Adafruit neo rgb Strips dan 3D printer. Perhatikan bahwa instruksi ini murni untuk proyek sekolah saya. Kode untuk proyek ini didasarkan dari proyek lain. Dengan mengatakan bahwa saya bukan mantan
RGB LED Murah dan Mudah Mengubah Warna Lampu Malam: 3 Langkah
RGB LED Murah dan Mudah Mengubah Warna Lampu Malam: Proyek ini cukup mudah setelah saya bermain-main dan mengetahuinya, yang memakan waktu cukup lama. Idenya adalah untuk dapat mengubah warna dengan sakelar, dan memiliki opsi peredupan juga. Ini adalah item yang Anda perlukan untuk