Tag: programowanie

Snap4Arduino – Fading – Zmiana jasności diody

PWM – płynna zmiana jasności diody

Poniższy przykłąd jest odwzorowaniem przykładu Arduino o nazwie FADING, pokazującego najprostszą możliwość sterowania zewnętrznym urządzeniem (w tym wypadku diodą LED) przy pomocy sygnału PWM. Efektem tego przykładu jest świecenie diody płynnie zmieniające poziom jasności od 0 do 100%.

Co potrzebujesz:

1. Arduino
2. Dioda LED
3. Opornik o wrtości od 100Ohm do 10kOhm (im większa wartość opornika tym dioda słabiej będzie świecić)

Schemat:

Diodę LED podłącz (przez opornik) do pinu cyfrowego numer 9, zwróć uwagę, że na płytce Arduino jest on oznaczony falką ~ podobnie jak piny 13, 11, 10, 6, 5 i 3 tylko one mogą generować sygnał PWM.

Program:

Połącz Arduino z Snap4Arduino, w zakładce DANE wybierz opcję STWÓRZ ZMIENNĄ i nazwij ją JASNOŚĆ a następnie złóż następujący program:
fading

Algorytm działania programu wygląda następująco:
1. Po kliknięciu zielonej flagi (uruchomieniu programu) ustaw pin nr 9 jako WYJŚCIE PWM
2. Ustaw początkową wartość zmiennej JASNOŚĆ na 0 (dioda nie świeci)
3. Rozpocznij wykonywanie pętli ZAWSZE – powtarzaj zawarte w niej instrukcje aż do zatrzymania programu.
4. Do momentu aż zmienna JASNOŚĆ osiągnie wartość maksymalną, czyli 255 (dioda świeci najjaśniej), zwiększaj ją stopniowo o 1 i tak samo ustalaj wartość PWM na pinie nr 9
5. Gdy JASNOŚĆ osiągnie wartość maksymalną zacznij ją stopniowo zmniejszać o 1 (i tak samo wartość PWM na pinie 9), aż osiągnie wartość 0
6. Rozpocznij od początku wykonywanie pętli ZAWSZE

Efektem programu powinno być stopniowe rozjśnianie i ściemnianie diody LED. Spróbuj zamiast diody podłączyć mały silniczek DC (wyjmując również opornik od diody – silnik potrzebuje dużo energii, opornik by ją niepotrzebnie zmniejszał) zobaczysz, że podobnie jak dioda zmieniała swoją jasność silnik będzie zwiększał prędkość swojego obrotu. Sygnał PWM jest jedną z możliwości regulowania prędkości silników na prąd stały.

Snap4Arduino – Blink – Miganie diody

Ćwiczenia

Sterowanie diodą – BLINK

Poniższy kod jest odwzorowaniem najprostszego standardowego przykładu Arduino o nazwie BLINK (w programie Arduino znajdziesz go w zakładce Plik->Przykłady->01.Basics->Blink), jego celem jest pokazanie najprostszego możliwego sterowania pinem cyfrowym a efektem miganie diody podłączonej do pinu nr 13.

Co potrzebujesz:

1. Arduino
2. Dioda LED
3. Opornik o wrtości od 100Ohm do 10kOhm (im większa wartość opornika tym dioda słabiej będzie świecić)

Schemat:

Podłącz dlodę LED do pinu numer 13. Dłuższą nogę diody (anodę) wepnij w pin 13, a krótszą (katodę) wepnij do sąsiedniego pinu GND (ang. Ground, czyli tzw. MASA, czyli MINUS), na schemacie widać że dioda połączona jest z opornikiem (jak zwykle kiedy podłączamy diodę do zasilania) ale w tym wypadku nie jest on konieczny, gdyż pin 13 w Arduino jako jedyny posiada wbudowany opornik.

Otwórz teraz Snap4Arduino, połącz go z Arduino i ułóż następujący program:

blink

Uruchom następnie program klikając na zieloną flagę jego efektem powinno być miganie diody co sekundę.

