Servus,
Wie der Name schon sagt bin ich auf der Suche nach einer Lösung für folgendes Problem:
Es soll eine RGB LED die an einen arduino Uno angeschlossen ist durch ein 10K poti und einem taster wie folgt gesteuert werden
-
Das Poti ändert die Farbe
-
Der taster schaltet: Ein ( Dauer)- Pulsieren ( Hinauf und Hinunter dimmen) - Aus
Und das ganze in der eingestellten Farbe 
nun meine Frage kann mir wer helfen das zu realisieren??? Nur mit poti die Farbe zu steuern hab ich hinbekommen nur der Trick ist ja jetzt den Taster auch noch zu integrieren????
Danke im vorraus!
LG Sandro
Dann zeig deinen Sketch und deinen Ansatz
mit einem "Merker"
Beispiel:
byte mode =0;
void loop{
if(digitalRead(3)==high){
mode ++;
if (mode == 4)
{mode =0;}
//hier noch warten bis taster losgelassen
}
switch(mode){
case 0: // blinken
break;
case 1: // Farbe wechsel
break;
case 3: // aus
break;
}
}
sandministrator:
also das rgb band hängt nach diesem tutorial am arduino !
[DIY How To Arduino] Arduino Tutorial 2.3 - Farbmischer per Drehpoti - Raspberry / Arduino - We-Mod-It | Das Forum von Moddern für Modder
nun ist die frage wie integriere ich den taster in den code???
Du möchtest das wir dir helfen, warum machst du uns es nicht einfacher, indem du den Sketch, wie alle anderen auch, hier postest.
Poste den Sketch, den du verwendest, hier in Code-Tags (Schaltfläche </>) verwenden. Dann müssen nicht alle auf die Suche gehen.
ok danke tut mir leid
hier ist er:
der taster hängt dann am PWM 2
also einfach angesteuert mit high und low 
/*
Arduino Tutorial 2.3 - RGB LED Farbmischer mit Drehpoti
In diesem Tutorial geht es darum, eine Farbe mit Hilfe eines Drehpotenzometers einzustellen.
by Scynd 2015
http://www.scynd.de/tutorials/arduino-tutorials.html
*/
//Konstanten
const int rotPin = 10; // Rote LED an Pin 10 angeschlossen
const int gruenPin = 11; // Grüne LED an Pin 11 angeschlossen
const int blauPin = 9; // Blaue LED an Pin 9 angeschlossen
const int potiPin = A0 ; // Potenzometer am analogen Eingang Pin 0 angeschlossen
// Variablen
int rotVar = 0 ; // Variable zum speichern der Werte für die Ausgabe
int gruenVar = 0 ; // Variable zum speichern der Werte für die Ausgabe
int blauVar = 0 ; // Variable zum speichern der Werte für die Ausgabe
int potiVar = 0 ; // Variable zum speichern des Potentiometereingangs
void setup()
{
pinMode(rotPin, OUTPUT) ; // Setzt den LEDPin als Ausgang
pinMode(gruenPin, OUTPUT) ; // Setzt den LEDPin als Ausgang
pinMode(blauPin, OUTPUT) ; // Setzt den LEDPin als Ausgang
}
void loop()
{
potiVar = analogRead(potiPin) ;
if(potiVar < 341) // Unteres Drittel des Potenziometerbereichs (0-340)
{
potiVar = (potiVar * 3) / 4; // Den Wert auf 0-255 umrechnen
rotVar = 256 - potiVar; // Rot von an nach aus
gruenVar = potiVar; // Grün von aus nach an
blauVar = 0; // Blau aus
}
else if(potiVar < 682) // Mittleres Drittel des Potenziometerbereichs (341-681)
{
potiVar = ( (potiVar-341) * 3) / 4; // Den Wert auf 0-255 umrechnen
rotVar = 0; // Rot aus
gruenVar = 256 - potiVar; // Grün von an nach aus
blauVar = potiVar; // Blau von aus nach an
}
else // Oberes Drittel des Potenziometerbereichs (682-1023)
{
potiVar = ( (potiVar-683) * 3) / 4; // Den Wert auf 0-255 umrechnen
rotVar = potiVar; // Rot von aus nach an
gruenVar = 0; // Grün aus
blauVar = 256 - potiVar; // Blau von an nach aus
}
analogWrite(rotPin, rotVar); // Gibt die Variable mit PWM aus
analogWrite(gruenPin, gruenVar); // Gibt die Variable mit PWM aus
analogWrite(blauPin, blauVar); // Gibt die Variable mit PWM aus
}
sandministrator:
ok danke tut mir leid
hier ist er:
Alles klar, danke.
der taster hängt dann am PWM 2
also einfach angesteuert mit high und low 
Was meinst du mit PWM 2?
Ein Taster braucht kein PWM und muss auch nicht angesteuert werden.
Er brauch einen digitalen Eingang mit Pullup-Widerstand und wird im Sketch auf LOW abgefragt.
Dazu kommt in der Deklaration und im Setup die Anweisung:
const int Taster = xx;
pinMode(Taster, INPUT_PULLUP);
Und weiteres erfolgt in der Loop.
um Programmspeicher zu sparen deklariert man Ein und Ausgänge so:
#define taster xx
oder
const byte taster = xx;
da die Anzahl der Ein und Ausgänge nie höher als 255 ist reicht da ein byte