Hey,
gestern alles fertig programmiert, heute geht nichts mehr. Mein Projekt (kurz) :
Betätigt man TasterA, soll sich ein Servo um 180 Grad drehen und die RGB LED soll solange rot leuchten, das klappt soweit.
Betätigt man TasterB, soll man die Farben der RGB LED auf dem Breadboard ändern können. Das geht irgendwie nicht mehr.. mir ist dann aufgefallen, dass die 'L' LED auf dem Arduino immer aus ist, sobald man GND anschließt.. das war gestern irgendwie anders. Jedenfalls funktioniert TasterB nicht, wenn diese LED aus ist. (A aber irgendwie schon)
#include <Servo.h>
Servo myservo;
int pos = 0;
int ButtonA = 7;
int ButtonB = 13;
int mode = 0;
int redPin = 9;
int greenPin = 10;
int bluePin = 11;
void setup() {
myservo.attach(6);
pinMode(ButtonA, INPUT);
pinMode(ButtonB, INPUT);
pinMode(redPin, OUTPUT);
pinMode(greenPin, OUTPUT);
pinMode(bluePin, OUTPUT);
Serial.begin(1000);
}
void loop() {
if(digitalRead(ButtonA) == HIGH)
{
setRGB(255, 0, 0);
delay(1000);
myservo.write(180);
delay(800);
myservo.write(0);
delay(1000);
mode;
}
if(digitalRead(ButtonA) == LOW)
{
myservo.write(0);
}
int buttonState;
buttonState = digitalRead(ButtonB);
if(buttonState == LOW)
{
mode++;
delay(100);
}
else if (mode == 0)
{
digitalWrite(redPin, LOW);
digitalWrite(greenPin, LOW);
digitalWrite(bluePin, LOW);
}
else if (mode == 1)
{
digitalWrite(redPin, HIGH);
digitalWrite(greenPin, LOW);
digitalWrite(bluePin, HIGH);
}
else if (mode == 2)
{
digitalWrite(redPin, LOW);
digitalWrite(greenPin, HIGH);
digitalWrite(bluePin, HIGH);
}
else if (mode == 3)
{
digitalWrite(redPin, LOW);
digitalWrite(greenPin, HIGH);
digitalWrite(bluePin, LOW);
}
else if (mode == 4)
{
digitalWrite(redPin, HIGH);
digitalWrite(greenPin, HIGH);
digitalWrite(bluePin, LOW);
}
else
{
mode = 0;
}
}
void setRGB(int redWert, int greenWert, int blueWert)
{
analogWrite(redPin, redWert);
analogWrite(greenPin, greenWert);
analogWrite(bluePin, blueWert);
}
Woran kann das liegen ? Ist vlt. etwas kaputt ?
Danke im Voraus.
EDIT!: wenn man den TasterB drückt, ist die 'L' LED solange an, wie er gedrückt wird. Drückt man in dann schnell hintereinander wird er auch wieder erkannt.