Vorab: Es ist ein Testballon! Ich habe keine Ahnung wo es mich hinführt, ob ich es hinbekomme. Die Karo ist eine Spielzeugkaro und stellt eine Veranschaulichung dar was man damit machen kann. Die Fragen kamen ja auf, für was denn dieses geblinke gut sein könnte. Generell bin ich eher an dem Funktionsprinzip, Programmierung interessiert, als das es am Ende gut aussieht.
Ich hoffe ich kann die Beschreibung soweit nachvollziehend aufbauen, das sich jeder selbst daran versuchen kann.
In diesem Thema geht es um die Tippel Tappel Tour, wie ich mich der Geschichte immer weiter nähere, hoffentlich.
Die Schaltung selbst steht im Grundgerüst! Es gibt Frontscheinwerfer, Heckleuchten und Bodenleuchten.
Aktuell sind bei den Frontscheinwerfern und den Heckleuchten 10 kOhm vorgeschalten, es wird später noch ein zweiter Stromkreislauf gezogen, der nur einen Vorwiderstand von 330 Ohm hat, um ein Aufblendlicht und Bremslicht zu imitieren, des Weiteren ist noch Blinklicht geplant, evtl. Rückwertscheinwerfer und ein Lauflicht a la Nightrider. Aktuell ist der Schaltkreislauf so klein gehalten, um Fehler schnellstmöglich eingrenzen zu können.
Blinker, Bremslicht sollen über die Gas Befehle und Lenkbefehle angesprochen werden. Aufblendlicht, generell Licht AN/AUS und Lauflicht über den dritten Kanal. Doch das ist bisher nur Wunschdenken.
Also zum bisherigen Zustand:
Was kann es: AN und AUS! Mehr nicht, wobei beim ersten mal Strom draufgeben gleich alles an ist. Button einmal betätigen = alles an, Button ein weiteres mal betätigen aus, nochmal an usw..
So sieht der Versuchsaufbau aus. Auf der linken weißen Platte sind die Vorwiderstand für die LED montiert und auf der rechten weißen Platte der drückbare Button, ebenfalls mit einem 10 kOhm Widerstand, um so ein auswertbares Signal zu erzeugen.
Das Programm für den AR.Duino
const int buttonPin = 2; // the pin that the pushbutton is attached to
const int front = 8; // the pin that the LED is attached to
const int front1 = 9;
const int boden = 10;
const int heck = 11;
// Variables will change:
int buttonPushCounter = 0; // counter for the number of button presses
int buttonState = 0; // current state of the button
int lastButtonState = 0; // previous state of the button
void setup() {
// initialize the button pin as a input:
pinMode(buttonPin, INPUT);
// initialize the LED as an output:
pinMode(front, OUTPUT);
pinMode(front1, OUTPUT);
pinMode(boden, OUTPUT);
pinMode(heck, OUTPUT);
// initialize serial communication:
Serial.begin(9600);
}
void loop() {
// read the pushbutton input pin:
buttonState = digitalRead(buttonPin);
// compare the buttonState to its previous state
if (buttonState != lastButtonState) {
// if the state has changed, increment the counter
if (buttonState == HIGH) {
// if the current state is HIGH then the button
// wend from off to on:
buttonPushCounter++;
Serial.println("on");
Serial.print("number of button pushes: ");
Serial.println(buttonPushCounter);
}
else {
// if the current state is LOW then the button
// wend from on to off:
Serial.println("off");
}
}
// save the current state as the last state,
//for next time through the loop
lastButtonState = buttonState;
// turns on the LED every four button pushes by
// checking the modulo of the button push counter.
// the modulo function gives you the remainder of
// the division of two numbers:
if (buttonPushCounter % 2 == 0) {
digitalWrite(front, HIGH);
digitalWrite(front1, HIGH);
digitalWrite(boden, HIGH);
digitalWrite(heck, HIGH);
} else {
digitalWrite(front, LOW);
digitalWrite(front1, LOW);
digitalWrite(boden, LOW);
digitalWrite(heck, LOW);
}
}
Alles anzeigen
Das Grundprogramm ist von arduino.cc ausgeliehen. Es zählt im Prinzip die klicks des Buttons und sagt dann bei so und sovielen Klicks mach das mit den definierten Ausgängen.
Nun könnte die Frage kommen: Hä front und front1? Aber nur einmal Heck. Sind doch jeweils 2 LEDs verbaut. Ja die weißen LEDs brauchen mehr Strom, so mussten die gesplittet werden, da so ein Ausgang nur 5V bei 500mA bringt.
That's it, erstmal. Hoffe auf weiteres gelingen. Anregungen, fähige Programmierer sind willkommen.
Der Schaltungsaufbau und selbst das Arduino sind Entwicklerboard! Wenn alles fertig geschrieben und die Schaltpläne fertig sind kann man sich viel kleinere Arduinos kaufen und die Kabelführung optimieren! So übern Daumen gepeilt wird dann alles in Allem keine 30€ kosten!