Algorytm działania programu opisać można następująco:
1. W momencie uruchomienia programu (kliknięcie na zieloną flagę) ustaw pin nr 13 jak CYFROWE WYJŚCIE (digital output)
2. Rozpocznij wykonywanie pętli ZAWSZE – czyli powtarzaj w nieskończoność (lub do momenty zatrzymania programu) instrukcje zawarte wewnątrz bloku ZAWSZE
3. Zapal diodę – ustaw stan pinu numer 13 na PRAWDA – czyli tzw. stan wysoki, czyli ustaw na nim napięcie 5 voltów – dioda będzie podłączona do zasilania
4. Poczekaj 1 sekundę
5. Zgaś diodę ustaw stan pinu numer 13 na FAŁSZ – czyli tzw. stan niski, czyli ustaw na nim napięcie 0 voltów – dioda zostanie odłączona od zasilania
6. Poczekaj 1 sekundę
7. Rozpocznij od początku pętlę zawsze

Snap4Arduino

SNAP! to bardziej rozbudowana wersja wizualnego języka programowania o nazwie SCRATCH. Jeśli programowałeś kiedykolwiek w Scratchu obsługa Snap! nie sprawi ci żadnego problemu.

Scratch to prosty wizualny język programowania stworzony głównie z myślą o dzieciach. Programowanie w Scratchu opiera się na łączeniu ze sobą różnego rodzaju bloków/klocków reprezentujących proste funkcje i zmienne, dzięki czemu aby tworzyć proste gry i aplikacje nie trzeba nawet umieć pisać a przede wszystkim ominąć można trudny dla wszystkich początkujących etap uczenia się składni języka programowania (nie trzeba pamiętać o stawianiu średników, nawiasów, klamr itp.) Dodatkowym plusem Scratach jest dostępność wersji w języku polskim.

Aby skonfigurować Arduino do pracy z S4A należy:

UWAGA – Arduino w zestawie NA KOŁACH jest już skonfigurowane do pracy z Snap4Arduino (ma wgrany skrypt Standard Firmata), jeśli rozpoczynasz używanie zestawu możesz pominąć pierwsze trzy kroki.

  • Zainstalować na komputerze program Arduino i drivery Arduino jeśli jest to wymagane
  • Zainstalować Snap4Arduino
  • Otwórzyć program Arduino i z menu Plik->Przykłady->Firmata otwórz plik StandardFirmata a następnie wgrać go na Arduino – jeśli potrzebujesz pomocy z wgrywaniem programów na Arduino instrukcję jak to zrobić znajdziesz na oficjalnej stronie Arduino
  • Uruchomić program Snap4Arduino, w lewym górnym rogu znajdują się kolorowe zakładki z typami bloków (Ruch, Wygląd, Dźwięk, ….), wybierz zakładkę Arduino a następnie z listy bloków, które pojawią się pod spodem wybierz CONNECT ARDUINO, pojawi się okienko z komunikatem “Connecting board at …”
  • Snap4Arduino - Arduino blocks

  • Jeśli Arduino jest poprawnie podłączone do komputera, i poprawnie wgrany został na niego program StandardFirmata, po chwili oczekiwania Snap4Arduino powinien pojawić się komunikat “Arduino board discovered. Happy prototyping”.
  • Możesz rozpocząć programowanie swojego robota!

Podstawowe zasady

  • Żeby Arduino mogło komunikować się ze Snap4Arduino musi być na stałe podłączone do komputera przez kabel USB albo modem bluetooth.
  • Jeśli odłączysz Arduino od komputera w trakcie połączenia z programem S4A, spowoduje to zawieszenie programu albo nawet całego komputera. Przed odłączeniem płytki kilknij w oknie bloków przycisk DISCONNECT ARDUINO
  • Jeśli podłączasz do komputera robota wyposażonego w więcej niż jeden silnik servo, nie wystarczy mu zasilanie tylko z portu USB komputera. Zbyt słabe zasilanie skutkować będzie samoistnym rozłączaniem się mikrokontrolera i programu S4A. W przypadku kiedy używasz większej ilości silników twój robot potrzebować będzie dodatkowego źródła zasilania np. z baterii.