Scratch – proste programowanie niczym Minecraft

Znajomy niedawno był w Krakowie na Nocy Naukowców 2014. Z ciekawostek najbardziej spodobał mu się program Scratch. Służy on do nauki programowania, przez układanie programów z klocków. Mówiąc językiem współczesnych robi się w nim crafting programów.

Ponieważ wiele osób chciałoby wykorzystać swoje kontrolery w prosty sposób, postanowiłem się przyjrzeć jego wersji dla Arduino o nazwie S4A.

Najpierw ściągnąłem program ze strony twórców:

Program jest w wersjach na Windows, Mac, Linux i Raspberry PI.

Następnie trzeba wgrać przez Arduino IDE do Arduino szkic komunikujący się z S4A.

Niestety szkic wykorzystuje sprzętowe sztuczki kontrolerów ATmega168/328 i działa tylko na Arduino UNO lub Duemilanove.

Po podłączeniu Arduino do komputera i uruchomieniu S4A widzisz to:

image

Po prawej znajduje się narysowana płytka Arduino, a obok niej podgląd działania pinów analogowych 0..5 i cyfrowych 2, 3. To chyba ułatwia zrozumienie niektórych rzeczy.

Po lewej stronie jest tabelka zawierająca wszystkie klocki z których możesz craftować program. Klocki pookładane są w kategorie, żeby łatwiej było szukać.

Na środku jest pole do którego zrzucasz klocki i układasz program.

Zacznę od typowego przykładu mrugania wbudowaną w Arduino pomarańczową lampką LED. Ma ona oznaczenie na płytce L lub L13 i jest podłączona do pinu cyfrowego 13.

Program wygląda tak:

image

Ułożyłem go w ten sposób:

  1. W polu kontrola wybrałem klocek “Kiedy kliknięto [zielona flaga]”.
    Ten klocek oznacza uruchomienie programu. Uruchamia się on jak naciśniesz zieloną flagę w prawym górnym rogu okna. Czerwone kółko zatrzymuje program.
  2. Potem podłączyłem do tego klocka – klocek o nazwie “Zawsze”.
    Wszystko co będzie w środku tego klocka będzie się wykonywało bez końca w kółko.
  3. Potem w kategorii “Ruch” wybrałem klocek “digital 10 on” i włożyłem do środka klocka “Zawsze”. Potem przestawiłem mu numer pinu na 13.
    Klocek ten odpowiada za włączenie pinu – będzie z niego wychodziło 5 V i zasilało lampkę L.
  4. Następnie w kategorii wybrałem klocek “czekaj 1 s”. Klocek ten blokuje działanie programu na jakiś czas.
  5. Za nim dołączyłem klocek “digital 13 off” z kategorii “Ruch”.
    Wyłącza on napięcie na pinie 13 i tym samym lampkę L.
  6. Dalej dodałem znowu klocek “czekaj 1 s”.

W te sposób napisałem program, który ciągle zapala i gasi lampkę L co sekunda.

Teraz czas na trudniejszy program. Chciałbym, podłączyć do Arduino przekaźnik sterujący światłem. Po pierwszym wciśnięciu na klawiaturze spacji przekaźnik się włączy a po drugim wciśnięciu spacji się wyłączy.

image

Do pinu cyfrowego 10 podłączyłem przekaźnik Nettigo.

Program wyszedł mi taki:

image

W programie potrzebna jest zmienna, która będzie pamiętała czy wciśniecie ostatnio spacji włączało, czy wyłączało przekaźnik.

Zmienną utworzyłem w sekcji “Zmienne” i nazwałem “czy było włączone”. Jeżeli ma ona wartość 0 to znaczy, że przekaźnik trzeba włączyć i ustawić zmienną na 1. Jeśli ma wartość 1 to przekaźnik trzeba wyłączyć i ustawić zmienną na 0.

Pierwszy klocek w programie to “kiedy klawisz spacja to” z sekcji “Kontrola”. Można w nim ustawić reakcję na różne klawisze.

W klocku “jeżeli” jest zielony klocek “=” z sekcji “Wyrażenia”. Porównuje on wartość zmiennej z liczbą 0.

Nauka takiego programowania jest bardzo prosta. Teraz możesz łatwo stworzyć własne sterowane programem urządzenia oraz łatwo i przyjemnie nauczyć się programować.

Arduino UNO kupisz w sklepie Nettigo.

sprae

Leave a Reply

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.