RGB LED Wechsel der Farben + Lichtsensor + LCD


dieses Projekt einbetten einer RGB led, die Farben in kontinuierlicher Weise, ein LCD ändert, das zeigt die aktuelle Farbe und das nächste, oder es hat verschiedenster Modus, zeigen die Intensität des Lichtes Sorounding, bei enough.the macht der das maximum an Licht für die LED nicht zu arbeiten kann man kalibriert Easaly Throught eine Änderung nur eines Parameters im Code. (Leistung)

Sie benötigen: 1. ein Arduino Uno Board
2. standard 16 * 2 LCD
3. gemeinsame Anode RGB LED
4. standard Lichtsensor
5,10 K & 330 Ohm Widerstände

Schritt 1. verbinden Sie die Rgb led Anode an die Uno GND
2. verbinden Sie die rote grüne und blaue Beine der led durch 330 Ohm Widerstand auf drei der PWM-Ports der Uno
3. Schließen Sie den Lichtsensor von Vcc GND durch 10K Widerstand (so, dass der Sensor "up")
4. Schließen Sie das zweite Bein des Sensors an A5 Analogeingang der Uno.
5. Schließen Sie das LCD-Display (Blick auf den Code oder ändern sie die Position der Anschlüsse siehe file:///D:/My%20Documents/Arduino/arduino-1.0.1/reference/LiquidCrystalConstructor.html als Referenz)
6. nach der Adjosments des Codes kompilieren Sie und brennen Sie es auf die UNO und fertig :-)
Es gibt eine Menge für Kreativität in der Lichtempfänger durch fast jeden analogen Sensor ersetzen... Viel Spaß!
der Code:

#include / / für itoa() Anruf
#include
LiquidCrystal lcd (7, 6, 2, 3, 4, 5);

void setup() {}
LCD.Begin(16,2);              Starten Sie die Bibliothek
lcd.setCursor(0,0);

}

void loop() {}
Int macht = 150;

beg:analogWrite(11,0);
analogWrite(10,0);
analogWrite(9,0);

digitalWrite(8,HIGH); / / Bereitstellung Ref V
Int a;
ein = AnalogRead (A5); //read den Wert

Char Bufg [5];
Konvertieren einer Zeichenfolge [Buf]
ITOA (a, Bufg, 10);
LCD.Print (Itoa (a, Bufg, 10)); //print Wert
Verzögerung (1000); //delay
LCD.Clear(); / / clear LCD für die nächste Iteration
Wenn (ein > macht) {Goto betteln;} else {Goto nächsten;} Überprüfen Sie, ob Licht
nächste:
Int vec2[3]={random(255),random(130),random(30)}; //random vec2
Int vec1[3]={random(255),random(130),random(30)}; //random vec1
Int vec3 [3] = {234,100,20}; //reff Vektor-zufällige, aber konstant
Int vec4[3]={random(255),random(130),random(30)}; //random vec4
Int vec5[3]={random(255),random(130),random(30)}; //random vec5
Int vec6[3]={random(255),random(130),random(30)}; //random vec6

Int R = vec3 [0];
Int g = vec3 [1];
Int b = vec3 [2]; //initiation von RGB zu Reff Vec
während (1) {}
Char bufr1 [5];
String [Buf] 123 umwandeln
;
Char bufg1 [5];
String [Buf] 123 umwandeln
ITOA (vec1 [0], bufg1, 10);
Char bufb1 [5];
String [Buf] 123 umwandeln
ITOA (vec1 [1], bufb1, 10);
LCD.Clear();
lcd.setCursor(0,1);
LCD.Print ("R:");
LCD.Print (Itoa (vec1 [0], bufr1, 10));
LCD.Print ("G:");
LCD.Print (Itoa (vec1 [1], bufg1, 10));
LCD.Print ("B:");
LCD.Print (Itoa (vec1 [2], bufb1, 10)); / / Prins die Werte der Rgb led von Usinf "Itoa" Funktion
ITOA kann einen Integer-Wert in eine Zeichenfolge konvertieren.
Delay(10);


