Tag Archives: programowanie

tinyBrd 2.0: Wstęp do pracy z płytką

Cześć, w dzisiejszym artykule zajmiemy się płytką tinyBrd 2.0. Jest to niewielka płytka deweloperska oparta o procesor ATtiny84 wyposażona w specjalne złącze służące do zamontowania modułu komunikacji radiowej NRF24L01+. Jeżeli kliknęliście w linki to pewnie zauważyliście już, że połączenie tych dwóch urządzeń to nic innego jak super tanie arduino z możliwością komunikacji bezprzewodowej :) Pokażę Wam w jaki sposób dobrze polutować płytki oraz jak wgrać na tinyBrd pierwszy program.

Continue reading

Programowanie Arduino w chmurze

W ostatnich latach bardzo popularna stała się idea dostarczania oprogramowania w chmurze. Możemy wymienić tutaj m.in. Office Web Apps Microsoftu, Google Docs, Dropbox itp. usługi. Cała idea tego typu aplikacji polega na tym, że nasze pliki możemy przechowywać na zdalnych serwerach (mamy do nich dostęp z każdego komputera na który się zalogujemy), a także udostępniają nam webowe środowiska do edycji tychże plików. Nie inaczej jest z fundacją Arduino, która stworzyła stornę create.arduino.cc, o której dzisiaj trochę opowiem :)

Continue reading

Jak poradzić sobie z czasem na Arduino

Zmagania z czasem na Arduino potrafią uprzykrzyć życie, zwłaszcza początkującym. O czym piszę? O działaniach które mają być wykonywane przez jakiś czas albo dopiero po upłynięciu jakiegoś czasu.

Pierwsze podejście, kogoś kto rozpoczął swoją przygodę z Arduino będzie pewnie próba użycia delay. Hej, kto z nas tego nie próbował… Problem pojawia się wtedy gdy nasze Arduino musi coś robić w czasie czekania. A delay… no cóż, czekanie z delay to jest jedyna rzecz jaką może robić Arduino  na raz.

Jak sobie poradzić z oczekiwaniem gdy musimy robić kilka rzeczy na raz?

By nie gadać po próżnicy, omówmy to na konkretnym przykładzie. Niedawno dla klienta robiliśmy urządzenie, które miało zliczać dane z czujników odległości. A konkretnie, chodziło o określenie ile osób przyłożyło głowę do urządzenia. Jeśli czujnik przez określoną liczbę sekund wskazywał dostatecznie mały odczyt, wówczas mieliśmy zliczyć osobę, która podeszła do czujnika. Podobnie, dopiero gdy na określoną ilość sekund oddaliła się od czujnika dopiero wtedy miało być zwolnione miejsce i czujnik miał być gotowy do zarejestrowania kolejnej osoby. Na dodatek – były dwa czujniki, które miały być obsługiwane jednocześnie.

Próba zbudowania tego na ifach jest raczej skazana na porażkę. Nie, że to nie da się tak zrobić, ale… zmiana wymagań, jak np dodanie jakiegoś kryterium czy nawet drobna zmiana zachowania urządzenia może oznaczać długie i mozolne grzebanie w kodzie.

Wybrnąć z takiej sytuacji pozwala zwykle model matematyczny określany nazwą maszyną stanów (lub automat skończony). W prostych słowach – mamy skończony zbiór stanów w których może znaleźć się nasz system. Do tego potrzebujemy określić warunki w jakich następują przejścia pomiędzy stanami.

Continue reading