Kleine Hilfe zu Anfänger-Problem



  • Hallo Forum !

    Ich habe heute meinen ersten Block des Lehrfaches Mikrocontroller in meiner schulischen Ausbildung zum Medieninformatiker gehabt, wobei uns der Lehrer gleich eine Denkaufgabe gegeben hat.

    Wir haben über die USB-Schnittstelle eines Arduino Uno Kontakt mit der Arduino-Software aufgenommen, welche das Board durch die Programmiersprache C mit Informationen versorgt.

    Zweck der ganzen Sache war das Kennenlernen der Syntax, wobei wir folgendes Quellcode-Fragment genutzt haben:

    */
    Blink
    Turns on an LED on for one second, then off for one second, repeatedly.

    This example code is in the public domain.
    */

    void setup() {
    // initialize the digital pin as an output.
    // Pin 13 has an LED connected on most Arduino boards:
    pinMode(13, OUTPUT);
    }

    void loop() {
    digitalWrite(13, HIGH); // set the LED on
    delay(1000); // wait for a second
    digitalWrite(13, LOW); // set the LED off
    delay(1000); // wait for a second
    }**

    Dieses erklärt sich praktisch von selbst: Die interne LED am 12er-Pin soll abwechselnd aufleuchten und wieder erlöschen.

    Desweiteren haben wir am 13er-Pin eine externe LED + Widerstand angeschlossen und diese ebenfalls in Betrieb genommen, sodass der Quellcode folgendermaßen aussehen könnte:

    */
    Blink
    Turns on an LED on for one second, then off for one second, repeatedly.

    This example code is in the public domain.
    */

    void setup() {
    // initialize the digital pin as an output.
    // Pin 13 has an LED connected on most Arduino boards:
    pinMode(13, OUTPUT);
    pinMode(12, OUTPUT);
    }

    void loop() {
    digitalWrite(13, HIGH); // set the LED on
    delay(1000); // wait for a second
    digitalWrite(13, LOW); // set the LED off
    delay(1000); // wait for a second
    digitalWrite(12, HIGH); // set the other LED on
    delay(1000); // wait for a second
    digitalWrite(12, LOW); // set the other LED off
    delay(1000); // wait for a second
    }
    **

    Bis hier alles kein Problem, jedoch gab er uns zum Ende des Unterrichts eine Aufgabe mit:

    Die interne LED soll bspw. für 10 Sekunden leuchten.
    Währenddessen soll die externe LED in eben diesen 10 Sekunden aufleuchten und wieder erlöschen, sozusagen simultan zur internen LED.

    Wie soll ich das anstellen, wenn C die einzelnen Zeilen des Quellcodes Stück für Stück abarbeitet ? Sollte ich den Delay möglicherweise weglassen ?

    Bin ein bisschen überfragt und hoffe auf ein wenig Unterstützung eurerseits !

    So long..
    Dome



  • Du könntest einfach die interne LED anschalten. Dann wartest du z.B. eine Sekunde ( delay(1000); ) und schaltest die externe LED an, wartest wieder eine Sekunde und schaltest die externe wieder ab. Das wiederholst du fünf mal und deaktivierst dann die interne LED. Oder meintest du was anderes?



  • lol yo... irgndwie total simpel, wieso bin ich da vorhin nicht draufgekommen ? 🙄

    Danke ! 🙂


Anmelden zum Antworten