Wenn (R > vec1[0]) {R--;} else
Wenn (R

Wenn (g > vec1[1]) {g--;} else
Wenn (g

Wenn (b > vec1[2]) {b--;} else
Wenn (b
analogWrite(11,b);
analogWrite(10,g);
analogWrite(9,r);
Char Bufr [5];
String [Buf] 123 umwandeln
;
Char Bufg [5];
String [Buf] 123 umwandeln
ITOA (g, Bufg, 10);
Char Bufb [5];
String [Buf] 123 umwandeln
ITOA (b, Bufb, 10);
LCD.Clear();
lcd.setCursor(0,0);
LCD.Print ("R:");
LCD.Print (Itoa (R, Bufr, 10));
LCD.Print ("G:");
LCD.Print (Itoa (g, Bufg, 10));
LCD.Print ("B:");
LCD.Print (Itoa (b, Bufb, 10)); / / Prins die Werte der Rgb led von Usinf "Itoa" Funktion
ITOA kann einen Integer-Wert in eine Zeichenfolge konvertieren.
Verzögerung (10);
Wenn (R == vec1 [0] & & g == vec1 [1] & & b==vec1[2]) Pause; //this Schleife zoomt die RGB-Zahlen zum Ziel Vektor & Ausgabe die Änderung mit Verzögerung
(wiederholt für alle Vektoren eins nach dem anderen)
digitalWrite(8,HIGH); / / Bereitstellung Ref V

ein = AnalogRead (A5); //read
Wenn (ein > macht) {analogWrite(11,0);
analogWrite(10,0);
analogWrite(9,0);

GOTO betteln;}
}

während (1) {}

Char bufr1 [5];
String [Buf] 123 umwandeln
;
Char bufg1 [5];
String [Buf] 123 umwandeln
ITOA (vec2 [0], bufg1, 10);
Char bufb1 [5];
String [Buf] 123 umwandeln
ITOA (vec2 [1], bufb1, 10);
LCD.Clear();
lcd.setCursor(0,1);
LCD.Print ("R:");
LCD.Print (Itoa (vec2 [0], bufr1, 10));
LCD.Print ("G:");
LCD.Print (Itoa (vec2 [1], bufg1, 10));
LCD.Print ("B:");
LCD.Print (Itoa (vec2 [2], bufb1, 10)); / / Prins die Werte der Rgb led von Usinf "Itoa" Funktion
ITOA kann einen Integer-Wert in eine Zeichenfolge konvertieren.

Delay(10);
Wenn (R > vec2[0]) {R--;} else
Wenn (R

Wenn (g > vec2[1]) {g--;} else
Wenn (g

Wenn (b > vec2[2]) {b--;} else
Wenn (b
analogWrite(11,b);
analogWrite(10,g);
analogWrite(9,r);

Char Bufr [5];
String [Buf] 123 umwandeln
;
Char Bufg [5];
String [Buf] 123 umwandeln
ITOA (g, Bufg, 10);
Char Bufb [5];
String [Buf] 123 umwandeln
ITOA (b, Bufb, 10);
LCD.Clear();
lcd.setCursor(0,0);
LCD.Print ("R:");
LCD.Print (Itoa (R, Bufr, 10));
LCD.Print ("G:");
LCD.Print (Itoa (g, Bufg, 10));
LCD.Print ("B:");
LCD.Print (Itoa (b, Bufb, 10)); / / Prins die Werte der Rgb led von Usinf "Itoa" Funktion
ITOA kann Vlue eine ganze Zahl in eine Zeichenfolge konvertieren.

Verzögerung (10);
Wenn (R == vec2 [0] & & g == vec2 [1] & & b==vec2[2]) Pause;
digitalWrite(8,HIGH); / / Bereitstellung Ref V

ein = AnalogRead (A5); //read
Wenn (ein > macht) {analogWrite(11,0);
analogWrite(10,0);
analogWrite(9,0);

GOTO betteln;}

}


während (1) {}

Char bufr1 [5];
String [Buf] 123 umwandeln
;
Char bufg1 [5];
String [Buf] 123 umwandeln
ITOA (vec4 [0], bufg1, 10);
Char bufb1 [5];
String [Buf] 123 umwandeln
ITOA (vec4 [1], bufb1, 10);
LCD.Clear();
lcd.setCursor(0,1);
LCD.Print ("R:");
LCD.Print (Itoa (vec4 [0], bufr1, 10));
LCD.Print ("G:");
LCD.Print (Itoa (vec4 [1], bufg1, 10));
LCD.Print ("B:");
LCD.Print (Itoa (vec4 [2], bufb1, 10)); / / Prins die Werte der Rgb led von Usinf "Itoa" Funktion
ITOA kann einen Integer-Wert in eine Zeichenfolge konvertieren.
Delay(10);

Wenn (R > vec4[0]) {R--;} else
Wenn (R

Wenn (g > vec4[1]) {g--;} else
Wenn (g

Wenn (b > vec4[2]) {b--;} else
Wenn (b
analogWrite(11,b);
analogWrite(10,g);
analogWrite(9,r);

Char Bufr [5];
String [Buf] 123 umwandeln
;
Char Bufg [5];
String [Buf] 123 umwandeln
ITOA (g, Bufg, 10);
Char Bufb [5];
String [Buf] 123 umwandeln
ITOA (b, Bufb, 10);
LCD.Clear();
lcd.setCursor(0,0);
LCD.Print ("R:");
LCD.Print (Itoa (R, Bufr, 10));
LCD.Print ("G:");
LCD.Print (Itoa (g, Bufg, 10));
LCD.Print ("B:");
LCD.Print (Itoa (b, Bufb, 10)); / / Prins die Werte der Rgb led von Usinf "Itoa" Funktion
ITOA kann Vlue eine ganze Zahl in eine Zeichenfolge konvertieren.

Verzögerung (10);
Wenn (R == vec4 [0] & & g == vec4 [1] & & b==vec4[2]) Pause;
digitalWrite(8,HIGH); / / Bereitstellung Ref V

ein = AnalogRead (A5); //read
Wenn (ein > macht) {analogWrite(11,0);
analogWrite(10,0);
analogWrite(9,0);

GOTO betteln;}

}


während (1) {}

Char bufr1 [5];
String [Buf] 123 umwandeln
;
Char bufg1 [5];
String [Buf] 123 umwandeln
ITOA (vec5 [0], bufg1, 10);
Char bufb1 [5];
String [Buf] 123 umwandeln
ITOA (vec5 [1], bufb1, 10);
LCD.Clear();
lcd.setCursor(0,1);
LCD.Print ("R:");
LCD.Print (Itoa (vec5 [0], bufr1, 10));
LCD.Print ("G:");
LCD.Print (Itoa (vec5 [1], bufg1, 10));
LCD.Print ("B:");
LCD.Print (Itoa (vec5 [2], bufb1, 10)); / / Prins die Werte der Rgb led von Usinf "Itoa" Funktion
ITOA kann einen Integer-Wert in eine Zeichenfolge konvertieren.

Delay(10);
Wenn (R > vec5[0]) {R--;} else
Wenn (R

Wenn (g > vec5[1]) {g--;} else
Wenn (g

Wenn (b > vec5[2]) {b--;} else
Wenn (b
analogWrite(11,b);
analogWrite(10,g);
analogWrite(9,r);

Char Bufr [5];
String [Buf] 123 umwandeln
;
Char Bufg [5];
String [Buf] 123 umwandeln
ITOA (g, Bufg, 10);
Char Bufb [5];
String [Buf] 123 umwandeln
ITOA (b, Bufb, 10);
LCD.Clear();
lcd.setCursor(0,0);
LCD.Print ("R:");
LCD.Print (Itoa (R, Bufr, 10));
LCD.Print ("G:");
LCD.Print (Itoa (g, Bufg, 10));
LCD.Print ("B:");
LCD.Print (Itoa (b, Bufb, 10)); / / Prins die Werte der Rgb led von Usinf "Itoa" Funktion
ITOA kann Vlue eine ganze Zahl in eine Zeichenfolge konvertieren.

Verzögerung (10);
Wenn (R == vec5 [0] & & g == vec5 [1] & & b==vec5[2]) Pause;
digitalWrite(8,HIGH); / / Bereitstellung Ref V

ein = AnalogRead (A5); //read
Wenn (ein > macht) {analogWrite(11,0);
analogWrite(10,0);
analogWrite(9,0);

GOTO betteln;}

}

während (1) {}

Char bufr1 [5];
String [Buf] 123 umwandeln
;
Char bufg1 [5];
String [Buf] 123 umwandeln
ITOA (vec6 [0], bufg1, 10);
Char bufb1 [5];
String [Buf] 123 umwandeln
ITOA (vec6 [1], bufb1, 10);
LCD.Clear();
lcd.setCursor(0,1);
LCD.Print ("R:");
LCD.Print (Itoa (vec6 [0], bufr1, 10));
LCD.Print ("G:");
LCD.Print (Itoa (vec6 [1], bufg1, 10));
LCD.Print ("B:");
LCD.Print (Itoa (vec6 [2], bufb1, 10)); / / Prins die Werte der Rgb led von Usinf "Itoa" Funktion
ITOA kann einen Integer-Wert in eine Zeichenfolge konvertieren.

Delay(10);
Wenn (R > vec6[0]) {R--;} else
Wenn (R

Wenn (g > vec6[1]) {g--;} else
Wenn (g

Wenn (b > vec6[2]) {b--;} else
Wenn (b
analogWrite(11,b);
analogWrite(10,g);
analogWrite(9,r);

Char Bufr [5];
String [Buf] 123 umwandeln
;
Char Bufg [5];
String [Buf] 123 umwandeln
ITOA (g, Bufg, 10);
Char Bufb [5];
String [Buf] 123 umwandeln
ITOA (b, Bufb, 10);
LCD.Clear();
lcd.setCursor(0,0);
LCD.Print ("R:");
LCD.Print (Itoa (R, Bufr, 10));
LCD.Print ("G:");
LCD.Print (Itoa (g, Bufg, 10));
LCD.Print ("B:");
LCD.Print (Itoa (b, Bufb, 10)); / / Prins die Werte der Rgb led von Usinf "Itoa" Funktion
ITOA kann Vlue eine ganze Zahl in eine Zeichenfolge konvertieren.

Verzögerung (10);
Wenn (R == vec6 [0] & & g == vec6 [1] & & b==vec6[2]) Pause;
digitalWrite(8,HIGH); / / Bereitstellung Ref V

ein = AnalogRead (A5); //read
Wenn (ein > macht) {analogWrite(11,0);
analogWrite(10,0);
analogWrite(9,0);

GOTO betteln;}

}

während (1) {}

Char bufr1 [5];
String [Buf] 123 umwandeln
;
Char bufg1 [5];
String [Buf] 123 umwandeln
ITOA (vec3 [0], bufg1, 10);
Char bufb1 [5];
String [Buf] 123 umwandeln
ITOA (vec3 [1], bufb1, 10);
LCD.Clear();
lcd.setCursor(0,1);
LCD.Print ("R:");
LCD.Print (Itoa (vec3 [0], bufr1, 10));
LCD.Print ("G:");
LCD.Print (Itoa (vec3 [1], bufg1, 10));
LCD.Print ("B:");
LCD.Print (Itoa (vec3 [2], bufb1, 10)); / / Prins die Werte der Rgb led von Usinf "Itoa" Funktion
ITOA kann einen Integer-Wert in eine Zeichenfolge konvertieren.

Delay(10);
Wenn (R > vec3[0]) {R--;} else
Wenn (R

Wenn (g > vec3[1]) {g--;} else
Wenn (g

Wenn (b > vec3[2]) {b--;} else
Wenn (b
analogWrite(11,b);
analogWrite(10,g);
analogWrite(9,r);


Char Bufr [5];
String [Buf] 123 umwandeln
;
Char Bufg [5];
String [Buf] 123 umwandeln
ITOA (g, Bufg, 10);
Char Bufb [5];
String [Buf] 123 umwandeln
ITOA (b, Bufb, 10);
LCD.Clear();
lcd.setCursor(0,0);
LCD.Print ("R:");
LCD.Print (Itoa (R, Bufr, 10));
LCD.Print ("G:");
LCD.Print (Itoa (g, Bufg, 10));
LCD.Print ("B:");
LCD.Print (Itoa (b, Bufb, 10)); / / Prins die Werte der Rgb led von Usinf "Itoa" Funktion
ITOA kann Vlue eine ganze Zahl in eine Zeichenfolge konvertieren.
Verzögerung (10);
Wenn (R == vec3 [0] & & g == vec3 [1] & & b==vec3[2]) Pause; //the letzten Schleife kehrt die RGB-Zahlen bis Vektor-diese Referenz ist entscheidend
damit ihr keine "Sprünge" in Farben werden nicht
digitalWrite(8,HIGH); / / Bereitstellung Ref V

ein = AnalogRead (A5); //read
Wenn (ein > macht) {analogWrite(11,0);
analogWrite(10,0);
analogWrite(9,0);

GOTO betteln;}

}
GOTO nächsten;
}

Bitte beachten Sie, das der ursprüngliche Code für einen LCD-Schirm, die ist nicht verfügbar und wurde hier gekauft:
http://www.Dan-e.Co.il/Index.php?Route=Common/Home
auch beachten Sie, dass das Programm meine Uneeded Teile enthalten und ist erbaut "Patch über Patch", so gibt es einiges zu tun, wenn Sie den Code zu "reinigen", Sie meinen auch verschiedene Ports verwenden, bei der Uno, nur nicht vergessen, den Code für diese Änderungen anzupassen.

gut Glück :-)
Dekel Ziv

In Verbindung stehende Artikel

Mit einer RGB-LED zu erkennen Farben

Mit einer RGB-LED zu erkennen Farben

ich werde Ihnen zeigen, wie Sie eine RGB-LED und eine Fotozelle Cds als ein Farbsensor für ein Micro-Controller verwenden können. Ich wird die Methode zum Abrufen von einer Farbe mit Arduino zu illustrieren, und ich werde Ihnen zeigen, wie Sie können
RGB LED Mood Light w / ATtiny85

RGB LED Mood Light w / ATtiny85

nennen sie diese Dinge STIMMUNGSLICHTER.Weiß nicht warum. Ich denke, der Wechsel der Farben setzen einige Leute in guter Stimmung.Zwar, dass beobachtet haben wenn Menschen diese Stimmung Licht untersucht tendenziell es eine ähnliche Wirkung wie starr
RGB LED Konstantstrom fade-Effekt mit Transistoren

RGB LED Konstantstrom fade-Effekt mit Transistoren

Ich war langweilig, also fing ich an zu hantieren mit Transistoren. Der Grund, warum dies eine LED wurde verblassen und konstante Stromkreis ist, nur weil die Teile bei der hand waren und leuchtet in verschiedenen Farben ist immer cool. Siehe beigefü
Raspberry Pi Spectrum Analyzer mit RGB-LED-Streifen und Python

Raspberry Pi Spectrum Analyzer mit RGB-LED-Streifen und Python

auf der Suche nach ein erstes Projekt auf einem Raspberry Pi ausprobieren ich aber was besser als ein Spectrum Analyzer? (Manchmal ist diese Anzeige fälschlicherweise bezeichnet, als einen Grafik-Equalizer - das wollen wir den Ton ändern nicht angeze
Musik, RGB-Leds

Musik, RGB-Leds

* Hinweis * dieses Projektes durch eine Gruppe von Studenten aus Singapore Polytechnic erfolgt.Die Werkzeuge und Komponenten wurden von unseren FJP Supervisor Teo Shin Jen bereitgestellt.In diesem Projekt wird schnelle Fourier-transform(fft) verwende
RGB LED Motion Sensor Lampe

RGB LED Motion Sensor Lampe

Materialien und Werkzeuge benötigt:Arduino UnoPIR-Bewegungsmelder1, LED1, 220 Ohm WiderstandJumper-KabelSteckbrettHeat ShrinkSN75468N 16-Pin-IC-chip3, MOSFET N-Kanal Transistoren (Ich bestellte mir von Adafruit)5V DC Relais (Ich kaufte mir von Radios
Wie Sie die weiße LED von Taschenlampe Schlüsselanhänger mit einer RGB-LED zu ersetzen.

Wie Sie die weiße LED von Taschenlampe Schlüsselanhänger mit einer RGB-LED zu ersetzen.

Hi,In diesem einfachen instructable werde ich Ihnen beibringen, wie die weiße LED von Taschenlampe Schlüsselanhänger mit einer RGB-LED zu ersetzen. Eine RGB-LED ist eine rote, grüne, blaue LED, die in eine LED kombiniert. Sie können es mit einer beli
BLINKEN RGB LED Ohrringe

BLINKEN RGB LED Ohrringe

Diese Instructable ist eine einfache – praktisch – Konvertierung von zwei Mini weißLED Schlüsselanhänger Taschenlampen in zwei sehr helle und sehr bunt"Blinkt RGB LED Ohrringe".Im Falle dieses Instructable... Ein Bild ist mehr Wert als tausend W
High Power RGB LED genieße das synchronisiert mit Philips Hue

High Power RGB LED genieße das synchronisiert mit Philips Hue

In diesem instructable liegt das Hauptaugenmerk auf die Software, die ich erstellt habe - nicht so sehr auf der Hardware-Seite. Sie brauchen nicht, eine High-Power-led dafür zu verwenden, können Sie jede RGB - LED, die Sie mögen.Die "High Power RGB L
RGB-LED-Treiber mit IC 74c 14: No Arduino!

RGB-LED-Treiber mit IC 74c 14: No Arduino!

Dieses einfache Projekt treibt eine RGB-LED. Mehrere Farben nach dem Zufallsprinzip erzeugt werden können und sieht mehr atemberaubend wenn ein Strohhalm als Diffusor verwendet wird. Nur verbraucht 3 Schmitt-Trigger-Oszillatoren + 3, Fader Schaltunge
MEGABLOCK, RGB LED MEGABLOCK (Modular)

MEGABLOCK, RGB LED MEGABLOCK (Modular)

Wie der Titel suggeriert. Sie können eine unbegrenzte Anzahl von RGBs Stapeln :)Schritt 1: Teilen 1. Arduino UNO2. die Klebepistole(3) Abisolierzange(4) Lötzinn und Lötkolben5. WS2812B RGB LED X 2 mindestens(6) MEGABLOCKS 2Schritt 2: WS2812B RGB-LEDD
ARDUINO UNO - Commom Kathode RGB LED 3-Farben blinken mit einfachen Code

ARDUINO UNO - Commom Kathode RGB LED 3-Farben blinken mit einfachen Code

Hier ist eine einfache Schaltung mit noch einfacher Code, um eine gemeinsame Kathode RGB-LED zu blinken. Alles was Sie brauchen ist grundlegende Informationen über Arduino UNO und Verständnis von einfachen Arduino Code wie "Blinken" Beispielcode
Arduino Beispiele #1 machen eine RGB Led nach dem Zufallsprinzip Flash verschiedene Farben

Arduino Beispiele #1 machen eine RGB Led nach dem Zufallsprinzip Flash verschiedene Farben

In diesem instructable ich werde Ihnen zeigen wie man ein Rgb führte nach dem Zufallsprinzip verschiedene Farben mit einem Arduino blinkt. Haben Sie Fragen, Anmerkungen oder Vorschläge für weitere Arduino Beispiele wenden Sie sich bitte einen Komment
Arduino-RGB-LED-Leuchte + 4 bit LCD-Display

Arduino-RGB-LED-Leuchte + 4 bit LCD-Display

Dies ist mein erster instructable!!! Yay...Bevor ich fortfahre. Ich nicht eingehen, wie Sie das Holz geschnitten, oder Stück alles zusammen. Ich freestyled, die der gesamten Build-Prozess, was in den Sinn kam, ist was ich wiedergegeben. Der Punkt von