A tömbök használata

A For ciklus példa egy változata, amely bemutatja, hogyan kell egy tömböt használni.


Utolsó felülvizsgálat: 2022.02.04 16:50


A For ciklus iteráció példa ezen változata bemutatja, hogyan kell egy tömböt használni. A tömb egy több részből álló változó. Ha egy változóra úgy gondol, mint egy csészére, amely értékeket tartalmaz, akkor a tömböt jégkockatartónak gondolhatja. Olyan ez, mint egy sor összekapcsolt pohár, amelyek mindegyike ugyanazt a maximális értéket képes tárolni.

A For ciklus iteráció példa bemutatja, hogyan kapcsolhat be az Arduino kártya 2–7. kivezetéseihez csatlakoztatott LED sort, bizonyos korlátozásokkal (a kivezetéseket egymás mellett kell számozni, és a LED-eket egymás után kell bekapcsolni).

Ez a példa bemutatja, hogyan kapcsolhat be olyan kivezetés-sorozatot, amelynek a számai nem összefüggőek, és nem feltétlenül egymás után következnek. Ehhez elhelyezheti a PIN-számokat egy tömbbe, majd a for ciklusok segítségével ismételgetheti a tömböt.

Ez a példa 6 LED-et használ az alaplap 2-7 kivezetéseihez 220 ohmos ellenállással csatlakoztatva, akárcsak a For ciklus példa esetében. Itt azonban a LED-ek sorrendjét a tömbben elfoglalt sorrendjük határozza meg, nem pedig a fizikai sorrend.

Ez a technika, hogy a kivezetéseket egy tömbbe helyezzük, nagyon praktikus. Nem kell, hogy a kivezetések egymás után legyenek, vagy akár ugyanabban a sorrendben. Bármilyen sorrendben átrendezheti őket.

Hardver szükséglet

  • Arduino kártya

  • 6 LED

  • 6 220 ohm-os ellenállás

  • összekötő vezetékek

  • dugdosós próbapanel (breadboard)

Az áramkör

Csatlakoztasson hat LED-et sorba kötve 220 ohmos ellenállásokkal a kártya 2-7 digitális kivezetéseihez.

Vázlat

A kód

/*
  Arrays

  Bemutatja egy tömb használatát a PIN-számok tárolására annak érdekében, hogy egy sorozatban
  ismételje meg a kivezetéseket. A LED-ek egymás után kapcsolódnak fel, majd visszafelé.

  Ellentétben a For ciklus oktatóanyaggal, ahol a kivezetéseknek egymás mellett kell lenniük,
  itt a kivezetések tetszőleges sorrendben lehetnek.

  Az áramkör:
  - LED-ek a 2-7 kivezetésektől a földig 220 ohmos ellenálláson keresztül.

  created 2006
  by David A. Mellis
  modified 30 Aug 2011
  by Tom Igoe

  Ez a kód nyilvános.

  https://docs.arduino.cc/built-in-examples/control-structures/Arrays
*/

int timer = 100;           // Minél nagyobb a szám, annál lassabb az időzítés.
int ledPins[] = {
  2, 7, 4, 6, 5, 3
};       // a kivezetések tömbje, amelyhez LED-ek vannak csatlakoztatva
int pinCount = 6;           // a kivezetések száma (azaz a tömb hossza)

void setup() {
  // a tömb elemei 0-tól (pinCount - 1) vannak számozva.
  // használja a for ciklust az egyes kivezetések kimenetként történő inicializálásához:
  for (int thisPin = 0; thisPin < pinCount; thisPin++) {
    pinMode(ledPins[thisPin], OUTPUT);
  }
}

void loop() {
  // ciklus a legalacsonyabb számú kivezetéstől a legmagasabbig:
  for (int thisPin = 0; thisPin < pinCount; thisPin++) {
    // a kivezetés bekapcsolása:
    digitalWrite(ledPins[thisPin], HIGH);
    delay(timer);
    // a kivezetés kikapcsolása:
    digitalWrite(ledPins[thisPin], LOW);

  }

  // ciklus a legmagasabb számú kivezetéstől a legalacsonyabbig:
  for (int thisPin = pinCount - 1; thisPin >= 0; thisPin--) {
    // a kivezetés bekapcsolása:
    digitalWrite(ledPins[thisPin], HIGH);
    delay(timer);
    // a kivezetés kikapcsolása:
    digitalWrite(ledPins[thisPin], LOW);
  }
}

Tudj meg többet

További alapvető oktatóanyagokat a beépített példák részben talál.

Felfedezheti a nyelvi referenciát is, az Arduino programozási nyelv részletes gyűjteményét.