Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Manufacturing Technology >> Proses manufaktur

Pencampur Warna LED RGB Arduino – Proyek DIY Untuk Pemula

Komponen dan Perlengkapan

Nama BagianJumlah
Arduino UNO1
LED RGB (4 pin common ground)1
Potensiometer rotary (generik)3
Saklar Pushbutton SparkFun 12mm1
Resistor 10k ohm1
Resistor 221 ohm3
Breadboard (generik)1
Kabel jumper (generik)1

Aplikasi dan Layanan Online

Arduino IDE

Tentang Proyek

Untuk siapa ini?: Proyek pencampur warna LED RGB ini sempurna untuk pengguna Arduino pemula yang ingin mencoba membuat gawai interaktif ini tidak hanya menyenangkan dan mudah dibuat, tetapi juga berguna untuk siapa pun yang menggunakan warna RGB, seperti seniman, pengembang web dan pengontrol penerangan interaktif.

Apa yang dilakukan: Rangkaian sederhana ini menggabungkan tiga potensiometer untuk menetapkan kecerahan untuk masing-masing LED merah, hijau dan biru di dalam LED RGB.

Saklar pushbutton ditambahkan sebagai fitur tambah untuk menyalakan dan mematikan rangkaian.

Bagaimana saya membangunnya? Pasang diagram seperti yang ditunjukkan dalam skematik. LED RGB dihubungkan ke pin PMW 9, 10 dan 11 pada Arduino. Saklar push dihubungkan ke pin 7 dan 3 potensiometer ke A0, A1 dan A2. Ingat untuk menambahkan resistor pull up 10K ohm ke koneksi ground pada saklar push. Untuk penjelasan tentang cara kerjanya, lihat di sini https://playground.arduino.cc/CommonTopics/PullUpDownResistor

Pastikan juga untuk menghubungkan 3 resistor 220 ohm antara LED dan pin output, ini akan memastikan LED Anda tidak terbakar.

Nilai setiap Potensiometer dicetak ke serial monitor, jadi jika Anda memutar LED dan menemukan warna yang Anda sukai, Anda dapat mencatat nilai RGB untuk digunakan nanti.

Setelah Anda merakit rangkaian dan mengunggah sketsa, coba putar knob pada potensiometer. Tidak akan terjadi apa-apa pada awalnya hingga Anda menekan tombol. Sekarang coba putar knob lagi. LED sekarang akan menyala. Saatnya bermain dengan cahaya! Ingat cahaya RGB bukan seperti mencampur cat. saat semua potensiometer diatur penuh, cahaya harus putih. Coba biarkan salah satu potensiometer mati atau sangat rendah, dan variasi dua lainnya.

Ekstensi untuk proyek ini adalah untuk hard code beberapa nilai RGB untuk warna tertentu yang Anda sukai, dan tambahkan beberapa tombol push tambahan yang, saat ditekan, akan mengatur LED RGB ke warna-warna tersebut. Jangan ragu untuk berbagi kode jika Anda mencoba ekstensi seperti ini!

Nikmati!

Kode

Pencampur Warna RGBC/C++
int blue = 9; // Define Digital Pins for each colour of the LED
int green = 10;
int red = 11;
int redPot = A0;
int greenPot = A1; //Define Analog Pins for the 3 potentiometers
int bluePot = A2;
int greenVal = 0; //Create a variable to store the state of each Potentiometer
int blueVal = 0;
int redVal = 0;
const int BUTTON = 7; //Define the button Pin
int state = 0; //Create a variable to store wether button is on or off
int val = 0; //Create a variable to store the momentary state of the button
int old_val = 0; //create a variable to store the previous state of the button

void setup() {
  // put your setup code here, to run once:
  pinMode(green, OUTPUT); //Set LED's as output's, button as input
  pinMode(blue, OUTPUT);
  pinMode(red, OUTPUT);
  pinMode(BUTTON, INPUT);
  Serial.begin(9600);
}

void loop() {
  // put your main code here, to run repeatedly:
  Serial.begin(9600); //Open the serial monitor at 9600 baud
  val = digitalRead(BUTTON); // Check state of button
  if ((val == HIGH) && (old_val == LOW)) {
    //Check to see if state of button has changed
    state = 1 - state; //Set the button as either on (1) or off (0)
    delay(10);
  }
  old_val = val; // Save the previous button reading to compare next time through loop
  greenVal = analogRead(greenPot); //Read the position of the potentiometers
  blueVal = analogRead(bluePot);
  redVal = analogRead(redPot);
  if (state == 1) {
    //If button is on, set the state of each LED according to position
    analogWrite(green, greenVal / 4); //of its correspoding potentiometer. Anolog inputs range from 0-1023, analogWrite(blue, blueVal / 4);
    // while anolog outputs as PMW can be from 0-255. Therefore we must analogWrite(red, redVal / 4);
    // divide the potentiometer readings by 4 to set the state correctly
    Serial.print("RGB(");
    Serial.print(redVal/4);
    Serial.print(",");
    Serial.print(greenVal/4);
    Serial.print(",");
    Serial.print(blueVal/4);
    //Print the RGB Code, resuable in any RGB application
    Serial.println(")");
    delay(50);
  } else {
    // If button is off, set all LED's to LOW/off
    analogWrite(green, 0);
    analogWrite(blue, 0);
    analogWrite(red, 0);
    delay(50);
  }
}

Skematik

Pencampur Warna LED RGB Arduino – Proyek DIY Untuk Pemula

Proses manufaktur

  1. Buat LUMAZOID Sendiri: Visualisasi Musik Arduino DIY
  2. Lampu Meja RGB Kendali Gerak – Pencahayaan Interaktif Tanpa Tangan
  3. Kontrol LED melalui Bluetooth dengan Arduino – Panduan DIY Sederhana
  4. Membuat Robot Quadruped Arduino Cerdas: Panduan Langkah demi Langkah
  5. Buat Sendiri Perangkat Perawatan EMR Radionik Arduino
  6. Lampu Pantul LED RGB Outdoor dengan DMX – Terjangkau dan Berkinerja Tinggi
  7. Pencampur Warna RGB Arduino – Tutorial Langkah demi Langkah
  8. Semarkan Tahun Baru Anda dengan Lampu LED Musik Dinamis
  9. Permainan Roulette LED Buatan Sendiri – Bangun Arcade Satu Orang dengan Arduino Nano
  10. Sistem Garasi Parkir Otomatis Cerdas Berbasis Arduino