PictoBlox je grafičko razvojno sučelje temeljeno na Scratch 3.0 alatu za programiranje blokovima i idealan je za ostvarivanje prvog koraka u svijetu programiranja. Kako Scratch alat ne podržava Vidi X mikroračunalo niti ESP32 procesor, odabrali smo PictoBlox koji ih podržava.
Korisničko sučelje i korištenje drag & drop (povlačenje i ispuštanje) programskih blokova zaobilaze potrebu za pamćenjem sintakse programskog jezika.
Sintakse programskih jezika prečesto mogu biti nepotrebno komplicirane te će uplašiti djecu koja se prvi puta susreću s programskim jezikom, a neodlučnost tipa staviti dvotočke ili ne na kraju retka C ili C++ programskog jezika rezultirat će odbijanjem djeteta od nastavka programiranja.
Vidi X možete programirati u PictoBlox programskom sučelju prilagođenom početnicima ili djeci koja uz pomoć povlačenja nekoliko blokova mogu napravi program koji će riješiti zadani problem.
Uz pomoć PictoBlox-a djeca se fokusiraju na razvijanje vještina kao što su logičko razmišljanje i rješavanje problema.
Kako biste započeli s vrlo jednostavnim primjerom blinkanja LED-ice, prvo trebate preuzeti PictoBlox s adrese https://thestempedia.com/product/pictoblox te ga instalirati na računalo.
Da bi se pojavili blokovi potrebni za programiranje Vidi X-a, prvo trebate odabrati razvojnu pločicu za koju pišete kôd. S izbornika „Bord“ odaberite „ESP32“.
Ne pojavi li vam se Poveži gumb, moguće je da je potrebno instalirati USB driver za Vidi X. Preuzmite ga i instalirajte sa linka https://www.ftdichip.com/Drivers/CDM/CDM21228_Setup.zip ili ga preuzmite sa GitHub repozitorija Vidilaba https://github.com/VidiLAB-com/Vidi-X/tree/master/Alati-za-prvi-setup
Sada odvucite „wehen ESP32 starts up“ blok na radnu površinu te pokušajte spremiti projekt klikom na izbornik „Datoteka“, a zatim „Spremi kao“.
Vrlo vjerojatno prvi puta nećete moći te će vam Windowsi izbaciti sigurnosno upozorenje da ta operacije nije dozvoljena od strane administratora na ovom računalu.
Primijetite da u opisu akcije piše da je blokirana aplikacija Pictoblox te prema tome možete znati da ovu akciju bez straha možete dopustiti. Kliknite na gumb „Akcije“ i dozvolite pristup mapi za ovu aplikaciju.
Sada spremite vaš program, a ako je uspješno pospremljen, možete nastaviti s programiranjem.
Savjet: Ako vam je „wehen ESP32 starts up“ blok zasivljen te nije aktivan, morate se prebaciti iz prozora scene u prozor za programiranje. Gumb opcije za prebacivanje se nalazi u gornjem desnom kutu. Pogledajte opis prve slike sučelja s početka teksta i pronađite "Prebacivanje između prozora scene i programskog prozora".
Kako se naša LED-ica nalazi na Pinu broj 2, prvo možete postaviti blok koji će taj pin postaviti na High te time upaliti LED-icu spojenu na pin 2. Zatim možete do njega spojiti blok koji će napraviti pauzu od pola sekunde da bi za to vrijeme LED-ica svijetlila.
Ta dva spojena bloka možemo duplicirati te samo promijeniti Output i time ga postaviti na Low stanje da bismo ugasili LED-icu. Kreirane blokove trebamo postaviti u petlju koja će ih ponoviti 3 puta za redom da bismo dobili sljedeće stanje.
Time smo postigli blinkanje LED-ice u razmacima od pola sekunde. Dupliciramo li taj kompletan blok te ako promijenimo prvu vrijednost čekanja na jednu sekundu, dobit ćemo stanje.
Time smo postigli da LED-ica svijetli jednu sekundu dok razmak između svijetljenja ostaje pola sekunde. Ovaj blok označavao bi crtu u Morseovoj abecedi, a s obzirom na duže trajanje stanja kad je LED-ica upaljena.
Kopirajmo još jedom onaj novokreirani blok koji koristimo kao sinonim za točkicu s trajanjem upaljenog stanje LED-ice od pola sekunde.
Spojimo ih logički kao . . . - - - . . . i dobili smo Morseov kôd za SOS. Na kraj tog niz možemo postaviti pauzu od 3 sekunde i onda kompletno sve postaviti u blok beskonačne petlje „ponavljaj“ da bismo dobili sljedeće stanje.
Rezultat svega je kod koji izgleda ovako:
void _setup() {
pinMode(2, OUTPUT);}
void _loop() {
}
void setup() {
_setup();
}
void loop() {
_loop();
for(int i = 0; i < 3; i++) {
digitalWrite(2, true);
delay(.5 * 1000);
digitalWrite(2, false);
delay(.5 * 1000);
}
for(int i = 0; i < 3; i++) {
digitalWrite(2, true);
delay(1 * 1000);
digitalWrite(2, false);
delay(.5 * 1000);
}
for(int i = 0; i < 3; i++) {
digitalWrite(2, true);
delay(.5 * 1000);
digitalWrite(2, false);
delay(.5 * 1000);
}
delay(3 * 1000);
}
Klikom na upload ikonicu, kôd će se učitati na Vidi X pločicu i počet će blinkati plava LED-ica u ritmu SOS poruke. Cilj PictoBlox razvojnog sučelja je da se najmlađi naraštaji ne opterećuju kôdom i njegovom sintaksom, ali on je ipak tu za one koji žele saznati više o programiranju te da bi ta stepenica između početnog i malo naprednijeg programiranja ipak bila što bezbolnija.
Vidjeti sretno i zadovoljno dijete nakon što je postiglo da njegove LED-ice blinkaju, neprocjenjivo je iskustvo. Nadamo se da vam je ovaj tekst pomogao da vašim najmlađima olakšate postizanje tog cilja uz pomoć Vidi X mikro računala.