pocket #2: programowanie MSP430 z Launchpad, AVR (bez IDE) z Arduino, zegarek LED i elektroniczna waga WIFI

Oto kolejna część projektów, które zapisałem w swoim pockecie, jako ciekawe i interesujące. Zgodnie z poprzednim artykułem (Arduino alarm, ne555, Teensy, bsp430, Nanino i Arduino tutorials) postanowiłem się dzielić wybranymi – może ktoś z Was znajdzie dla siebie coś inspirującego.

Linkuję do wpisów na forach, blogach i innych serwisach elektronicznych oraz z zakresu Do It Yourself.

elektronika_hash2

Zaczynam od wpisów starszych (w zasadzie jednych z początkowych na liście), aczkolwiek poniższe opisy uzupełniam o aktualny stan, który się dzieje wokół produktów, oprogramowania czy też projektów.

1) Programowanie mikrokontrolerów Texas Instruments przy pomocy zestawu TI Launchpad MSP430 – w zasadzie jest to dość proste rozwiązanie, ponieważ wszystkie zestawy Launchpad mają wbudowany programator, który można odłączyć (zwykle goldpiny) od reszty zestawu (niestety nie zawsze da się rozdzielić PCB). Niemniej pod powyższym linkiem znajduje się dobrze zrobiony wideo-poradnik dla osób dopiero rozpoczynających przygodę z tymi zestawami.

2) Programowanie AVR przy użyciu Arduino, ale tylko jako programatora (pomijając IDE Arduino przy tworzeniu kodu) – bardzo ciekawy manual (z linkami do wielu źródeł uzupełniających – jak choćby sposobów obliczania fusebit dla AVR) rozpoczęcia przygody z poważnym programowaniem AVR (niektórzy twierdzą, że Arduino jest jak niegdyś bardzo popularny Bascom; osobiście uważam, że jest w tym trochę prawdy, ale z zastrzeżeniem, że popieram – każdy język i środowisko jest dobre, jeśli umie się z niego korzystać).

3) Przenośny zegarek LED (mieszczący się w dłoni) – bardzo dobrze dopracowany projekt oparty o AVR ATmega645P zegarka, który pokazuje czas na 132 diodach LED (60 odpowiedzialnych za minuty, 60 odpowiedzialnych za sekundy i 12 za godziny). Autor udostępnia do projektu na swoim githubie (link w artykule o zegarku) wszystkie źródła – łącznie z projektem obudowy do druku 3D!

zegarek LED

4) Ostatnim ciekawym projektem z mojego pocketu w dzisiejszym wpisie jest elektroniczna waga podpięta poprzez Arduino i WiFi do dokumentów googla. Trochę trudno czyta się kod ze względu na używanie przez autora nazw zmiennych i opisów kodu po włosku. Niemniej projekt wart jest przeanalizowania i wykorzystania we własnych rozwiązaniach.

Miłego kabelkowania! 

analogowo-cyfrowy metawatch oparty na MSP430 (zestaw developerski)

Całkiem niedawno sprawiłem sobie na przecenie w TI.com MSP-WDS430BT1000AD (MetaWatch) – zegarek analogowo-cyfrowy z interfejsem bluetooth. Przecena była spora, bo aż z $199 do $49,99, aczkolwiek po kilku dniach testów doszedłem do wniosku, że ta niższa jest kwotą realną i te 199 dolarów może było OK, ale 2-3 lata temu.

ps: niniejszy wpis będzie tylko trochę o elektronice – zegarek po kilku dniach testów trafił w dobre ręce jako prezent.

analogowo-cyfrowy metawatch

Co jest w środku:

– mikrokontroler MSP430F5438A (rodzina MPS430, taktowanie max 25Mhz, RISC, 16bit, 256KB flash, 16KB ram),
– sterownik/kontroler CC2560 (bluetooth),
– akku 70mAh (niestety nie mogę się doszukać, raz tylko na jednym z forów mignęła mi ta informacja – niemniej jest to wystarczająca pojemność, żeby zegarek działał dłużej niż smartfon, do którego go podpinamy),
– dwa OLEDowe wyświetlacze,
– czujnik oświetlenia zewnętrznego i wodoodporność,
– trójosiowy akcelerometr,
– klip do ładowania i programowania (USB, widać fragment na powyższym zdjęciu).

