Daftar Isi:

Mixer Warna Dengan Arduino: 9 Langkah (dengan Gambar)
Mixer Warna Dengan Arduino: 9 Langkah (dengan Gambar)

Video: Mixer Warna Dengan Arduino: 9 Langkah (dengan Gambar)

Video: Mixer Warna Dengan Arduino: 9 Langkah (dengan Gambar)
Video: Kecurangan penjual gas elpiji!!!!! 2024, Juli
Anonim
Image
Image

Oleh tliguori330Ikuti Lainnya oleh penulis:

Bola Warna Dengan Arduino
Bola Warna Dengan Arduino
Bot Doodle Dengan Proses Desain
Bot Doodle Dengan Proses Desain
Bot Doodle Dengan Proses Desain
Bot Doodle Dengan Proses Desain
Arduino Sentuh Piano
Arduino Sentuh Piano
Arduino Sentuh Piano
Arduino Sentuh Piano

Tentang: Selalu belajar….. Selengkapnya Tentang tliguori330 »

Mixer warna adalah proyek hebat bagi siapa saja yang bekerja dan berkembang dengan Arduino. Pada akhir instruksi ini, Anda akan dapat mencampur dan mencocokkan hampir semua warna yang dapat dibayangkan dengan memutar 3 kenop. Tingkat keterampilannya cukup rendah sehingga bahkan seorang pemula yang lengkap dapat menyelesaikannya dengan sukses, tetapi juga cukup menarik untuk dinikmati oleh seorang dokter hewan berpengalaman. Biaya proyek ini hampir tidak ada dan sebagian besar kit Arduino dilengkapi dengan bahan yang dibutuhkan. Inti dari kode ini adalah beberapa fungsi arduino mendasar yang ingin dipahami oleh siapa pun yang menggunakan arduino. Kita akan membahas lebih dalam tentang fungsi analogRead() dan analogWrite() seperti halnya fungsi biasa lainnya yang disebut map(). Tautan ini membawa Anda ke halaman referensi arduino untuk fungsi-fungsi ini.

Langkah 1: Bagian dan Komponen

Bagian dan Komponen
Bagian dan Komponen
Bagian dan Komponen
Bagian dan Komponen
Bagian dan Komponen
Bagian dan Komponen
Bagian dan Komponen
Bagian dan Komponen

Arduino Uno

Potensiometer (x3)

LED RGB

resistor 220 ohm (x3)

Kabel jumper (x12)

Papan roti

Langkah 2: Rencanakan Kemajuan Anda

Rencanakan Kemajuan Anda
Rencanakan Kemajuan Anda

Akan sangat membantu untuk merencanakan bagaimana Anda akan menyelesaikan proyek Anda. Pengkodean adalah semua tentang perkembangan logis dari satu langkah ke langkah berikutnya. Saya membuat diagram alir yang menguraikan bagaimana saya ingin sketsa saya dijalankan. Tujuan keseluruhannya adalah memiliki 3 kenop (potensiometer) yang mengontrol masing-masing dari tiga warna LED RGB. Untuk mencapai hal ini kita perlu membuat sketsa yang cocok dengan diagram alir. Kami akan ingin….

1) Baca 3 potensiometer yang berbeda dan simpan nilainya dalam variabel.

2) Kami akan mengonversi nilai tersebut agar sesuai dengan rentang LED RGB.

3) Kemudian akhirnya kita akan menulis nilai-nilai yang dikonversi tersebut ke masing-masing warna RGB.

Langkah 3: Cara Menggunakan Potensiometer

Cara Menggunakan Potensiometer
Cara Menggunakan Potensiometer
Cara Menggunakan Potensiometer
Cara Menggunakan Potensiometer

Salah satu komponen paling dasar dalam kit elektronik, potensiometer dapat digunakan di banyak proyek berbeda. potensiometer berfungsi dengan memungkinkan pengguna mengubah resistansi rangkaian secara fisik. Contoh potensiometer yang paling umum adalah peredup cahaya. menggeser atau memutar kenop mengubah panjang sirkuit. jalan yang lebih panjang menghasilkan lebih banyak resistensi. Peningkatan resistensi berbanding terbalik menurunkan arus dan cahaya meredup. Ini bisa datang dalam semua bentuk dan ukuran yang berbeda tetapi sebagian besar memiliki pengaturan dasar yang sama. Seorang siswa meminta bantuan untuk memperbaiki gitarnya dan kami menemukan bahwa kenop di atasnya sama persis dengan potensiometer. Secara umum Anda adalah kaki luar terhubung ke 5 volt dan ground dan kaki tengah pergi ke pin analog seperti A0

Langkah 4: Skema Pengkabelan untuk Potensiometer (3x)

Skema Pengkabelan untuk Potensiometer (3x)
Skema Pengkabelan untuk Potensiometer (3x)
Skema Pengkabelan untuk Potensiometer (3x)
Skema Pengkabelan untuk Potensiometer (3x)
Skema Pengkabelan untuk Potensiometer (3x)
Skema Pengkabelan untuk Potensiometer (3x)

