Lauflicht ohne DELAY! LED Lauflicht mit millis() [Arduino für Anfänger] C++ programmieren lernen

แชร์
ฝัง
  • เผยแพร่เมื่อ 7 มิ.ย. 2024
  • Mit delay() programmieren ist keine Kunst. Wenn du erstmal millis() verstanden hast, dann stehen dir viel mehr Möglichkeiten offen! C++ einfach erklärt - diese Anleitung zeigt Dir Schritt für Schritt wie man programmiert. ** Arduino für Anfänger **
    ► KANAL ABONNIEREN
    th-cam.com/users/IWANNAKNOWd...
    ►WEITERE VIDEOS
    Buchsen an ESP8266 löten:
    • Löten LERNEN??? Buchse...
    ESP8266 D1 mini programmieren | Arduino für Anfänger | Arduino IDE:
    • ESP8266 D1 mini PROGRA...
    [►PLAYLIST] SMART HOME HACKS:
    • Amazon ALEXA HACK | di...
    [►PLAYLIST] ARDUINO TUTORIAL DEUTSCH [für ANFÄNGER]:
    • Löten LERNEN??? Buchse...
    ▬PRODUKTE▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
    ► BAUSETZE ZUM BASTELN
    🛒 Arduino Starter Kit: amzn.to/3bsA5wP
    🛒 Arduino UNO: amzn.to/2XkvFUv
    🛒 Breadboard: amzn.to/3pbLDvR
    🛒 Widerstände: amzn.to/3rGnqw6
    🛒 LEDs: amzn.to/3vjOp30
    🛒 Kabel Steckbrücken: amzn.to/3C5Wwmg
    ► NÜTZLICHE WERKZEUGE & ZUBEHÖR
    🛒 Labornetzgerät: amzn.to/3bufgk6
    🛒 Lötstation: amzn.to/3BReQ2L
    🛒 Mobiler Lötkolben: amzn.to/3na8QeZ
    🛒 Feuerzeuggas für den Lötkolben: amzn.to/3mYQbSZ
    🛒 Lötzinn: amzn.to/3tXzgmf
    🛒 Abisolierzange: amzn.to/3tZMoah
    🛒 Schraubendreher Set: amzn.to/31sioI8
    🛒 Strommesszange: amzn.to/2PCaPfj
    🛒 Crimpzange: amzn.to/3tZ7MfY
    🛒 Aderendhülsen: amzn.to/3vnmNtQ
    🛒 Wago Klemmen: amzn.to/3nnA7er
    🛒 Isoband: amzn.to/3lSSJmL
    🛒 JUNG Lichtschalter Unterputz: amzn.to/2YY4Cik
    🛒 JUNG Abdeckung: amzn.to/3vCuQmZ
    ► AMAZON „ALEXA“ ECHO GERÄTE
    🛒 Amazon Echo Dot (3. Generation): amzn.to/3zJbey2
    🛒 Amazon Echo Dot (4. Generation): amzn.to/3zCo7da
    🛒 Amazon Echo Spot: amzn.to/3j0nlQS
    🛒 Amazon Echo Show 8: amzn.to/3zICwVy
    🛒 Bose Soundbar 700 mit integrierter Alexa: amzn.to/3rBfZH6
    ► SMART HOME GERÄTE
    🛒 Philips Hue Starter Set: amzn.to/3p9oObZ
    🛒 IKEA Tradfri Gateway: amzn.to/3sHYEfi
    🛒 IKEA Tradfri Lampen: amzn.to/3curhXL
    🛒 IKEA Tradfri Dimmer: amzn.to/3pgC274
    ▬ PRODUKTE ENDE▬▬▬▬▬▬▬▬▬▬▬▬
    ► VIDEO INHALT
    00:00 Intro
    00:15 Der Aufbau
    02:57 Video liken und Kanal abonnieren
    03:10 Variablen definieren
    05:06 void setup()
    06:34 void loop()
    13:01 Abspann
    ► ÜBER MICH
    Hey, ich bin Kevin und auf dem Kanal "I WANNA KNOW" teile ich meine Leidenschaft für Technik mit dir. Wenn du also auch technikbegeistert bist, dann vergiss nicht diesen Kanal zu abonnieren!
    th-cam.com/users/IWANNAKNOWd...
    #iwannaknow #arduino #programmieren
  • วิทยาศาสตร์และเทคโนโลยี

ความคิดเห็น • 21

  • @DBBahnospherix-BahnAtmospherix
    @DBBahnospherix-BahnAtmospherix 2 หลายเดือนก่อน +1

    Super erklärt - danke

  • @DEWEOS
    @DEWEOS ปีที่แล้ว +1

    Sehr gut und detailliert erklärt, finde ich spitze.

    • @I-WANNA-KNOW
      @I-WANNA-KNOW  ปีที่แล้ว

      Vielen Dank und liebe Grüße
      Kevin

  • @brillianto3674
    @brillianto3674 ปีที่แล้ว

    Danke für das Video !
    Habe ich auf Anhieb verstanden 👌🏼

  • @notze5344
    @notze5344 ปีที่แล้ว

    Vielen Dank für das Video! Ich hatte noch gar nicht die Idee für so eine Funktion, finde sie aber super gut und das habe es mal direkt nach gestellt 👍👌

  • @rantovicannato9046
    @rantovicannato9046 7 หลายเดือนก่อน

    Danke dir für deine super Videos !

  • @DoubleDee2000
    @DoubleDee2000 ปีที่แล้ว

    Cool, danke für das Video! :)

  • @dziku1609
    @dziku1609 หลายเดือนก่อน

    Wie würdest du den Code so zu erweitern, dass das Gleiche noch einmal kopiert wird und die nächsten 5 LEDs von pin 7 bis 11 etwas schneller laufen? Für modellbau polizei lichtbalken. Dankeschön

    • @I-WANNA-KNOW
      @I-WANNA-KNOW  หลายเดือนก่อน

      Hi, magst du mir mal Bilder an info@i-wanna-know.de schicken, damit ich besser verstehe wie du es genau meinst?
      LG Kevin

  • @davidh7084
    @davidh7084 ปีที่แล้ว

    Wie würdest du den code erweitern wenn das Lauflicht hin und zurück laufen soll und nicht immer wieder bei null startet?

    • @I-WANNA-KNOW
      @I-WANNA-KNOW  ปีที่แล้ว +1

      Hallo david h,
      ich habe dein Kommentar leider jetzt erst gelesen. Vielleicht schaff ich es die Tage ein kurzes Video zu deiner Frage zu machen.
      LG Kevin

    • @I-WANNA-KNOW
      @I-WANNA-KNOW  ปีที่แล้ว +1

      Den Aufbau und Code habe ich fertig, nun muss ich das nur Filmen und erklären, hoffe es reicht dir, wenn es am Wochenende kommt.
      LG Kevin

    • @davidh7084
      @davidh7084 ปีที่แล้ว

      @@I-WANNA-KNOW Vielen Dank. Super von dir.

    • @I-WANNA-KNOW
      @I-WANNA-KNOW  ปีที่แล้ว +1

      Hi david h,
      ich glaube ich schaffe das Video heute nicht mehr.
      Hier der Code (Aufbau ist der Selbe), Video folgt dann noch:
      int ledPin[5] = {2, 3, 4, 5, 6};
      int ledDirection = 1;
      int Counter = 0;
      unsigned long previousMillis = 0;
      const long interval = 1000;
      void setup() {
      for (int i = 0; i= interval) {
      previousMillis = currentMillis;
      if (ledDirection == 1){
      digitalWrite(ledPin[Counter - 1],LOW);
      digitalWrite(ledPin[Counter],HIGH);
      Counter = Counter +1;
      if (Counter > 4){
      Counter = 4;
      ledDirection = 2;
      }
      }
      if (ledDirection == 2){
      digitalWrite(ledPin[Counter + 1],LOW);
      digitalWrite(ledPin[Counter],HIGH);
      Counter = Counter -1;
      if (Counter < 0){
      Counter = 1;
      ledDirection = 1;
      }
      }
      }
      }

  • @markusmitph8987
    @markusmitph8987 ปีที่แล้ว +2

    Vielen Dank für das Video! Trotz meiner Programmiererfahrung fiel es mir etwas schwer, deiner Erklärung zu folgen. Ich weiß nicht, ob du offen für Vorschläge bist, aber probiere uns nicht vor einen vollendeten Code zu setzen, sondern entwickle ihn mit uns gemeinsam. Vielleicht klappt das besser.
    Ich empfinde die Arduino IDE als eher ineffizient, deshalb habe ich mir mal die Freiheit genommen, und deinen Code neu zu schreiben und so effizient wie es mir möglich ist zu gestalten. Es ginge noch effizienter, wenn wir den gesamten Port D als Ausgang definieren und insgesamt 8 LED ansteuert, aber so hat das auch ganz gut geklappt. Das mit dem Counter ist halt etwas ungünstig, wenn man es mit Bitshifting macht, so wie ich es umgesetzt habe. Aber schau ihn dir gern mal an und lad' ihn auf deinen Arduino:
    // CODE START
    uint8_t counter = 0;
    unsigned long prevMillis = 0;
    unsigned long currMillis;
    unsigned long interval = 250;
    void setup()
    {
    // Ausgangsports
    DDRD = (0x7C); // LED Pins als Ausgang definieren DDRD = 0111 1100
    }
    void loop()
    {
    currMillis = millis();
    if (currMillis - prevMillis >= interval)
    {
    prevMillis = currMillis;
    PORTD = (1 6)
    {
    //PORTD = (0x04);
    counter = 2;
    }
    }
    }
    // CODE END
    Ich hoffe, ich nerve dich nicht mit meiner Diskussionsbereitschaft, aber ich bin dabei halt irgendwo voll in meinem Element und freue mich, wenn ich von dir was lerne.

    • @I-WANNA-KNOW
      @I-WANNA-KNOW  ปีที่แล้ว

      Hi Markus mit ph,
      ich finde deine Kommentare klasse!
      Ich werde deinen Vorschlag versuchen in Zukunft bestmöglich umzusetzen (keinen fertigen Code zu zeigen, sondern diesen im Video aufbauen).
      Dein Code mit dem Port D ist super, aber ich versuche es möglichst leicht zu halten, um Anfängern den Einstieg zu erleichtern :-)
      Ich freu mich, dass du dich mit diesem Aufbau auseinandergesetzt hast und freu mich auch schon auf zukünftige Kommentare von dir.
      Liebe Grüße und bis bald 🙋‍♂️
      Kevin

    • @DoubleDee2000
      @DoubleDee2000 ปีที่แล้ว

      Hm, was ist aber wenn man nur 5 LEDs ansteuern will, weil man die anderen Digitalpins für eine andere Aufgabe benötigt?
      Aber der Code ist schön kurz und knackig. Für mich ist es etwas schwerer zu verstehen was der Code an manchen Stellen macht.

    • @markusmitph8987
      @markusmitph8987 ปีที่แล้ว

      ​@@DoubleDee2000 Wenn deine Antwort auf meinen Code bezogen ist:
      Mein Code macht quasi genau das selbe, was der im Video macht. Kannst ihn gern einfach auf deinem Arduino ausprobieren.
      im void setup() setzt das "DDRB = (0x7C)" (das 0x7C ist die Hexadezimale Darstellung des binären "0111 1100", was genau die benötigten Ausgänge am Port D repräsentiert), die benötigten LED Pins auf "Ausgang", macht also das, was im Video mit dem "PinMode" gemacht wird. Mit dem Unterschied, dass wir direkt alle Register in einem schalten. Das ist hier in Textform schwierig zu erklären, weil ich auch nicht weiß, welches Vorwissen du hast.
      Mit dem Befehl PORTD im void loop() können wir grundsätzlich alle Pins aktivieren und deaktivieren.
      Was ich mit dem PORTD = (1

    • @DoubleDee2000
      @DoubleDee2000 ปีที่แล้ว

      @@markusmitph8987 Aha, interesannt! Also ist das das Prinzip eines Schieberegisters!
      Naja, mein Vorwissen ist schon etwas mehr als ein Anfänger, ich hab mir schon einiges von TH-cam Beipielen angesehen und dann auf meine Bedürfnisse angepasst! Allerdings komme ich bei den anspruchsvolleren Sachen an meine Grenzen und weiß ohne Hilfe nicht weiter!
      In diesem Fall hat mir Kevin sehr geholfen und ich habe wieder einiges mehr dazugelernt! :D
      In vielen fällen ist es so, dass ich garnicht weiß, welche möglichkeiten es giebt, um das Programm so zu schreiben, das es dass macht, was ich will.

  • @rantovicannato9046
    @rantovicannato9046 7 หลายเดือนก่อน

    Danke dir für deine super Videos !