Anode RGB LED Arduino Anschlussverwirrung

Es fällt mir wirklich schwer, diese RGB-LED mit meinem Arduino zum Laufen zu bringen. Zuerst beschreibe ich mein Setup (Schema) und dann zeige ich Ihnen den Code, den ich habe.

Ich habe 5 Volt, die in den zweiten Pin der RGB-LED gehen, dann habe ich 3 200-Ohm-Widerstände an jedem der Pins, die aus der LED herausgehen, die jeweils in PMW 9,10,11 meines Arduino führen.

(Das LED-Setup) Pin 1 Rot (-) Pin 2 Positive Spannung Pin 3 Blau (-) Pin 4 Grün (-)

Der Code, den ich habe, ist

byte Red = 9; 
byte Blu = 10;
byte Grn = 11;  

void setup () 
{  
 pinMode (Red, OUTPUT);
 pinMode (Blu, OUTPUT);
 pinMode (Grn, OUTPUT);
}

 int x=255;
 int y=0;
 int z=0;
 void loop () 
{
 analogWrite(Red,x);
 analogWrite(Blu,y);
 analogWrite(Grn,z);
}

Der obige Code soll ein rotes Licht erzeugen, aber er erzeugt ein violettes. Ich habe das Gefühl, es ist etwas ganz Einfaches ... Danke

Antworten (2)

Ich hatte das gleiche Problem beim Versuch, die RGB-LED zu verwenden, die mit meinem Kit geliefert wurde.

Tatsächlich wurden alle Beispiele für mein Kit für RGB-LEDs mit gemeinsamer Kathode geschrieben. Die PWM-Ausgangswerte im Code gehen von einer gemeinsamen Kathode aus, und in den Schaltplänen ist die Nicht-RGB-Leitung mit GND verbunden. Ich brauchte einige Zeit, um herauszufinden, dass die LEDs, die ich bekam, eine gemeinsame Anode waren und dass das Nicht-RGB-Kabel mit VCC anstelle von GND verbunden werden sollte.

Versuchen Sie beim Anpassen Ihrer Beispiele diesen Trick, die Skala umzukehren, während Sie den Wert auf die PWM-Pins schreiben.

 analogWrite(Red,255-x);
 analogWrite(Blu,255-y);
 analogWrite(Grn,255-z);

Das Schöne daran, es auf diese Weise zu tun, ist, dass alle anderen Beispiel-Arduino-Codes, die für die gemeinsame Kathode geschrieben wurden, im Grunde so verwendet werden können, wie sie sind, mit nur dieser letzten Anpassung der geschriebenen Werte.

Da Sie die LED zum Einschalten auf Masse ziehen, sind die Pins, die Sie auf Null setzen, diejenigen, die eingeschaltet sind, was Ihnen zwei Pins gibt.

Ich empfehle, mit nur einem Pin zu beginnen; Schließen Sie es an und sehen Sie, ob Sie nur diese Farbe zum Einschalten bekommen können. Fügen Sie Farben hinzu und gehen Sie von dort aus.

Richtig. Das OP schaltet das Masseende, nicht das positive Ende, sodass die Codelogik invertiert wird. Ein logisches Low schaltet die entsprechende LED-Farbe ein, ein logisches High deaktiviert sie.