Pirmoji programa

   Visose knygose apie programavimą (bent jau kiek man teko skaityti) pirmoji programa būdavo "Labas Pasauli!" ("Hello World!"). Nieko panašaus – mes juk robotų kūrėjai – pasaulį jau pasveikino visi pasaulio programuotojai, mes papraščiausiai pamirksėsime "akytėmis" ir to užteks 😛

   Atsidarome "c:\arduino\arduino.exe" – as paprasčiausiai pasidariau nuorodą darbalaukyje – ir pasirašome štai tokį kodą (galima copy/paste):

/* Mūsų pirmoji programa
   Ne, tai ne "Labas Pasauli!"
   Tai pamirksėjimas akytėmis */
void setup() {
  // apsirašomi nustatymai
  pinMode(13, OUTPUT); // 13 kontrolerio išėjimas
              // prie jo pajungtas šviesos diodas
}

// "amžinas" ciklas - kol matinimas įjungtas
void loop() {
   digitalWrite(13, HIGH); // įjungiame diodą
   delay(1000);            // palaukiame 1 sekundę
   digitalWrite(13, LOW);  // išjungiame diodą
   delay(1000);            // palaukiame 1 sekundę
}

   Ir nieko nelaukiant spaudžiame ant rodyklytės "Įkelti". Mūsų Arduino plokštė turi prie 13 skaitmeninio išėjimo pajungtą šviesos diodą. Sukompiliavus ir įkrovus šitą programą į kontrolerį šviesos diodas (LED'as) užsidega 1 sekundei, paskui užgęsta 1 sekundei ir taip kol įjungtas maitinimas.

   Apie pačios programos struktūrą. Pirmiausia noriu atkreipti dėmesį, kad programuojant, rašant kodą, visada palikite komentarus. 1 eilutės komentaras žymimas "//" (dviem pasviraisiais brūkšniais), jeigu komentaras užima daugiau nei 1 eilutę – naudokite "/*" – komentaro pradžia ir "*/" – komentaro pabaiga. Komentarų per daug nebūna, nes prisėdus prie projekto po kokio mėnesio gerą pusdienį gali užtrukti aiškinantis "ką aš čia norėjau parašyti…"

   Gal jau pastebėjote, kad minimalus programos kodas, kurį galima sukompiliuoti ir įkelti bus toks:


void setup() {}
void loop() {}

   Žinoma šita programa nieko nedaro, bet ją jau galima sukompiliuoti ir įkelti į kontrolerį.

void setup() {}

Čia apsirašome savo kontrolerio kojų išvadus – vienus išvadus galime nustatyti kaip signalų siuntėjus (OUTPUT), kitus – kaip signalu priėmėjus (INPUT)

void loop() {}

"Amžinas" ciklas – aprašytos komandos bus vykdomos kol kontroleris bus užmaitintas.

Ir taip, mes turim programėlę, kuri valdo LED'ą – "užsimerkiam – atsimerkiam…" …atsibodo… o kaip su koketišku trumpučiu "mirkt" ?

/* Mūsų 1moji programa - netiesa - 2troji
   Ne, tai ne "Labas Pasauli!"
   Tai pamirksėjimas akytėmis 
   paprastas "mirkt" */
void setup() {
  // apsirašomi nustatymai
  pinMode(13, OUTPUT); // 13 kontrolerio išėjimas
              // prie jo pajungtas šviesos diodas
}

// "amžinas" ciklas - kol matinimas įjungtas
void loop() {
   digitalWrite(13, HIGH); // įjungiame diodą
   delay(500);            // palaukiame 0,5 sekundės
   digitalWrite(13, LOW);  // išjungiame diodą
   delay(1000);            // palaukiame 1 sekundę
}

…o jeigu taip "mirkt-mirkt"…

/* Mūsų 1moji programa - netiesa - 3cioji
   Ne, tai ne "Labas Pasauli!"
   Tai pamirksėjimas akytėmis 
   nepaprastas "mirkt-mirkt" */
void setup() {
  // apsirašomi nustatymai
  pinMode(13, OUTPUT); // 13 kontrolerio išėjimas
              // prie jo pajungtas šviesos diodas
}

// "amžinas" ciklas - kol matinimas įjungtas
void loop() {
   digitalWrite(13, HIGH); // įjungiame diodą
   delay(500);            // palaukiame 0,5 sekundės

   digitalWrite(13, LOW); // išjungiame diodą
   delay(500);            // palaukiame 0,5 sekundės

   digitalWrite(13, HIGH); // įjungiame diodą
   delay(500);            // palaukiame 0,5 sekundės

   digitalWrite(13, LOW);  // išjungiame diodą
   delay(1000);            // palaukiame 1 sekundę
}

   Štai jums ne kažkoks "Labas Pasauli!". Tai koketiškas mūsų kontrolerio pamirksėjimas visiems kas tik atkreips dėmesį į jį, arba duos pavalgyti (bent jau maitinimą).

Ir trumputis video kaip visa tai atrodo gyvai

2 komentarai

    Arduino programavimo pradžiamokslis

    […] Pamokų sąrašas […]

    Eras1977

    Sveiki, džiugu, kad pradėjot šį ciklą, bet ir graudu, kad jis baigės. Negi niekas nesidomi ir nieko naujo patys nesukūrėt, bet pradžiai, kad suprast kaip tai veikia, na žinoma pilnas internetas pasakysit, bet kam tada reikėjo pradėt?

Parašykite komentarą

El. pašto adresas nebus skelbiamas. Būtini laukeliai pažymėti *

*
*

Time limit is exhausted. Please reload CAPTCHA.