• 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

Praxisbericht Eurosky lernt Arduino

eurosky

Mitglied
Super Anleitung ich werde das mal versuchen. Da ich erst jetzt mit
Arduino was zu bauen beginne, kann es sein das ich des öfteren fragen muss.
 
Zuletzt bearbeitet:

eurosky

Mitglied
Guten Abend

Das Test beispiel (aus dem Programm ... IDE --> Beispiele --> 01. Basics --> Blink ) wurde Übertragen und es funkt.
Nun bin ich auch der suche nach einer kleinen Schaltung die ich testen könnte mit den Arduino Nano inkl. Verkabelungsschema?

Stufe 1:
Licht vorne
Licht hinten
Bremslicht


Danke für Eure Rückmeldungen.
 

BAXL

Admin
Mitarbeiter
Nur mal so gefragt, möchtest Du nur einfach Lösungen oder Dich in die Dache reinfuchsen. Bei letzterem kann ich Dir helfen.
 

BAXL

Admin
Mitarbeiter
Ich bräuchte mal was leichtes damit ich mich damit befassen kann und dann das laufend erweitern. Habe leier keinen Erfahrung bis jetzt damitt gemacht Bis jetzt z.b. Licht Ansteuerung mittel Servo Steuerung.BIn aber für alles offen :)
Ok, das bekommen wir hin. Vorher wäre es hilfreich zu wissen, was für eine Hardware Du hast und ob Du schon die Arduino IDE installiert hast.
 

BAXL

Admin
Mitarbeiter
Ok, ich schlage vor, dass wir Dein „ Training“ in einem extra Thema machen, weil das nur mittelbar mit dem Projekt etwas zu tun hat.
Hast Du tatsächlich nur den nackten Nano oder auch Steckbrett, Kabel und etwas Elektronikzeugs wie Widerstände und LEDs usw.?
 

eurosky

Mitglied
3 Nanos, div. LEDS, Kabel, Drähte;.... aber derzeit noch kein Steckbrett, könnte ich bei Bedarf beim C##### holen fahren.
 

BAXL

Admin
Mitarbeiter
Ich habe mir überlegt, dass Du als erstes eine LED an einen Digitalport anschließt und das einfache Blinkprogramm an den neuen Port anpasst. Klingt simpel, birgt für einen Anfänger aber auch Stolperfallen .
 

BAXL

Admin
Mitarbeiter
Wie siehts aus, Shoppingtour erledigt? :)

Edit: @eurosky
Wir sollten vorher noch klären, wie weit Du in die Tiefe willst. Ich persönlich würde es für sinnvoll halten, wenn Du zumindest die einfachsten Portbefehle kennst, weißt, wie man eine Entscheidung in einem Programm trifft und wie man einfache Schleifen programmiert.

Ich meine das deshalb, weil Du bei einer Fehlersuche, oder bei eigenen kleinen Anpassungen wissen solltest, wo Du überhaupt suchen und wie verändern mußt. Sonst guckst Du in so ein Programm wie Max ins Getriebe. Als ich im letzten Frühjar so richtig eingestiegen bin, war für mich das meiste auch ein böhmisches Dorf. Erst durch fummeln und modifizieren von Beispielprogrammen bin ich weiter gekommen. Und auch nach einem Jahr, bin ich vielleicht zu 20-30% in die Thematik eingetaucht. Weil es noch so kurz bei mir her ist, weiß ich nur zu gut wo man strauchelt und wo man wie ein Ochs vorm berge steht.
 
Zuletzt bearbeitet:

froetz

Mitglied
Ich würde die auch erst mal raten ein paar LEDs zu holen und die mit passenden Vorwiderständen an den arduino zu klemmen (breadboards sind da hilfreich). Dann erst mal versuchen die LEDs einzeln anzusteuern. Wenn das klappt kannst da mal was blinken lassen und evtl einen Eingang mit einbinden. Das sollte an einem Abend erlernbar sein.
 

BAXL

Admin
Mitarbeiter
Hier nun die 1. Aufgabe für Dich. Ich kaue Dir nicht alles komplett vor, sonst ist das für Dich keine herausforderung, es wird langweilig und Du lernst nichts dabei.

