›_ ebskola.lv
← Tēma 2.2 →

2.1 Ievads Arduino un Tinkercad

Stundas uzdevums: Izprast maketo plates darbības principus, izveidot savu pirmo elektronisko slēgumu virtuālajā Tinkercad vidē un uzrakstīt C++ kodu, kas kontrolē LED diodes mirgošanu.

Datorika 7. klase (D.7.1.1., D.7.2.1., D.7.6.1.)

70 min darba sadalījums: 1. uzdevums (~20 min) - atjauno teorijas piemēru vai minimālo prototipu; 2. uzdevums (~25 min) - pielieto to galvenajā uzdevumā; 3. uzdevums (~25 min) - pārbaudi rezultātu, izlabo kļūdas un pieraksti, kas strādā. Papildus/4. līmeņa uzdevums ir paredzēts tikai tad, ja pamatdarbs ir pabeigts.

Priekšzināšanu robeža: uzdevumos izmanto tikai iepriekš apgūto un šīs lapas teorijas/koda piemēros parādīto. Ja parādās jauna komanda vai rīks, vispirms atrod tās paraugu teorijas blokā.

Teorija: Elektronikas un C++ valodas pamati

Laipni lūgti mehatronikas pasaulē! Arduino nav gatavs robots – tās ir robota "smadzenes" (mikrokontrolieris), kurām mums pašiem fiziski jāpievieno vadi, sensori un motori. Lai nesadedzinātu reālas detaļas, mēs vispirms trenēsimies virtuālā laboratorijā Tinkercad Circuits.

Vizuālais orientieris: Tinkercad shēmā atrodi Arduino Uno, maketo plati un sliedes, kas savieno 5V, GND un signāla vadus.

1. uzdevums: Virtuālās darba stacijas iekārtošana

Izveidojiet jaunu projektu Tinkercad un nodrošiniet strāvas padevi maketo platei.

Izpildes soļi:

  1. Ienāciet Tinkercad.com, izvēlieties sadaļu "Designs" -> "Create" -> "Circuit".
  2. Labās puses izvēlnē atrodiet un ievelciet darba laukumā "Arduino Uno R3" un "Breadboard Small".
  3. Ar peli novelciet vadu no Arduino "5V" (5 volti) pina uz Breadboard sarkano (+) līniju. Iekrāsojiet šo vadu sarkanu!
  4. Novelciet vadu no Arduino "GND" (Ground jeb mīnuss) pina uz Breadboard melno (-) līniju. Iekrāsojiet šo vadu melnu!

2. uzdevums: LED diodes slēgums un pin sagatavošana kodā

Fiziski (virtuāli) saslēdziet komponentes un sagatavojiet kodā pinu 13, lai tas spētu vadīt diodi.

Izpildes soļi:

  1. Atrodiet LED un ievietojiet to maketo plates vidū tā, lai katra kāja būtu savā vertikālajā kolonnā.
  2. Atrodiet Resistor, iestatiet pretestību uz 220Ω. Pievienojiet vienu galu pie LED Anoda (garās kājas), otru - pie Arduino pin 13.
  3. Pievienojiet melnu vadu no LED Katoda (īsās kājas kolonna) uz maketo plates GND (mīnusa) līniju.
  4. Pārslēdziet redaktoru uz Text režīmu un funkcijā setup() sagatavojiet pinu:
    void setup() {
      pinMode(13, OUTPUT);
    }
  5. Funkcijā loop() īslaicīgi ieslēdziet diodi pārbaudei:
    void loop() {
      digitalWrite(13, HIGH);
    }
  6. Nospiediet Start Simulation. Diodei jāiedegas un jāpaliek iedegtai.

Pārbaudi: ja diode neiedegās - pārliecinieties, ka garā kāja iet caur rezistoru uz pin 13, īsā kāja - uz GND, un kodā pinMode ir OUTPUT.

3. uzdevums: Pirmās C++ programmas rakstīšana ("Blink")

Pārslēdzieties uz teksta koda vidi un uzrakstiet komandas, kas liks diodei mirgot ar 1 sekundes intervālu.

Izpildes soļi:

  1. Ekrāna augšējā labajā stūrī noklikšķiniet uz pogas "Code". Nolaižamajā izvēlnē nomainiet "Blocks" uz "Text" (apstipriniet brīdinājumu).
  2. void setup() ierakstiet: pinMode(13, OUTPUT); (Tas pasaka Arduino, ka 13. pins dos strāvu ārā).
  3. void loop() ierakstiet: digitalWrite(13, HIGH); (Ieslēdz strāvu) un nākamajā rindiņā delay(1000); (Pagaida 1000 milisekundes jeb 1 sekundi).
  4. Pievienojiet vēl divas rindiņas, lai izslēgtu diodi: digitalWrite(13, LOW); un delay(1000);. Nospiediet "Start Simulation"!

4. uzdevums (Zvaigznītes izaicinājums): Policijas bākugunis ar mainīgajiem (Variables)

Ātrākajām komandām – pievienojiet otru LED diodi (zilu) un izmantojiet "mainīgos", lai kontrolētu mirgošanas ātrumu.

Izpildes soļi:

  1. Pievienojiet maketo platei zilu LED diodi un rezistoru, savienojot to ar Arduino 12. pinu. Atcerieties par GND vadu!
  2. Koda pašā sākumā (virs void setup()) izveidojiet mainīgo laika kontrolei: int atrums = 200;
  3. Nomainiet void loop() kodā visus delay(1000); uz delay(atrums);.
  4. Izveidojiet kodu, kur pārmaiņus ieslēdzas un izslēdzas 13. pins, tad 12. pins. Mainot tikai vienu ciparu pašā augšā (mainīgo), jūs varēsiet paātrināt abas gaismas uzreiz!

Biežākās kļūdas (un kā tās labot):

Koda piemērs ("Blink" algoritms)


// C++ kods (divas slīpsvītras nozīmē komentāru, ko dators ignorē)

void setup() {
  // Šis kods izpildās vienreiz, konfigurējot portus
  pinMode(13, OUTPUT); 
}

void loop() {
  // Šis kods atkārtojas bezgalīgi
  digitalWrite(13, HIGH);  // Padod 5V strāvu uz 13. pinu (Ieslēdz LED)
  delay(1000);             // Gaida 1000 milisekundes (1 sekundi)
  digitalWrite(13, LOW);   // Atslēdz strāvu (Izslēdz LED)
  delay(1000);             // Gaida 1 sekundi
}
        
LED diode iedegsies uz vienu sekundi un izdzisīs uz vienu sekundi, un šis cikls turpināsies, kamēr vien darbosies simulācija (vai kamēr Arduino būs pieslēgts strāvai).
⬅ Iepriekšējā stunda Nākamā stunda ➡