Hallo,
ich bin neu dabei und habe leider auch schon das erste Problem, auch nach 3 Tagen Recherche im Netz komme ich nicht weiter.
Ich möchte für eine Signalsteuerung (Modellbahn) die angeschlossenen LED beim Einschalten langsam heller werden lassen und beim Ausschalten sollen sie auch langsam wieder erlöschen. Die Zeit zum auf und abblenden sollte nachher ca. 1500 -2000 ms betragen. Der Sketch steht soweit dass über 3 Taster die Signalbilder geschaltet werden können. Später werden die Taster durch Optokoppler ersetzt.
Der Sketch ist sehr einfach, bildet aber die Grundlage für eine Vorbildgerechte Ansteuerung eines Lichtsignals.
Vielleicht kann mir jemand verraten wie ich ab hier weiter machen muß.
Gruß,
Ingo
/**************************************************
- Autor: Ingo Mögling *
- Mai 2013 *
- Beschreibung *
- Sketch zum steuern eine Lichthauptsignals *
- mit mehreren LEDs *
- http://www.arduino-tutorial.de/schaltungen/
- http://www.youtube.com/watch?v=ZOtfcejS21c *
- Arduino-Kochbuch - Michael Margolis - Google Books *
***************************************************/int led1 = 3; // integer variable ledPin1 rot
int led2 = 5; // integer variable ledPin2 gelb
int led3 = 6; // integer variable ledPin3 grünint buttonPin1 = 10; // integer variable buttonPin1 Hp0
int buttonPin2 = 11; // integer variable buttonPin2 Hp2
int buttonPin3 = 12; // integer variable buttonPin3 Hp1void setup() {
// pinMode(led1,OUTPUT); // Pin3 ist jetzt ein Ausgang
// pinMode(led2,OUTPUT); // Pin5 ist jetzt ein Ausgang
// pinMode(led3,OUTPUT); // Pin6 ist jetzt ein Ausgang
pinMode(buttonPin1,INPUT); // Pin10 ist jetzt ein Eingang
pinMode(buttonPin2,INPUT); // Pin11 ist jetzt ein Eingang
pinMode(buttonPin3,INPUT); // Pin12 ist jetzt ein Eingang
analogWrite(led1,HIGH); //LEDrot ist zum Start ein
}void loop(){
if (digitalRead(buttonPin1)==HIGH)
if (digitalRead(buttonPin2)==LOW)
if (digitalRead(buttonPin3)==LOW)
{
analogWrite(led1,HIGH); //LEDrot ist an
analogWrite(led2, LOW); //LEDgelb ist aus
analogWrite(led3, LOW); //LEDgrün ist aus}
{
if (digitalRead(buttonPin2)==HIGH)
if (digitalRead(buttonPin1)==LOW)
if (digitalRead(buttonPin3)==LOW){
analogWrite(led1,LOW); //LEDrot ist aus
analogWrite(led2,HIGH); //LEDgelb ist an
analogWrite(led3,HIGH); //LEDgrün ist an
}
{
if (digitalRead(buttonPin3)==HIGH)
if (digitalRead(buttonPin1)==LOW)
if (digitalRead(buttonPin2)==LOW){
analogWrite(led1,LOW); //LEDrot ist aus
analogWrite(led2,LOW); //LEDgelb ist aus
analogWrite(led3,HIGH); //LEDgrün ist an
}
}
}
}