ARDUINO BASICS #9 - Arrays

Поділитися
Вставка
  • Опубліковано 17 лис 2024

КОМЕНТАРІ • 17

  • @FraMo892
    @FraMo892 10 місяців тому

    Klar und deutlich ohne Schnörkeleien erklärt. Hat mich sehr motiviert mich in das Thema Arduino einzuarbeiten. Vielen Dank!

  • @hans-joachimwinter1298
    @hans-joachimwinter1298 3 роки тому +2

    Die Videos sind genauso aufgeräumt wie der Arbeitsplatz und die Gedanken des Moderators. Vielen Dank für die kurzweiligen und fachkundigen Videos. Wenn ich 5 Hände hätte würde ich 5 Daumen nach oben zeigen.

    • @Smarthomeyourself
      @Smarthomeyourself  3 роки тому

      Vielen Dank :)
      Ich dachte beim lesen des ersten Satzes, da käme jetzt ein Angriff, da ich es im Hobbyraum eigtl. meist viel zu unordentlich finde ;) Aber ich hab einfach viel zu viel Kram da oben auf viel zu wenig Platz :-D
      Freut mich wenn's gefällt!

  • @Smarthomeyourself
    @Smarthomeyourself  5 років тому +2

    ACHTUNG!!!
    Für alle die nicht die LEDs aus dem Adventskalender verwenden, Ihr müsst noch Vorwiderstände an den LEDs anschließen (wie im Schaltplan aus der Videobeschreibung zu sehen ist).
    Die LEDs im Video besitzen einen integrierten Vorwiderstand!

  • @sensai2006
    @sensai2006 5 років тому +2

    👍
    Schade dass nicht noch zwei (oder sogar drei) LEDs mehr drin waren. Dann hätte man für morgen einen schönen Würfel bauen können (6x "simple" LED). Als "richtigen" Würfel wäre aber das stecken auf dem Breadboard schon nicht mehr ohne, dafür hättest du aber auch gleich ein Beispiel für ein n-dimensionales Array ^^
    ...oder wenn es der Kalender hergeben würde, mit einer 7-Segment Anzeige.

    • @Smarthomeyourself
      @Smarthomeyourself  5 років тому

      Hehe, stimmt. Aber nice Idee. Also wenn mir die Ideen ausgehen für neue Videos weis ich glaube ich langsam, wen ich fragen kann ;-)
      SPOILER:
      Mehrdimensionale Arrays verwende ich in folgenden Videos noch.

  • @markushellwig9191
    @markushellwig9191 4 роки тому +1

    Kann man für die for schleife in der setup Methode die Größe des Arrays nicht auslesen?

    • @Smarthomeyourself
      @Smarthomeyourself  4 роки тому +1

      Für Arrays, bei denen der Datentyp eine feste Größe im Speicher hat geht das.
      int size = sizeof(myarray) / sizeof(int);
      Da sizeof aber nicht die Einträge sondern die Größe im Speicher angibt, wird es bei Datentypen wie String oä nicht funktionieren. Bei Arrays, die nur Zeiger enthalten könnte dieses Vorgehen ebenfalls versagen. Bei gefüllten int, long, double, float arrays wäre das aber ein mögliches Vorgehen.

  • @moonwakler
    @moonwakler 5 років тому +1

    Hallo Daniel, klasse Video, klasse Erklärung, obwohl ich Arrays immer noch nicht ganz kapiert habe 😉😂.
    Aber ich verstehe schon 50% mehr als aus meinen Büchern 😉😂.
    In den Büchern wird immer Array mit analogen Pins erklärt, bei dir auch. Kann ich keine digitale verwenden? Wäre zwar nur 1 oder 0, aber für mich mom. sehr wichtig.
    Ich schreibe dir heute Abend noch ne e-Mail, da ich nicht weiter komme. Wahrscheinlich, kannst du mir da helfen.
    Und ich schließe mich dem Kommentator vor mir an, mache bitte weiter. Mir geht es wie Nr5, brauche input! 😂
    Du erklärst es für mich, bis jetzt am besten.
    Grüße Jürgen

    • @Smarthomeyourself
      @Smarthomeyourself  5 років тому

      Danke, das freut mich zu hören. Kurz gesagt, stell dir arrays wie eine excel Tabelle vor. Du sagst am anfang wie viele zeilen das array hat (das eindimensionale hat nur eine spalte) und kannst dann beliebige (dem definierten datentyp entsprechend) werte rein packen und rausholen. Ob du das dann für digitale pins, analoge pins, zum rechnen, text ausgeben oder sonst was nutzt ist dir überlassen.

    • @moonwakler
      @moonwakler 5 років тому

      @@Smarthomeyourself ja, dass hab ich schon verstanden, aber wie schreibe ich rein und wie lese ich aus? Durch for Schleife?

    • @Smarthomeyourself
      @Smarthomeyourself  5 років тому

      @@moonwakler genau wie in jede variable. Nur dass du unter gleichem namen mehrere Werte hast. Welchen davon du haben willst gibst du mit der Zahl in den eckigen klammern an. Ansonsten ist es ne normale variable

    • @moonwakler
      @moonwakler 5 років тому

      @@Smarthomeyourself hm, und wie mach ich das bei einem Drehschalter mit 10 möglichen Stellungen? 9 sind 0 und nur einer ist 1, aber wie frage ich das in einer do wihle Schleife ab? Irgendwie stehe ich auf dem Schlauch.

    • @Smarthomeyourself
      @Smarthomeyourself  5 років тому

      @@moonwakler da machst du ein Array mit 10 möglichen Werten. Und davon stehen dann 9 auf 0 und einer auf 1.
      du machst es genau so wie, wenn du 10 einzelne Variablen verwenden würdest. nur dass der Variablenname dann immer der selbe ist, und du durch die Ziffer in den Eckigen klammern entscheidest, auf welchen Wert du zugreifen willst, anstatt über den Variablen-Namen.

  • @c.h.8660
    @c.h.8660 4 роки тому +1

    War das nicht so wenn ich ein Array mit 4 Werten füllen möchte das eine 3 in den Eckigen Klammern reicht? Weil die "0" ja quasi die erste Stelle ist?!? Sprich wenn ich eine 3 eintrage würde das ja so aussehen 0 1 2 3 was ja im Endeffekt 4 Werte wären. Kann aber auch sein das ich mich irre. Trotzdem alle deine Videos sind super erklärt !!

    • @Smarthomeyourself
      @Smarthomeyourself  4 роки тому +3

      Hi, freut mich, wenn Dir meine Videos gefallen!
      Zu den Arrays:
      Nein, mit der Zahl in Eckigen Klammern gibts du die Anzahl an Werten im Array an, nicht den maximalen Index. Daher gilt immer letzter Index = Arraygröße-1
      Zitat von www.arduino.cc/reference/de/language/variables/data-types/array/ :
      int myArray[10]={9, 3, 2, 4, 3, 2, 7, 8, 9, 11};
      // myArray[9] enthält 11
      // myArray[10] ist ungültig und enthält zufällige Informationen (andere Speicheradresse)
      Aus diesem Grund solltet du beim Zugriff auf Arrays vorsichtig sein. Beim Zugriff auf das Ende eines Arrays (mit einer Indexnummer, die größer ist als die von dir deklarierte Arraygröße - 1), wird aus dem Speicher gelesen, der für andere Zwecke verwendet wird. Das Lesen an diesen Orten wird wahrscheinlich nicht viel bewirken, außer ungültige Daten liefern.
      LG
      Daniel