Guten Abend
Ich bin vor ca. 3 Wochen auf den/das? Arduino gestossen und hatte zu diesem Zeitpunkt sehr wenig Ahnung von Elektronik und gar keine vom Programmieren.
Nun habe ich ein kleines Projekt beendet bei welchem man mit einem Potentiometer und drei Knöpfen eine RGB-Led kontrollieren kann, d.h. man kann mittels dem Drücken eines der Knöpfe den momentanen Wert des Potentiometers, welcher mit der map-Funktion zwischen 0 und 255 liegt, auf den jeweiligen PWM-Output übertragen.
Da ich darauf aus bin, den Code zu optimieren, jedoch beim Betrachten von Codes von Projekten Anderer nicht wirklich schlau wurde, möchte ich nun direkt auf meinen eigenen Code bezogen Ratschläge entgegen nehmen.
int button1 = 8;
boolean sure1;
int button2 = 9;
boolean sure2;
int button3 = 10;
boolean sure3;
int poti = A0;
int potwert;
int potens;
int ledgreen = 3;
int ledyellow = 5;
int ledred = 6;
void setup()
{
pinMode(button1, INPUT);
pinMode(button2, INPUT);
pinMode(button3, INPUT);
pinMode(ledgreen, OUTPUT);
pinMode(ledyellow, OUTPUT);
pinMode(ledred, OUTPUT);
Serial.begin(9600);
}
void loop()
{
if ( digitalRead(button1) == HIGH && sure1 == false)
{
Serial.print("Knopf 1 gedrueckt\n");
sure1 = true;
}
else if (digitalRead(button1) == LOW && sure1 == true)
{
Serial.print("Knopf 1 nicht gedrueckt\n");
sure1 = false;
}
if ( digitalRead(button2) == HIGH && sure2 == false)
{
Serial.print("Knopf 2 gedrueckt\n");
sure2 = true;
}
else if (digitalRead(button2) == LOW && sure2 == true)
{
Serial.print("Knopf 2 nicht gedrueckt\n");
sure2 = false;
}
if ( digitalRead(button3) == HIGH && sure3 == false)
{
Serial.print("Knopf 3 gedrueckt\n");
sure3 = true;
}
else if (digitalRead(button3) == LOW && sure3 == true)
{
Serial.print("Knopf 3 nicht gedrueckt\n");
sure3 = false;
}
potwert = analogRead(poti);
int reset = constrain(potwert, 10, 920);
int dinimami = map(reset, 10, 920, 0, 255);
Serial.print(dinimami);
Serial.print("\n");
if (sure1 == true)
{
analogWrite(ledgreen, dinimami);
}
if (sure2 == true)
{
analogWrite(ledyellow, dinimami);
}
if (sure3 == true)
{
analogWrite(ledred, dinimami);
}
delay(20);
}
Die Hardware hab ich so installiert.
Danke jetzt schon für die Mühe.
mfG
bluebubble