Teach Urruneko laborategidun ikasgaiak

Teach ikasgaia

Arduino oinarriak 2/4: sortu argi-sekuentzia bat

Ikasleek kanpoko lau LED programatuko dituzte array-ak eta begiztak erabiliz. 1-2-3-4 sekuentzia probatu, eta joan-etorriko sekuentzia bihurtuko dute.

  • Arduino Taula (kodea)
  • 35 min
  • DBH / programazio fisikoaren hastapenak
  • eu
  • Embedded systems

Hasi saioa irakasle-kontu batekin klase-saioa prestatzeko. Ikasleak klase-kode batekin sartzen dira.

Arduino Taula (kodea)
Arduino Taula (kodea) · Laborategiaren xehetasunak

Ikaskuntza-emaitzak

  • Hainbat pin digital irteera gisa erabiltzea.

  • for begizta erraz bat ulertzea.

  • Argi-eredu bat aldatzea.

Ikaslearen jardueraren aurrebista

Jardueraren edukia

Aurrebista soilik. Klase-saio batean, ikasleek erantzunak bete eta lana irakasleari bidal diezaiokete.

1

Plaka bat, hainbat LED

9 min

Plakak kanpoko lau LED ditu, 8, 7, 6 eta 5 pinetara konektatuta. Ia berdinak diren lau kode-bloke idatz zenitzake, baina array bat eta for begizta bat erabilita ez duzu hainbeste kode errepikatu behar. Pentsa array-a pin-zerrenda bat dela, eta for begizta zerrenda horretako elementuak banan-banan erabiltzeko modua dela.

Begiratu jardueraren oinarrizko programako zati honi:

const int totalLeds = 4;

void loop() {
  for (int i = 0; i < totalLeds; i++) {
    // Zerrendako LED bat piztu eta itzali.
  }
}

Kode-zati horren arabera, loop() funtzioa behin exekutatzen denean, zenbat aldiz errepikatzen da barruko for begizta?

2

Programatu sekuentzia

18 min

Ulertu indizeak begizta aldatu aurretik. Array-aren posizioak 0, 1, 2, 3 dira; posizio horietan gordetako pinak 8, 7, 6, 5 dira, eta 1, 2, 3, 4 LEDei dagozkie. Atzera egiteko muturretako LEDak errepikatu gabe, erabili 2, 1 indizeak: lehenik 3. LEDa eta gero 2.a. Erabili zeinudun int motako indize bat: hasi totalLeds - 2 balioan, jarraitu i > 0 den bitartean, eta txikitu balioa i-- erabiliz. Idatzi indizeen ibilbidea paperean programa kargatu aurretik.

Probatu sekuentzia hau eta, gero, aldatu atzera ere egin dezan: 1., 2., 3., 4., 3. eta 2. LEDak. Modu erraz bat lehen for begiztaren ondoren bigarren bat gehitzea da. Gorde fitxategia kodearen kopia erantsi aurretik.

const int leds[] = {8, 7, 6, 5};
const int totalLeds = 4;

void setup() {
  for (int i = 0; i < totalLeds; i++) {
    pinMode(leds[i], OUTPUT);
  }
}

void loop() {
  for (int i = 0; i < totalLeds; i++) {
    digitalWrite(leds[i], HIGH);
    delay(300);
    digitalWrite(leds[i], LOW);
  }
}
  1. Ireki laborategia.

  2. Kargatu oinarrizko programa eta behatu LEDen ordena.

  3. Gehitu atzerako ibilbidea, joan-etorriko efektua sortzeko.

  4. Gorde fitxategia kodearen kopia egin aurretik.

Klase-saio batean erabilgarri

Aurkeztu zure kodea

Erantsi joan-etorriko sekuentziaren kodearen kopia. Erantsi aurretik, gorde main.ino laborategiko ingurunean. Kodearen kopiak irakasleak berrikustea nahi duzun programa jaso behar du.

3

Interpretatu programa

8 min

Zein lerro aldatuko zenuke LED bakoitza denbora gehiagoz piztuta egoteko? Adierazi lerroa eta probatuko zenukeen balio berria.

Bihurtu aurrebista hau klase-saio batean

Jarraitu LabsLand Teach-era ikasgai hau ikasleekin erabiltzeko eta kontuaren sarbidea berrikusteko.