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
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?