Kaki paling kiri akan terhubung ke 5v dan kaki paling kanan akan terhubung ke GND. Anda benar-benar dapat membalikkan dua langkah ini dan itu tidak akan terlalu merugikan proyek. Semua yang akan berubah adalah memutar kenop sepenuhnya ke kiri akan menjadi kecerahan penuh alih-alih sepenuhnya. Kaki tengah akan dihubungkan ke salah satu pin analog pada Arduino. Karena kita akan memiliki tiga kenop, kita ingin melipatgandakan pekerjaan yang baru saja kita lakukan. Setiap kenop membutuhkan 5v dan GND sehingga dapat dibagi menggunakan papan roti. Strip merah pada papan roti terhubung ke 5 Volt dan strip biru terhubung ke ground. Setiap kenop membutuhkan pin analognya sendiri sehingga terhubung ke A0, A1, A2.

Langkah 5: Menggunakan AnalogRead() dan Variabel

Dengan pengaturan potensiometer Anda dengan benar, kami siap membaca nilai-nilai itu. Setiap kali kita ingin melakukan ini, kita menggunakan fungsi analogRead(). Sintaks yang benar adalah analogRead(pin#); jadi untuk membaca potensiometer tengah kami, kami akan analogRead(A1); Untuk bekerja dengan angka-angka yang dikirim dari kenop ke Arduino, kami juga ingin menyimpan angka-angka itu dalam sebuah variabel. Baris kode akan menyelesaikan tugas ini saat kita membaca potensiometer dan menyimpan nomornya saat ini dalam variabel integer "val"

int val = analogRead(A0);

Langkah 6: Menggunakan Serial Monitor Dengan 1 Knob

Image
Image

Saat ini kita bisa mendapatkan nilai dari tombol-tombol dan menyimpannya dalam sebuah variabel, tetapi akan sangat membantu jika kita bisa melihat nilai-nilai ini. Untuk melakukan ini, kita perlu menggunakan monitor serial bawaan. Kode di bawah ini adalah sketsa pertama yang akan kita jalankan di Arduino IDE yang dapat diunduh di situs mereka. Dalam void setup() kita akan mengaktifkan pin analog yang terhubung ke setiap kaki tengah sebagai INPUT dan mengaktifkan monitor Serial menggunakan Serial.begin(9600); selanjutnya kita hanya membaca salah satu tombol dan menyimpannya dalam variabel seperti sebelumnya. Perubahannya sekarang adalah kita menambahkan baris yang mencetak angka berapa yang disimpan dalam variabel. Jika Anda mengkompilasi dan menjalankan sketsa, Anda kemudian dapat membuka monitor Serial Anda dan melihat angka-angka bergulir di layar. Setiap kali kode berulang, kami membaca dan mencetak nomor lain. Jika Anda memutar kenop yang terhubung ke A0, Anda akan melihat nilai mulai dari 0-1023. nanti tujuannya adalah untuk membaca semua 3 potensiometer yang akan membutuhkan 2 analogReads lagi dan 2 variabel berbeda untuk disimpan dan dicetak.

batalkan pengaturan(){

pinMode(A0, INPUT); pinMode(A1, INPUT); pinMode(A2, INPUT); Serial.begin(9600); } void loop(){ int val = analogRead(A0); Serial.println(val); }

Langkah 7: Menggunakan LED RGB

Menggunakan LED RGB
Menggunakan LED RGB
Menggunakan LED RGB
Menggunakan LED RGB
Menggunakan LED RGB
Menggunakan LED RGB

LED RGB 4 Kaki adalah salah satu komponen favorit saya untuk Arduino. Menurut saya, bagaimana ia mampu menciptakan warna tak berujung dari campuran 3 warna dasar yang menarik. Pengaturannya mirip dengan LED biasa tetapi di sini pada dasarnya kita memiliki LED merah, biru dan hijau yang digabungkan bersama. Kaki pendek masing-masing akan dikendalikan oleh salah satu pin PWM pada arduino. Kaki terpanjang akan terhubung ke 5 volt atau ground, tergantung apakah Anda menggunakan LED common anode atau common cathode. Anda perlu mencoba kedua cara untuk memecahkan masalah ini. Kami sudah memiliki 5v dan GND yang terhubung ke papan tempat memotong roti agar mudah diubah. Diagram di atas menunjukkan menggunakan 3 resistor juga. Saya sebenarnya sering melewatkan langkah ini karena saya belum melakukannya dan LED meledak pada saya.

Untuk membuat warna kita akan menggunakan fungsi analogWrite() untuk mengontrol berapa banyak warna merah, biru, atau hijau yang akan ditambahkan. Untuk menggunakan fungsi ini, Anda perlu menyebutkan pin# yang akan kita ajak bicara dan angka antara 0-255. 0 benar-benar mati dan 255 adalah jumlah tertinggi dari satu warna. Mari kita hubungkan kaki merah ke pin 9, hijau ke pin 10 dan biru ke pin 11. Ini mungkin memerlukan beberapa percobaan dan kesalahan untuk mengetahui kaki mana yang berwarna. Jika saya ingin membuat rona ungu, saya bisa melakukan banyak warna merah, tanpa hijau, dan mungkin setengah kekuatan biru. Saya mendorong Anda untuk bermain-main dengan angka-angka ini, itu benar-benar menarik. Beberapa contoh umum ada pada gambar di atas

batalkan pengaturan(){

pinMode(9, OUTPUT); pinMode(10, OUTPUT); pinMode(11, OUTPUT); } void loop(){ analogWrite(9, 255); analogWrite(10, 0); analogWrite(11, 125) }

Langkah 8: Menggunakan Potensiometer untuk Mengontrol LED RGB (dengan Satu Bug)

Menggunakan Potensiometer untuk Mengontrol LED RGB (dengan Satu Bug)
Menggunakan Potensiometer untuk Mengontrol LED RGB (dengan Satu Bug)
Menggunakan Potensiometer untuk Mengontrol LED RGB (dengan Satu Bug)
Menggunakan Potensiometer untuk Mengontrol LED RGB (dengan Satu Bug)
Menggunakan Potensiometer untuk Mengontrol LED RGB (dengan Satu Bug)
Menggunakan Potensiometer untuk Mengontrol LED RGB (dengan Satu Bug)

Saatnya untuk mulai menggabungkan dua kode kita bersama-sama. Anda harus memiliki cukup ruang pada papan tempat memotong roti standar untuk memuat semua 3 kenop dan LED RGB. Idenya adalah alih-alih mengetikkan nilai untuk merah biru dan hijau, kita akan menggunakan nilai yang disimpan dari setiap potensiometer untuk terus mengubah warna. kita akan membutuhkan 3 variabel dalam kasus ini. redval, greenval, blueval adalah semua variabel yang berbeda. Ingatlah bahwa Anda dapat memberi nama variabel ini apa pun yang Anda inginkan. jika Anda memutar kenop "hijau" dan jumlah merah berubah, Anda dapat mengganti nama agar sesuai dengan benar. Anda sekarang dapat memutar setiap tombol dan mengontrol warna!!

batalkan pengaturan(){

pinMode(A0, INPUT); pinMode(A1, INPUT); pinMode(A2, INPUT); pinMode(9, OUTPUT); pinMode(10, OUTPUT); pinMode(11, OUTPUT); } void setup(){ int redVal = analogRead(A0); int greenVal = analogRead(A1); int blueVal = analogRead(A2); analogWrite(9, redVal); analogWrite(10, greenVal); analogWrite(11, blueVal); }

Langkah 9: BONUS: Map() Fungsi dan Kode Pembersih

Anda mungkin memperhatikan bahwa saat Anda mulai memutar kenop untuk satu warna ke atas, itu akan tumbuh dan kemudian tiba-tiba turun ke bawah. Pola pertumbuhan dan kemudian mati dengan cepat ini berulang 4 kali saat Anda memutar kenop sepenuhnya. Jika Anda ingat kami mengatakan potensiometer dapat membaca nilai antara 0 dan 1023. Fungsi analogWrite() hanya menerima nilai antara 0 dan 255. setelah potensiometer melampaui 255, pada dasarnya dimulai dari 0. Ada fungsi yang bagus untuk membantu bug yang disebut peta(). Anda dapat mengubah satu rentang angka menjadi rentang angka lain dalam satu langkah. kita akan mengonversi angka dari 0-1023 menjadi angka dari 0-255. Misalnya jika kenop disetel ke setengah jalan, seharusnya terbaca sekitar 512. Angka itu akan diubah menjadi 126 yang merupakan setengah kekuatan untuk LED. Dalam sketsa akhir ini saya menamai pin dengan nama variabel untuk kenyamanan saya. Anda sekarang memiliki mixer warna lengkap untuk bereksperimen!!!

// nama variabel untuk pin potensiometer

int pot merah = A0; int pot hijau = A1; int bluePot = A2 // nama variabel untuk pin RGB int redLED = 9; int LED hijau = 10; int LED biru = 11; void setup(){ pinMode(redPot, INPUT); pinMode(POT hijau, INPUT); pinMode(bluePot, INPUT); pinMode(LED merah, OUTPUT); pinMode(LED hijau, OUTPUT); pinMode(LED biru, OUTPUT); Serial, mulai (9600); } void loop(){ // membaca dan menyimpan nilai dari potensiometer int redVal = analogRead(redPot); int greenVal = analogRead(greenPot); int blueVal - analogRead(bluePot); //mengubah nilai dari 0-1023 menjadi 0-255 untuk LED RGB redVal = map(redVal, 0, 1023, 0, 255); greenVal = peta(greenVal, 0, 1023, 0, 255); blueVal = peta(blueVal, 0, 1023, 0, 255); // tulis nilai yang dikonversi ini ke setiap warna dari LED RGB analogWrite(redLED, redVal); anaogWrite(LED hijau, greenVal); analogWrite(blueLED, blueVal); //tampilkan nilai pada Serial monitor Serial.print("red:"); Serial.print(redVal); Serial.print("hijau:"); Serial.print(greenVal); Serial.print("biru:"); Serial.println(blueVal); }

Direkomendasikan: