State Machine - ganz einfach

Поделиться
HTML-код
  • Опубликовано: 26 окт 2024

Комментарии • 23

  • @andreasfischer9113
    @andreasfischer9113 2 года назад

    Danke, deine Videos bleiben auch langfristig aktuell und interessant! Ich habe gerade meine Kenntnisse über "State Machine" aufgefrischt und kann meine Arbeit fortsetzen.

  • @MeinElektronikHobby
    @MeinElektronikHobby 6 лет назад +4

    ... da habe ich heute wieder viel gelernt. Besonders: man kann es einfacher haben, wenn man strukturiert arbeitet. Vielen Dank für das kleine Lernprogramm.

    • @HobbyelektronikerCh
      @HobbyelektronikerCh  6 лет назад +1

      Super, danke! Ich versuchte das Thema einfach genug anzugehen, dass auch weniger erfahrene Arduino - Benutzer damit zurechtkommen. Dabei besteht immer die Gefahr, dass erfahrenere Programmierer das Video langweilig finden. An den Videos auf Deinem Kanal sehe ich aber, dass Du schon recht viel Erfahrung mit dem Arduino hast. Deshalb freut es mich besonders, wenn auch Du davon profitieren konntest.

  • @Andreas_Hopf
    @Andreas_Hopf 4 года назад +7

    Anstatt das halbe Video mit dem Zusammenstecken von Bauteilen zu verschwenden, wie man es zu oft sieht, und irren Kamerafahrten mit Musik, wird hier gemütlich der Reihe nach alles erklärt, und zwar so, daß man es wirklich nachvollziehen kann und auch später noch erinnert. Ausgezeichnet!

  • @zenmonke
    @zenmonke 6 лет назад +7

    Wie immer ein gutes und hilfreiches Video.
    Freut mich, dass wieder etwas häufiger neue Videos erscheinen :)

    • @HobbyelektronikerCh
      @HobbyelektronikerCh  6 лет назад +1

      Vielen Dank! Ich bin zuversichtlich, dass ich in Zukunft mindestens ein zusätzliches Video zwischen den 'Plaudereien' veröffentlichen kann.

    • @notxperienced
      @notxperienced 6 лет назад +1

      Schließe mich Andreas an! Zum Thema Multitasking + Arduino u. State-Machine hilfreich sind auch die Adafruit Artikel "Mulit-Tasing the Arduino (Part 1-3)" z.B. learn.adafruit.com/multi-tasking-the-arduino-part-3/overview

  • @Hertakiller
    @Hertakiller 6 лет назад +5

    Wie immer ein gutes Video. Hier mal noch einen kleinen Tipp von mir. Statt für jeden Zustand eine eigene "const int" Variable im Speicher zu erzeugen, könntest du auch mit nur einem Byte (unsigned char) 255 Zuständen für den Automaten erzeugen. Das ist bei größeren Projekten auf dem Atmega sehr wichtig, weil du den Speichplatz evtl. brauchst. Aslo ich mach das immer so: 1. eine Zustandsvariable (unsigned char Zustand=0;) zuweisen, in dem Falle 1Byte =255 Zustände. 2. Den Zuständen werden Zahlen mit den dazugehörigen lerserlichen Namen definiert. (#define rot = 1; #define gelb = 2, #define gruen = 3). Und 3. mit switch - case Anweisung arbeiten, also so (switch(Zustand){case(rot):....case(gelb):....case(gruen):... Du sparst dir da Zeit und Speicherplatz! :-) Trotzdem finde ich das Du für Anfänger sehr gute Videos machst und auch verständlich erklärst. Ich schauen dir jedenfalls gerne zu!

    • @HobbyelektronikerCh
      @HobbyelektronikerCh  6 лет назад +3

      Da hast du selbstverständlich Recht. int ist sowieso in vielen Fällen ein verschwenderischer Datentyp. Da aber auch absolute Anfänger wissen, wozu er gut ist, verwende ich ihn gerne. Hautsächlich bei grossen Programmen kann eine optimale Wahl der Speichertypen das ganze Projekt retten. Besonders bei solch kleinen Zahlenwerten spart die Definition mit #define viel Speicherplatz. Bei solchen Gelegenheiten zeigt es immer wieder, dass meine 'Muttersprache' nicht C/C++ ist. Daher bevorzuge ich oft Konstrukte der Sprache und nicht des Präprozessors.

  • @retrobear0815
    @retrobear0815 3 года назад

    Klasse, vielen Dank für die Erklärung. Ich hatte es immer gescheut in der IDE Code einzutippen und habe Ardublock in verschiedenen Versionen dafür verwendet. Aber damit klappt nicht alles. Nun möchte ich mein neustes Projekt komplett ohne Ardublock und Co. erstellen, dazu eigne ich mir erstmal Grundlagen dazu an. Dieses Video zur "Statemachine" hat mir schon mal theoretisch etwas weiter geholfen. Ich habe gleich Mal ein Abo da gelassen und werde mir deine Playlist zum Erlernen des Arduino gemütlich anschauen. Vielen Dank und Daumen hoch, wünscht aus dem schönen Bautzen
    Micha

  • @olafgoette9613
    @olafgoette9613 5 лет назад

    Ich bin immer mal wieder über den Begriff State Machine gestolpert. Nun habe ich ihr Prinzip begriffen. Tolles Video!

  • @rouven7210
    @rouven7210 5 лет назад +1

    Danke für das Video!!! Durch solche Leute wie dich, können sich Andere weiterbilden... Inkl. Mir;-)

  • @jones8185
    @jones8185 4 года назад +1

    Hallo! Sehr gelungenes Video. Ich will eine Statemaschine für ein Motoren Modul nutzen. Dabei ist dieses über I2C mit einer Hauptsteuerung verbunden auf der eine Schrittkette läuft... Mit den Befehlen 'links' & 'rechts' sollen die beiden Motoren ihre Richtung ändern können mit dem Befehl 'stopp' soll das eigentliche dauerhafte drehen gestoppt werden.
    Ich denke mit deinem Video bin ich meinem Ziel deutlich näher gekommen, sodass ich mich heute Abend Mal Ran setzen werde
    Vielen Dank, tolle Arbeit!

  • @manfredschmidt5628
    @manfredschmidt5628 6 лет назад

    Da muss ein Fehler drin sein.
    Manchmal wird direkt von grün nach rot gesprungen!
    Trotzdem Danke für diese ausführliche Erklärung.

    • @HobbyelektronikerCh
      @HobbyelektronikerCh  6 лет назад +6

      Dieses Problem ist eher videotechnisch begründet. Der Bildschirm, meine Sprache und derArduino (mit Kamera) werden gleichzeitig aufgenommen und im Schnittprogramm synchronisiert. Da ich ohne Script arbeite, gibt es manchmal Hänger, wo ich mir zuerst überlegen muss, was als nächstes kommt. Manchmal labere ich auch einen Stuss und muss ihn wiederholen. Diese Fehler werden dann herausgeschnitten und führen dazu, dass im Kamerabild Teile fehlen. Normalerweise fällt das nicht auf, aber bei solchen festgelegten Blinksequenzen kann es schon bemerkt werden.

  • @thomaskutz7974
    @thomaskutz7974 5 лет назад +1

    Cooles Video!
    Hier gibt es was Ähnliches, nur mit graphischen State Machines:
    www.hackster.io/robin-herrmann/traffic-lights-using-finite-state-machine-in-c-for-arduino-26169c

  • @chempner2528
    @chempner2528 3 года назад

    Ich möchte hierzu nur Sagen, dass das hier Programmierte nur im entferntesten mit einer State-Machine zu tun hat. Und nein ich bin nicht irgend ein Idiot der keine Ahnung hat, sondern ein Elektroniker der sehr wohl Programmieren kann und in der Lehre sehr viele State-Machines nach Definition umsetzen musste. Freue mich schon auf Kommentare von wegen ich hätte keine Ahnung...

    • @HobbyelektronikerCh
      @HobbyelektronikerCh  3 года назад +3

      Ich werde sicher nicht behaupten, dass du keine Ahnung hast. Aber vielleicht erwartest du zu viel. Das hier ist ein Hobbykanal und richtet sich an Leute, die keine entsprechende Ausbildung haben. Ein deterministisch endlicher Automat wechselt auf Grund einer Eingabe und seines Ausganszustands in einen definierten Folgezustand. Genau das habe ich versucht an einem einfachen Beispiel zu erklären. Es hätte keinen Sinn gemacht, den Automaten formal als Quintupel zu beschreiben. Das wäre nur von den Leuten verstanden worden, die es ohnehin schon kennen.

  • @FrogEnjoyer17
    @FrogEnjoyer17 3 года назад

    >ganz einfach
    >27 Minuten

  • @madmotors9393
    @madmotors9393 5 лет назад

    SCHNAAAARCH, nach zwei Minuten eingepennt.......

    • @HobbyelektronikerCh
      @HobbyelektronikerCh  5 лет назад +22

      Schlafen ist ja gesund. Es freut mich, dass ich etwas für deine Gesundheit tun konnte.

    • @rouven7210
      @rouven7210 5 лет назад +9

      aber es noch schaffen, hier einen dummen Kommentar zu schreiben...zeigt was du für ein Tiefflieger bist;-) Nun Schlaf weiter

    • @michael8475
      @michael8475 3 года назад +1

      @@HobbyelektronikerCh 🤣 Souverän pariert 👍