Analog Input, Arrays und Schleifen | Arduino Programmierung verständlich erklärt

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

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

  • @uwep3409
    @uwep3409 Год назад +5

    Moin Frank, es freut mich so sehr das es mit dieser Reihe weitergeht !
    Du erklärst die Dinge ausgezeichnet, für mich die beste Arduino Programmierreihe im deutschsprachigen Raum.
    Schön wäre es wenn du deine Beispiele zum Download anbieten würdest.
    Mach bitte weiter so!!

  • @reinhardf.6581
    @reinhardf.6581 Год назад

    Hallo Frank,
    schließe mich allen an, welche das "super" fanden, endlich mal jemand der aus der Praxis erklärt.
    Bitte führe diese Videoreihe weiter

  • @gertnrw71
    @gertnrw71 Год назад +1

    Hi Frank, freut mich das die Arduino Programmierung weiter geht, habe schon darauf gewartet :)
    Danke das du das so ausführlich darstellst, mir hilft das so sehr gut weiter.
    Gruß Gert

  • @hubertkinna8641
    @hubertkinna8641 Год назад

    Hallo Frank, du hast es drauf, nicht langweilig, du wiederholst, gibst Tippst, steigerst die Problematik und trotzdem konnte ich dir nicht ganz folgen. Ich habe versucht das Ganze grafisch nachzuvollziehen, hat aber nicht ganz geklappt, kommt vielleicht noch. Hoffentlich bleibst du uns erhalten und bringst uns noch viele gute Sketsches

  • @heiko3963
    @heiko3963 Год назад +1

    Hallo Frank, ich finde es super das es weiter geht mit den Arduino Kurs. Super alles erklärt, sehr gutes Video.👍

  • @uweinabox3918
    @uweinabox3918 Год назад

    Ich bin überrascht, dass es weitergeht. Super (und das bei diesem Wetter).

  • @kleinekellerwerkstatt6530
    @kleinekellerwerkstatt6530 11 месяцев назад

    Hallo Frank, super Deine Programmierreihe bis hier hin… 👏👏👏 ich habe zwar bisher nur alles am Bildschirm verfolgt, werde aber auch noch alles praktisch nachvollziehen… Deine Erklärungen sind sehr gut nachvollziehbar… toll wäre es, wenn Du Zeit finden würdest weitere Folgen zu bringen… mein Ziel: eine automatisierte Blastgatesteuerung… natürlich nicht zu kaufen, sondern selbst zu bauen und zu programmieren… 🙈 LG Werner

  • @stiv989
    @stiv989 Год назад

    Großartig. Vielen Dank das Du mit diesem Thema weiter machst. TOP

  • @WoodworkingRuppen
    @WoodworkingRuppen Год назад

    Hallo Frank! Super Videoreihe! Einfach und verständlich erklärt. Ich freue mich auf jeden Fall auf weitere Erklärvideos deinerseits 👍

  • @bjornschultze6597
    @bjornschultze6597 Год назад +2

    ich habe keine Ahnung vom Programmieren, am Ende auch absolut nix von dem Verstanden was du da erzählt hast 😀, aber Du erklärst es soo geil, das ich mir einen arduino inkl zubehör bestellt habe um unsere credit platine vom billardtisch zu ersetzen und nach eigenen Wünschen anzupassen🙂TOP

  • @legonania
    @legonania Год назад

    Super Video 👍
    Deine arduino Reihe hat mir schon gut weiter geholfen.

  • @archeaopteryxm.b.8078
    @archeaopteryxm.b.8078 Год назад

    Hi Frank,
    ich finde das so klasse wie du das erklärst. Ich habe sogar ein paar Sachen verstanden. grins
    Da sieht man halt wer es so richtig drauf hat.
    Viele Grüße
    Markus

  • @heikohofi644
    @heikohofi644 5 месяцев назад

    Sehr gut erklärt, vielen Dank

  • @MyOliver64
    @MyOliver64 3 месяца назад

    Habe gerade Deine Videoreihe entdeckt, super erklärt! Anmerkung bei [40:45] machst Du in Zeile 47 (in der If-Bedingung) eine zweite For-Schleife auf, um (tmpSum/size) in dem Array singleValues zu speichern und die Summe mit den Werten des Arrays aufzusummieren. Aber warum machst Du diese Schritte nicht gleich in der ersten For-Schleife ab Zeile 45, denn jede zusätzliche Schleife (und stell Dir nur vor diese würde bis 1 Million, oder 10 Million zählen) und deren Berechnungen (gerade wenn es komplexe Berechnungen sind) darin, erhöht die Laufzeit eines Programms.

    • @FrohnixBastelbude
      @FrohnixBastelbude  3 месяца назад

      Weil tmpSum erst nach Beendigung der for-Schleife (Zeile 45) feststeht.

    • @MyOliver64
      @MyOliver64 3 месяца назад

      @@FrohnixBastelbude Ah ja, Du möchtest praktisch in das singleValues-Array ab dem Index 0 bis zum Index size immer den selben Wert (tmpSum/size) zuweisen, der am Anfang der Schleife noch nicht bekannt ist. Das hatte ich übersehen, dass die tmpSum ja aufsummiert wird. Jedenfalls machst Du super Videos. Ich hoffe da kommen noch ein paaar mehr.

    • @FrohnixBastelbude
      @FrohnixBastelbude  3 месяца назад +2

      Ist bereits in Arbeit.

  • @larsmuhlhaus3351
    @larsmuhlhaus3351 4 месяца назад +1

    Hallo Frank, wird es hierzu nochmal weitere Reihen geben oder habe ich die übersehen? Ich habe hier wirklich viel neues gelernt und ich finde das super erklärt von dir. Würde mich freuen weiteren Content in dieser Richtung von dir zu sehen.

  • @andreasroessner2571
    @andreasroessner2571 Год назад

    Hallo Frank, ich habe schon auch schon bei anderen reingeschaut, du erklärst das wirklich super!
    Kannst du mal einen Sketch machen, wo du einen Schrittmotor ansteuerst und mittels mehrerer Taster jeweils eine dazugehörige feste Positionen anfährst?
    Wäre voll super!

  • @christophb.3147
    @christophb.3147 9 месяцев назад

    5:47 …es gibt sie also doch, die IF-Schleife😅… der Running Gag unter den Programmierern … *Spaß* …tolle Video-Reihe… vielen Dank …

  • @huelsmart
    @huelsmart Год назад

    Da issa wieder !! 🔥🔥🔥🔥

  • @WilliHerda
    @WilliHerda 9 месяцев назад

    Lieber Kollege Frohnix;
    Vielen Dank für dieses Video!
    Es hat mir sehr geholfen, bei der Programmierung eines Timers mit analoger Eingabe über ein Poti. (Ja, auch ich erfinde gerne mal etwas...)
    Da ich mein Projekt mit ATtiny umsetzen will, kommt ein 1000er Array nicht in Frage. Aber, mit Poti an Minus und über einen LDO 3,3V habe ich nach der Mittelwertbildung final nur Abweichungen von max. 2%. Was mir reicht.

    • @flyhigh1286
      @flyhigh1286 6 месяцев назад

      Moin moin, ein 1000-er Array ist - soweit ich das durchblicke - nicht nötig. Der eingelesen Wert wird immer in die Position 9 im Array - "singleValues[9] = analogValue" geschrieben, dann wird in der for-Schleife der Mittelwert über die ersten 10 Elemente des Arrays gebildet - und anschließend in einer for-Schleife ein Shift der Elemente auf die jeweilige Vorgängerposition vorgenommen. MaW: ein Array von 10 Elementen würde schon reichen. Viel Erfolg beim Basteln und Programmieren

  • @Flo-cx8fi
    @Flo-cx8fi 5 месяцев назад

    Kommen in Zukunft noch mehr von den Arduino Tutorials? Super erklärt würde mich freuen wenn du diese Kurse fortsetzt👍🏼

    • @FrohnixBastelbude
      @FrohnixBastelbude  5 месяцев назад

      Ich versuche, demnächst mal wieder was zu machen. Mir fehlt einfach die Zeit.....

  • @fjeengel6863
    @fjeengel6863 3 месяца назад

    Hallo Frank. Wo kommt der Analogwert her? Ist an A0 ein Poti angeschlossen?

  • @goofynski
    @goofynski 3 месяца назад

    Hallo Frank. Ich bin totaler Neuling und wollte ein Projekt ( Soundmodul für E-Roller der über den Gasgriff gesteuert wird ) verwirklichen. Nun habe ich festgestellt, das so ein Sketch nicht so einfach ist, um es zu Ende zu bringen. Aufgebaut ist das ganze mit einem Arduino nano und einem Serial MP3 Player mit dem Chip GD3300D. Noch sind in deinen Videos, nichts passendes dabei gewesen, was mir auf die Sprünge hilft, daher liegt alles auf Eis. :( "Mach weiter so."

    • @FrohnixBastelbude
      @FrohnixBastelbude  3 месяца назад

      Du musst doch nur die seriellen Befehle per "Serial.print" an den Chip senden.

    • @goofynski
      @goofynski 3 месяца назад

      @@FrohnixBastelbude Ist ja wirklich gut gemeint, doch wie schon geschrieben steht, verstehe ich rein garnichts von Sketche schreiben. Wie sollte also so ein Sketch aussehen?

  • @xbowcx
    @xbowcx Год назад +1

    Gut erklärt, bis auf die IFSchleife.🙈 die Erstauffüllung des Arrays hätte ich in die Setuproutine gepackt. Macht es übersichtlicher und spart die Abfrage im Hauptprogramm. Im realen Leben hat keiner Lust die Dinge ständig in andere Fächer um zu packen 😂 Ringspeicher mit Zeiger.

  • @hubertdornberger9522
    @hubertdornberger9522 Год назад

    Hallo Frank, es ist immer wieder schön deinen Videos zu folgen. Zumal ich in einer anderen Programmiersprache schreibe und ich mich tatsächlich mit dem C-Dialekt etwas schwer tue.
    Ich habe dennoch zwei Vorschläge zum Programm:
    1) wäre es nicht schneller erstmalig das Value in jede Stelle des Arrays zu schreiben anstatt sich die Anzahl Messwerte zu holen, und den Mittelwert zu bilden ?
    2) an sich wäre alternativ eine Integral-Funktion möglich, in der nur die Summe gesichert wird. Das spart Speicherplatz.
    Neue_Summe = ( Summe - ( Summe / AnzahlWerte ) + NeuerWert );
    Neuer_Mittelwert = Summe / AnzahlWerte;

    • @FrohnixBastelbude
      @FrohnixBastelbude  Год назад

      Zu 1: klar kann man das machen, aber da hat man eben nur einen Wert und das könnte natürlich ein „schlechter“ sein (zu tief, zu hoch, ect. )
      Zu 2: Sicher geht das auch so. Da spart man einiges an Platz.
      Ich mache das aber oft mit Arrays, weil man da natürlich noch andere Möglichkeiten zur nachträglichen Analyse hat.
      Gerade beim programmieren führen 100000 Wege zum Ziel 😬

    • @Henry-sv3wv
      @Henry-sv3wv 11 месяцев назад

      Dass ist kein C Dialekt, das ist C++
      die main() funktion (in der datei: avr/cores/arduino/main PUNKT cpp) wird vor dir versteckt und ruft setup() und dann loop() in dauerschleife auf.
      Außerdem werden heimlich vorwärzdeklarationen generiert und deinem sketch hinzu-copy-pasted bevor der c++ compiler (avr-gcc) deinen quellcode sieht.
      Serial dot begin(115200); kann man einfach so in den sketch schreiben weil (auch vor dir versteckt) im Hintergrund die entsprechende C++ Klasse aus dem Arduino Framework als Serial objekt-variable instanziiert wurde. ( HardwareSerial Serial(...); // in HardwareSerial0 dot cpp )
      die begin methode in der Klasse (code in HardwareSerial dot cpp ) inizialisiert dann den Register-Kram im ATmega328P für die Benutzung der UART ...

  • @leagueofshaco2901
    @leagueofshaco2901 8 месяцев назад

    Geht die Reihe noch weiter ? :)

    • @FrohnixBastelbude
      @FrohnixBastelbude  7 месяцев назад

      Theoretisch ja. Es fehlt, wie immer, die Zeit. Mal sehen, wann ich wieder Luft habe.

  • @MAVIST0
    @MAVIST0 Год назад

    Frank du alter Schlumpf! kommst du im August wieder auf die Maker-Faire? Onkel Phil, der End und ich sind auch wieder da (ich zumindest Samstag, die anderen beiden wollen wohl beide Tage) - gruß Dieter !

    • @FrohnixBastelbude
      @FrohnixBastelbude  Год назад

      Na sichi, Didä 😄
      Beide Tage 😬

    • @MAVIST0
      @MAVIST0 Год назад

      @@FrohnixBastelbude na denn werden wir uns sehen - ick freu mir !

  • @timwitzel1982
    @timwitzel1982 Год назад

    Moin, ich hab mal ne frage.. ist es möglich ein programm zu bauen dass auf mehrere ardoinos zugreift?
    also ein teil der sernsorik und aktorik ist bei meinem nächsten projetkt einfach sehr weit vom anderen teil entfernt und ich würde quasi aus mehreren ardoinos über netzwerk "einen" mache wollen.. geht das?

    • @FrohnixBastelbude
      @FrohnixBastelbude  Год назад

      Naja, "Einen" machste daraus nicht.
      Auf beiden läuft dann eher eine eigene Software und die müssen dann kommunizieren. Seriell oder LoRa...
      Kommt eben auf die Datenmenge und den Abstand an. I2C oder SPI sind, glaube ich, nicht für größere Strecken geeignet.

  • @mertesadolf8792
    @mertesadolf8792 Год назад

    Besser kann man die Sache nicht erklären.der Kopf qualmt,aber ist halt Theorie,muss man auch lernen.Mich würde ein Praktisches Bsp,was man auf ein Garagentor anwenden könnte interesieren.Zb.sp. zwei Taster,zwei Endschalter(Sensoren)..Kurtz beschrieben,Digitale Inputs ,die Eingänge abfragen und je nach zusstand digitale Ausgänge steuern.Ein Garagentoor ist zu,der Motor darf egal welchen Taster ich betätige, nicht zu fahren sondern auf machen und natürlich auch das gleiche im Umgekehrten Falle;Tor ist auf.

  • @ischisch9127
    @ischisch9127 Год назад

    Ja ja, jetzt weiß ich warum bei mir nie was funktioniert hat, ich bin einfach zu dämlich

  • @MB-SC
    @MB-SC Год назад

    Hallo Frank, Super- es geht weiter. Ein Hinweis zu der Aussage wegen Speicherplatz. Du hast beim 'nano every' 48 KB, beim UNO oder nano hat man nur 32 KB, mit dem int Array[1000] bekommt man eine Fehlermeldung. Datenbereich überschreitet den verfügbaren Platz auf der Platine und es gibt im Serieller Monitor komische Ausgaben 250,l250,750,304,376
    250,750,491,378
    250,>9#�M������H�250,750,296,369
    Ich hab jetzt getestet, bei singleValues[880] ist bei mir Schluß.👍

    • @Klimafutzi
      @Klimafutzi 4 месяца назад

      Du benutzt wahrscheinlich einen Aduino Nano R3 mit 2048 Bytes Speicher.
      Der Frank verwendet den Arduino Nano Every. Der besitzt 6 Kilo Bytes bzw. 6144 Bytes Speicher.
      Ein Integer ist 16 Bit groß, bedeutet pro Integer 2 Bytes Verbrauch.
      Da der Arduino auch intern bereits Speicher belegt (für Millis,Timer, usw), sind bei dir dann "nur" noch 880 Bytes für das Array übrig.
      Ein paar Bytes verbrauchst du ja auch noch für die anderen Variablen, wie Average, Sum, ...

    • @MB-SC
      @MB-SC 4 месяца назад +1

      @@Klimafutzi Richtig. Ich wollte nur darauf hinweisen, wer nicht den Nano Every hat, bekommt eine Fehlermeldung.

  • @ChristianIstKeinCO2Schwurbler
    @ChristianIstKeinCO2Schwurbler Год назад

    Allein schon für die 🙂 gute Laune gibt's nen Daumen. 👍

  • @oliverschmidt5121
    @oliverschmidt5121 Год назад

    Hallo,
    welche Programmiersprache ist das bitte? Danke