Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Manufacturing Technology >> Herstellungsprozess

Arduino RGB-Farbmischer

Komponenten und Verbrauchsmaterialien

Arduino UNO
× 1
RGB-LED
jede 4-polige RGB-LED mit gemeinsamer Masse funktioniert mit diesem Projekt
× 1
Drehpotentiometer (allgemein)
× 3
SparkFun Drucktastenschalter 12 mm
× 1
Widerstand 10k Ohm
× 1
Widerstand 221 Ohm
× 3
Breadboard (generisch)
× 1
Jumper (generisch)
× 1

Apps und Onlinedienste

Arduino-IDE

Über dieses Projekt

Für wen ist das gedacht? :Dieses RGB-LED-Farbmischerprojekt ist perfekt für Arduino-Anfänger, die gerne ein interaktives Gadget erstellen möchten Entwickler und interaktive Lichtsteuerungen.

Was ist: Diese einfache Schaltung kombiniert drei Potentiometer, um die Helligkeit für jede der roten, grünen und blauen LEDs innerhalb einer RGB-LED einzustellen.

Ein Druckknopfschalter wird als zusätzliche Funktion hinzugefügt, um den Stromkreis ein- und auszuschalten.

Wie baue ich es? Verdrahten Sie das Diagramm wie in den Schaltplänen gezeigt. Die RGB-LED ist mit den PMW-Pins 9, 10 und 11 des Arduino verbunden. Der Taster wird an Pin 7 und die 3 Potentiometer an A0, A1 und A2 angeschlossen. Denken Sie daran, einen 10K Ohm Pull-Up-Widerstand zum Masseanschluss des Tasters hinzuzufügen. Eine Erklärung, wie das funktioniert, finden Sie hier https://playground.arduino.cc/CommonTopics/PullUpDownResistor

Stellen Sie außerdem sicher, dass Sie 3 220-Ohm-Widerstände zwischen der LED und den Ausgangspins anschließen, um sicherzustellen, dass Ihre LED nicht durchbrennt.

Der Wert jedes Potentiometers wird auf dem seriellen Monitor ausgedruckt. Wenn Sie also mit der LED herumspielen und eine Farbe finden, die Ihnen gefällt, können Sie den RGB-Wert zur späteren Verwendung aufzeichnen.

Sobald Sie die Schaltung verdrahtet und die Skizze hochgeladen haben, versuchen Sie, die Knöpfe an den Potentiometern zu drehen. Es sollte zunächst nichts passieren, bis Sie den Knopf drücken. Versuchen Sie nun erneut, die Knöpfe zu drehen. Die LED sollte jetzt leuchten. Zeit, mit Licht zu spielen! Denken Sie daran, dass RGB-Licht nicht wie das Mischen von Farbe ist. Wenn alle Potentiometer voll aufgedreht sind, sollte das Licht weiß sein. Versuchen Sie, eines der Potentiometer ausgeschaltet oder sehr niedrig zu lassen und die anderen beiden zu variieren.

Eine Erweiterung dieses Projekts wäre, einige RBG-Werte für bestimmte Farben, die Sie mögen, fest zu codieren und einige weitere Drucktasten hinzuzufügen, die beim Drücken die RGB-LED auf diese Farben einstellen würden. Fühlen Sie sich frei, den Code zu teilen, wenn Sie eine solche Erweiterung ausprobieren!

Viel Spaß!

Code

  • RGB-Farbmischer
Rgb-FarbmischerC/C++
int blau =9; // Definiere digitale Pins für jede Farbe der LEDint green =10;int red =11;int redPot =A0;int greenPot =A1; // Analog Pins für die 3 Potentiometer definierensint bluePot =A2;int greenVal =0; // Eine Variable erstellen, um den Zustand jedes Potentiometers zu speichernint blueVal =0;int redVal =0;const int BUTTON =7; // Definieren Sie die Schaltfläche Pinint state =0; // Eine Variable erstellen, um zu speichern, ob die Schaltfläche aktiviert oder deaktiviert ist val =0; //Erzeuge eine Variable zum Speichern des momentanen Zustands des Buttonint old_val =0; // eine Variable erstellen, um den vorherigen Zustand des buttonvoid setup () zu speichern ( // Ihren Setup-Code hier einfügen, um ihn einmal auszuführen:pinMode (green, OUTPUT); // LEDs als Ausgänge einstellen, Taste als Eingang PinMode (blau, OUTPUT); pinMode (rot, AUSGANG); pinMode (TASTE, EINGANG); Serial.begin (9600);}void loop () { // Geben Sie Ihren Hauptcode hier ein, um ihn wiederholt auszuführen:Serial.begin (9600); // Öffnen Sie den seriellen Monitor bei 9600 Baud val =digitalRead (BUTTON); // Überprüfen Sie den Zustand der Schaltfläche if ((val ==HIGH) &&(old_val ==LOW)) { // Überprüfen Sie, ob sich der Status der Schaltfläche geändert hat state =1 - state; // Setzen Sie die Schaltfläche entweder auf Ein (1) oder Aus (0) Verzögerung (10); } old_val =val; // Speichern Sie den vorherigen Tastenwert, um ihn das nächste Mal durch die Schleife zu vergleichen greenVal =analogRead (greenPot); // Lesen Sie die Position der Potentiometer blueVal =analogRead (bluePot); redVal =analogRead (redPot); if (state ==1) {// Wenn die Taste eingeschaltet ist, stellen Sie den Zustand jeder LED entsprechend der Position ein analogWrite (grün, grünVal / 4); // seines entsprechenden Potentiometers. Analoge Eingänge reichen von 0-1023, analogWrite (blau, blueVal / 4); // während analoge Ausgaben als PMW von 0-255 sein können. Daher müssen wir analogWrite(red, redVal / 4); // dividiere die Potentiometerwerte durch 4, um den Zustand richtig einzustellen Serial.print ("RGB ("); Serial.print (redVal/4); Serial.print (","); Serial.print (greenVal/4); Serial.print (","); Serial.print (blueVal/4); // Drucken Sie den RGB-Code, der in jeder RGB-Anwendung wiederverwendbar ist Serial.println (")"); Verzögerung (50); aufrechtzuerhalten. Sonst {// Wenn die Taste ausgeschaltet ist, stellen Sie alle LEDs auf LOW / off analogWrite (grün, 0); analogWrite (blau, 0); analogWrite (rot, 0); Verzögerung (50); }}

Schaltpläne


Herstellungsprozess

  1. DIY LUMAZOID Arduino Music Visualiser
  2. Gestengesteuerte interaktive Tischleuchte
  3. Arduino mit Bluetooth zur Steuerung einer LED!
  4. Arduino-Vierbeiner
  5. DIY Arduino RADIONICS-Behandlungsmaschine
  6. DMX RGB LED im Freien
  7. Arduino Farbmischer
  8. Musikalische Farbe
  9. LED-Roulette-Spiel
  10. Automatisiertes Arduino-Parkhaus