• Hallo Zusammen, Aufgrund der aktuellen Situation setzten wir die Möglichkeit aus, sich mit Gmail zu registrieren. Wir bitten um Verständnis Das RCMP Team

Tech-Frage 4 fach LED-Blitzer mit ATTiny für RC-LKW

BAXL

Admin
Mitarbeiter
Jetzt nimmst Du folgenden Code, nicht mehr und nicht weniger und startest den. Dann variierst Du die Zeiten. Danach suchst Du Dir einen zweiten Digitalport aus, schließt die nächste LED an und teilst mir mit, welchen Du genommen hast.

Code:
void setup() {
pinMode(13,OUTPUT);
}

void loop() {

digitalWrite(13, HIGH);
delay(100);
digitalWrite(13, LOW);
delay(100);

}
 

BAXL

Admin
Mitarbeiter
Ok Ches, jetzt nimmst Du folgenden Code, variierst wieder die Zeiten und suchst Dir den dritten Port aus.
Code:
void setup() {
pinMode(13,OUTPUT);
pinMode(12,OUTPUT);
}

void loop() {

digitalWrite(13, HIGH);
delay(100);
digitalWrite(13, LOW);
digitalWrite(12, HIGH);
delay(100);
digitalWrite(12, LOW);

}
 

BAXL

Admin
Mitarbeiter
Super, jetzt zünden wir die nächste Schwierigkeitsstufe. Du ergänzt den letzten Code um die Zeilen, damit auch die Dritte LED nach der zweiten blinkt. Da mußt Du selbst überlegen.
Dann postetst Du den Code und wir gucken was rausgekommen ist und womit du u.U. Probleme hattest.
 

BAXL

Admin
Mitarbeiter
Im Grunde würde ich Es so schreiben
digtalWrite (11, HIGH);
delay(100);
Genau so ist es, aber nicht vergessen mit digitalWrite(11, LOW); an der richtigen Stelle auch wieder auszuschalten, das geht nämlich nicht von alleine. Was in den Klammern hinter void loop() steht, wird immer wieder durchlaufen. Also vom ersten Befehl bis zum letzten und dann geht es wieder von Vorne los, darum müssen die Befehle auch geschickt aneinandergereiht werden, damit auch ein Lauflicht entsteht.
 

Chesleyn

Mitglied
Hey Norbert,

Ja, da haste Recht, dachte mit delay wäre die Pause Gesetzt. Dann schreibe ich das so Morgen ins IDE und stellst Morgen ins Forum.
Du dann melde ich mich ab. Bis Morgen.

Danke nochmal

Gruß Ches
 

BAXL

Admin
Mitarbeiter
Hey Norbert,

Ja, da haste Recht, dachte mit delay wäre die Pause Gesetzt. Dann schreibe ich das so Morgen ins IDE und stellst Morgen ins Forum.
Du dann melde ich mich ab. Bis Morgen.

Danke nochmal

Gruß Ches
Mit Delay wird auch eine Pause gesetzt, aber man muß mit einem Extrabefehl, die LED wieder ausschalten, das weiß der Prozessor nicht von alleine, dem muß man jeden einzelnen Schritt vorgeben, der weiß ja nicht, dass Du die Lampe auch wieder aus haben willst. :)
 

BAXL

Admin
Mitarbeiter
So, zum Überprüfen habe ich den Code mal erstellt. Aber erst selbst probieren und nicht spicken.
void setup() {
pinMode(13,OUTPUT);
pinMode(12,OUTPUT);
pinMode(11,OUTPUT);
}

void loop() {

digitalWrite(13, HIGH);
delay(100);
digitalWrite(13, LOW);

digitalWrite(12, HIGH);
delay(100);
digitalWrite(12, LOW);

digitalWrite(11, HIGH);
delay(100);
digitalWrite(11, LOW);

}
 

Chesleyn

Mitglied
Einen Wunderschönen wünsche ich euch allen,

So BAXL, ich habs geschaft und ohne zu LINKEN!!!

Code:
/*  Einfaches Blinkprogram mit 4 Leds
 *  Mit freundlicher Unterstützung durch
 *  Norbert alias BAXL aus dem RC Modellbau Forum
 */



void setup() {

  pinMode ( 13, OUTPUT);
  pinMode ( 12, OUTPUT);
  pinMode ( 11, OUTPUT);
  pinMode ( 10, OUTPUT);
}

void loop() {

  digitalWrite  (13, HIGH);
  delay(100);
  digitalWrite  (13,  LOW);
  digitalWrite  (12, HIGH);
  delay(100);
  digitalWrite  (12,  LOW);
  digitalWrite  (11, HIGH);
  delay(100);
  digitalWrite  (11,  LOW);
  digitalWrite  (10,  HIGH);
  delay(100);   
  digitalWrite  (10,  LOW);
}
 

BAXL

Admin
Mitarbeiter
Super! :thumbsup:

Jetzt machst Du aus dem Blinken ein kurzes Aufblitzen, also mit den delay Werten spielen.

Speichere das Programm ab wenn es so läuft wie Du es Dir vorstellst und dann speichere das Programm noch einmal mit einem anderen Namen ab. Bisher blinken die LEDs immer der Reihe nach und fangen wieder von Vorne an.

Als nächstes sollen die Lichter hin und her gehen, also vorwärts und rückwärts.

Wenn das klappt, gehen wir an den Nano:)
 

Chesleyn

Mitglied
Hey norbert,

ich finds nicht, wo soll das sein?

Code:
/*  Einfaches Blinkprogram mit 4 Leds
 *  Mit freundlicher Unterstützung durch
 *  Norbert alias BAXL aus dem RC Modellbau Forum
 */