Więcej info można znaleźć tutaj: http://www.ti.com/tool/MSP-WDS430BT1000AD#descriptionArea

Moje pierwsze wrażenia

Zegarek przyszedł bardzo szybko (ale to cecha wszystkich przesyłek od TI.com), w estetycznym pudełku, dobrze zabezpieczającym zegarek przed uszkodzeniem. W środku oprócz zegarka znajdowała się krótka ulotka, kabel nano-usb oraz wspomniany powyżej klips (zegarek od spodu ma 4 pozłacane styki kulkowe, na których opiera się klips). Ładowanie jest dość szybkie, zaś rozładowanie zależy od ilości informacji wyświetlanych na wyświetlaczu oraz częstotliwości używania wibracji (wspierających powiadomienia). Pierwszy dzień zabawy, to kilka godzin do kolejnego ładowania, zaś po ustabilizowaniu sytuacji 2-3 dni (ograniczyłem ilość powiadomień, bo były zbyt częste – mail, sms, telefon, etc).

Zaskoczeniem było dla mnie, że w moim Nexus4 non stop włączony bluetooth praktycznie nie przyspieszał rozładowywania telefonu (do tej pory raczej znikomo wykorzystywałem ten sposób komunikacji).

Moje drugie wrażenia – co działało, a co nie

Pozytywnie zaskoczyło mnie uruchomienie. Było szybkie, proste, przesadnie proste. Sparowałem urządzenia i tyle. Niestety okazało się, że aplikacja na androida (oficjalna) wspiera tylko nowe serie zegarków metawatch (wyjątkiem jest używanie wibracji do powiadomień – to nowa apka obsługiwała).

Zegarek przez cały czas testów działał w miarę stabilnie, aczkolwiek chwilami był problem z wydajnością. Miałem wrażenie, że mój telefon działa z zupełnie inną prędkością i zegarek nie jest w stanie obsłużyć tak dużej ilości requestów. Finalnie zrywała się komunikacja i trzeba było zrestartować zegarek (tak, z menu należało wybrać reset; dwa razy nawet hard reset musiałem wyklikać, żeby przywrócić komunikację).

Rozwiązaniem problemów z ustawieniami była nieoficjalna aplikacja znaleziona w sklepie google. Apka za darmo i w zasadzie w 100% wspierająca powiadomienia. Oczywiście producent udostępnia wszystkie narzędzia developerskie dla MSP430 oraz SDK z przykładami dla androida. Tutaj można znaleźć sporo wsparcia + info o kompatybilnych telefonach: http://metawatch.org/forums/board/26/stuff-that-connects-with-meta-watch.

Nie miałem okazji przetestować akcelerometru. Jeszcze nie ogarniam SDK androidowego (dopiero się go uczę), ale pewnie ciekawym rozwiązaniem byłoby spięcie zegarka np z Endomondo:)

Jedynym poważnym minusem zestawu jest to, że bateria elektroniki zasila też mechanizm zegarka analogowego. Jest to lekko uciążliwe, bo trzeba pamiętać o bardzo regularnym ładowaniu zegarka.

Dla kogo ten zestaw?

Dla każdego elektronika, który chce łączyć elektronikę użytkową z aplikacjami mobilnymi. Zegarek z telefonem tworzą parę, która komunikuje się dwustronnie i pozwala również na ingerencję użytkownika z poziomu obu interfejsów (zegarka i aplikacji w telefonie). Dodatkowo swoje możliwości pokazuje tutaj rodzina procesorów MSP430. Stosunkowo niewielki mikrokontroler jest w stanie naprawdę dobrze obsługiwać komunikację po bluetooth, dwa wyświetlacze OLED, akcelerometr, mechanizm wibracji, czyjnik oświetlenia i sterowanie jasnością wyświetlacza.

Ja swój zestaw (mimo, że w trakcie testowania zmieniłem zdanie i raczej chciałem go używać jako zwykłego zegarka) podarowałem w prezencie osobie, która lubi takie gadżety; nie jest elektronikiem, ale zabawy ma równie dużo z samego użytkowania.