7. Scratch 4 Arduino graafinen ohjelmointi - matpi/EmbeddedSystemsUTU GitHub Wiki

Arduinon ohjelmointi on mahdollista myös graafisen S4A (Scratch four Arduino) käyttöliittymän avulla, joka perustuu modifioituun Scratch ohjelmointiympäristöön. S4A ohjelmointiympäristössä on käytettävissä erilaisia ohjelmointikuvakkeita, joiden avulla rakennetaan Arduinoon liitettyjen sensorien ja aktuaattoreiden ohjauskoodi. S4A ohjelmointiympäristöä varten tietokoneelle on ladattava tarvittava ohjelmisto, ja Arduinolle puolestaan on ajettava S4A-ohjelmointisofta normaalisti Arduino ohjelmointiympäristön avulla.

HUOMAA! S4A käyttöliittymällä ei voi ladata Arduinolle ohjelmaa, joka toimisi ilman USB kaapeliyhteyttä Arduinolle. Näin ollen esimerkiksi itsenäisesti ilman USB yhteyttä toimivat Arduino laitteet ja järjestelmät on edelleen ohjelmoitava perinteistä Arduino-ohjelmaeditoria käyttäen.

S4A-graafinen ohjelmointisofta ja Arduinolle ladattava firmware ohjelma ovat saatavilla S4A sivustolta. Firmware ohjelma kannattaa hakea S4A sivustolta löytyvän DopBox linkin kautta ja tallentaa se omalle tietokoneelle. Tällöin ohjelman saa avattua suoraan Arduino ohjelmiston käyttöliittymässä File -Open toiminnoilla, ja edelleen ladattua boardille.

S4A sivusto: http://s4a.cat/

Scratch ohelmointiportaali: https://scratch.mit.edu/


Blink S4A

Kuva: Arduino Examples Blink koodi S4A versiona


Blink

Kuva: Vastaava Arduino Examples Blink koodi C-kielisenä ohjelmaversiona


S4a_sensoriesimerkki

Kuva: Graafinen ohjelmointiesimerkki, jossa...

Arduinon analogiseen input pinniin A0 on liitetty sensori (LDR), jonka arvoa luetaan muuttujaan value

Arduinon analogiseen input pinniin A5 on liitetty sensori (LDR), jonka arvoa luetaan muuttujaan value2

Muuttujien arvoille asetetaan seuraavat ehdot, ja niihin liittyvät toiminnot:

Jos value < 400, niin digital 10 pinniin liitetty LED palaa yhden sekunnin, jonka jälkeen se on sammuksissa yhden sekunnin. Tämä jatkuu kunnes ehto ei enää täyty.

Jos value2 < 400, niin digital 10 pinniin liitetty LED palaa 0,2 sekuntia, jonka jälkeen se on sammuksissa 0,2 sekuntia. Tämä jatkuu kunnes ehto ei enää täyty.

Looppi jatkaa toimintaansa ikuisesti (niin kauan kuin Arduino on liitetty tietokoneeseen ja ohjelma pidetään aktiivisena)