void setup() {

  pinMode ( 13, OUTPUT);
  pinMode ( 12, OUTPUT);
  pinMode ( 11, OUTPUT);
  pinMode ( 10, OUTPUT);
}

void loop() {

  digitalWrite  (13, HIGH);
  delay(50);
  digitalWrite  (13,  LOW);
  digitalWrite  (12, HIGH);
  delay(50);
  digitalWrite  (12,  LOW);
  digitalWrite  (11, HIGH);
  delay(50);
  digitalWrite  (11,  LOW);
  digitalWrite  (10,  HIGH);
  delay(50);   
  digitalWrite  (10,  LOW);
  digitalWrite  (10,  HIGH);
  delay(50);
  digitalWrite  (10,  LOW);
  digitalWrite  (11,  HIGH);
  delay(50);
  digitalWrite  (11,  LOW);
  digitalWrite  (12,  HIGH);
  delay(50);
  digitalWrite  (12,  LOW);
  digitalWrite  (13,  HIGH);
  delay(50);
  digitalWrite  (13,  LOW);   
}
 

Chesleyn

Mitglied
Habs schon mal gebastelt.

Code:
/*  Einfaches Blinkprogram mit 4 Leds
 *  Mit freundlicher Unterstützung durch
 *  Norbert alias BAXL aus dem RC Modellbau Forum
 */



void setup() {

  pinMode ( 13, OUTPUT);
  pinMode ( 12, OUTPUT);
  pinMode ( 11, OUTPUT);
  pinMode ( 10, OUTPUT);
}

void loop() {

  digitalWrite  (13, HIGH);
  delay(50);
  digitalWrite  (13,  LOW);
  delay(50),
  digitalWrite  (12, HIGH);
  delay(50);
  digitalWrite  (12,  LOW);
  delay(50),
  digitalWrite  (11, HIGH);
  delay(50);
  digitalWrite  (11,  LOW);
  delay(50),
  digitalWrite  (10,  HIGH);
  delay(50);   
  digitalWrite  (10,  LOW);
  delay(50),
  digitalWrite  (10,  HIGH);
  delay(50);
  digitalWrite  (10,  LOW);
  delay(50);
  digitalWrite  (11,  HIGH);
  delay(50);
  digitalWrite  (11,  LOW);
  digitalWrite  (12,  HIGH);
  delay(50);
  digitalWrite  (12,  LOW);
  delay(50),
  digitalWrite  (13,  HIGH);
  delay(50);
  digitalWrite  (13,  LOW);
  delay(50);   
}
 

BAXL

Admin
Mitarbeiter
Ich denke, wir können dann mal probieren, das auf den Nano zu bringen. Hat Dein Nano die Anschlusspins, die nach unten gehen?

Hast Du auch so ein Steckbrett, wo Du dem Nano dann reinstecken kannst?
 

Chesleyn

Mitglied
Code:
/*  Einfaches Blinkprogram mit 4 Leds
 *  Mit freundlicher Unterstützung durch
 *  Norbert alias BAXL aus dem RC Modellbau Forum
 */



void setup() {

  pinMode ( 13, OUTPUT);
  pinMode ( 12, OUTPUT);
  pinMode ( 11, OUTPUT);
  pinMode ( 10, OUTPUT);
}

void loop() {

  digitalWrite  (13, HIGH);
  delay(50);
  digitalWrite  (13,  LOW);
  delay(50),
  digitalWrite  (12, HIGH);
  delay(50);
  digitalWrite  (12,  LOW);
  delay(50),
  digitalWrite  (11, HIGH);
  delay(50);
  digitalWrite  (11,  LOW);
  delay(50),
  digitalWrite  (10,  HIGH);
  delay(50);   
  digitalWrite  (10,  LOW);
  delay(50),
  digitalWrite  (10,  HIGH);
  delay(50);
  digitalWrite  (10,  LOW);
  delay(50);
  digitalWrite  (11,  HIGH);
  delay(50);
  digitalWrite  (11,  LOW);
  digitalWrite  (12,  HIGH);
  delay(50);
  digitalWrite  (12,  LOW);
  delay(50),
  digitalWrite  (13,  HIGH);
  delay(50);
  digitalWrite  (13,  LOW);
  delay(50);   
}
 

BAXL

Admin
Mitarbeiter
Code:
/*  Einfaches Blinkprogram mit 4 Leds
*  Mit freundlicher Unterstützung durch
*  Norbert alias BAXL aus dem RC Modellbau Forum
*/



void setup() {

  pinMode ( 13, OUTPUT);
  pinMode ( 12, OUTPUT);
  pinMode ( 11, OUTPUT);
  pinMode ( 10, OUTPUT);
}

void loop() {

  digitalWrite  (13, HIGH);
  delay(50);
  digitalWrite  (13,  LOW);
  delay(50),
  digitalWrite  (12, HIGH);
  delay(50);
  digitalWrite  (12,  LOW);
  delay(50),
  digitalWrite  (11, HIGH);
  delay(50);
  digitalWrite  (11,  LOW);
  delay(50),
  digitalWrite  (10,  HIGH);
  delay(50);
  digitalWrite  (10,  LOW);
  delay(50),
  digitalWrite  (10,  HIGH);
  delay(50);
  digitalWrite  (10,  LOW);
  delay(50);
  digitalWrite  (11,  HIGH);
  delay(50);
  digitalWrite  (11,  LOW);
  digitalWrite  (12,  HIGH);
  delay(50);
  digitalWrite  (12,  LOW);
  delay(50),
  digitalWrite  (13,  HIGH);
  delay(50);
  digitalWrite  (13,  LOW);
  delay(50);
}
Jowoll so ists richtig. Ich haue den verunglückten Post mal raus, sonst wirds unübersichtlich.
 
Top Bottom