Basis wir das Beispielprogramm "Blink" sein. In dem Programm lässt man nur die LED blinken, die auf dem Controller verbaut ist. Das ist langweilig.
Du wirst also eine richtige LED aus Deinem Fundus nehmen und einen Widerstand. Als Widerstand geht irgendwetwas zwischen 200 und 500 Ohm (kommt nicht so genau darauf an).
Du schließt die LED in Reihe zu dem Widerstand an einen Digitalen Ausgang an. Ich definiere für Dich mal Digitalport 8. Warum 8? Einfach nur so, hat keinen besonderen Grund.

Vorsicht! auf die Polung achten.
Aufgabe: Wo Plus und Minus an der LED ist musst du selbst herausfinden.
Kleine Hilfe: Der Pluspol der LED kommt an den Ausgang vom Digitalport.

Aufgabe: Ändere nun das "Blink" Programm so ab, dass die LED an Port 8 blinkt.

Kleine Hilfe: Das Blinkprogramm :D.

Code:
void setup() {
  // initialize digital pin LED_BUILTIN as an output.
  pinMode(LED_BUILTIN, OUTPUT);
}

// the loop function runs over and over again forever
void loop() {
  digitalWrite(LED_BUILTIN, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(1000);                       // wait for a second
  digitalWrite(LED_BUILTIN, LOW);    // turn the LED off by making the voltage LOW
  delay(1000);                       // wait for a second
}
void setup() {
// initialize digital pin LED_BUILTIN as an output.
pinMode(8, OUTPUT);
}

// the loop function runs over and over again forever
void loop() {
digitalWrite(8, HIGH); // turn the LED on (HIGH is the voltage level)
delay(1000); // wait for a second
digitalWrite(8, LOW); // turn the LED off by making the voltage LOW
delay(1000); // wait for a second
}
 

BAXL

Admin
Mitarbeiter
2. Aufgabe: Schließe eine zweite LED an Port 5 an. Erweitere das Programm so, dass beide LEDs an und wieder aus gehen.

void setup() {
// initialize digital pin LED_BUILTIN as an output.
pinMode(8, OUTPUT);
pinMode(5, OUTPUT);
}

// the loop function runs over and over again forever
void loop() {
digitalWrite(8, HIGH); // turn the LED on (HIGH is the voltage level)
digitalWrite(5, HIGH); // turn the LED on (HIGH is the voltage level)
delay(1000); // wait for a second
digitalWrite(8, LOW); // turn the LED off by making the voltage LOW
digitalWrite(5, LOW); // turn the LED off by making the voltage LOW
delay(1000); // wait for a second
}

3. Aufgabe: Ändere das Programm so, dass die LEDs abwechselnd blinken.

void setup() {
// initialize digital pin LED_BUILTIN as an output.
pinMode(8, OUTPUT);
pinMode(5, OUTPUT);
}

// the loop function runs over and over again forever
void loop() {

digitalWrite(8, HIGH); // turn the LED on (HIGH is the voltage level)
delay(500); // wait
digitalWrite(8, LOW); // turn the LED off by making the voltage LOW

digitalWrite(5, HIGH); // turn the LED on (HIGH is the voltage level)
delay(500); // wait
digitalWrite(5, LOW); // turn the LED off by making the voltage LOW

}
 
delay() ist generell gefährlich, da es im Prinzip während der Wartezeit den kompletten Prozessor lahmlegt und er somit auch nichts anderes nebenbei machen kann. Um das zu umgehen, habe ich folgende library entwickelt: https://github.com/TheDIYGuy999/statusLED

Ich benutze sie für die Lichtfunktionen in all meinen RC Fahrzeugen. Die LED können damit völlig unabhängig voneinander blinken oder was auch immer.
 

BAXL

Admin
Mitarbeiter
delay() ist generell gefährlich, da es im Prinzip während der Wartezeit den kompletten Prozessor lahmlegt und er somit auch nichts anderes nebenbei machen kann. Um das zu umgehen, habe ich folgende library entwickelt: https://github.com/TheDIYGuy999/statusLED

Ich benutze sie für die Lichtfunktionen in all meinen RC Fahrzeugen. Die LED können damit völlig unabhängig voneinander blinken oder was auch immer.
Schon richtig, ... wenn man schon einigermaßen mit der Programmierung klar kommt. Der junge Recke fängt aber quasi bei 0 an, also lassen wir es für den Anfang dabei.
 
Top Bottom