Zestawy‎ > ‎

MikroCpp-for-kids (uCpp4kids, UC4K)

Nazwa zestawu "...for-kids" jest trochę przekorna, w rzeczywistości jest to zgrabne, pełnowartościowe, programowalne urządzenie wyposażone w liczne peryferia, którym mogą się pobawić także zaawansowani hobbyści.
W rozwinięciu należy to rozumieć jako "zestaw z mikrokontrolerem, który nawet dziecko potrafi opanować". Aby zbudować własne urządzenie, które sensownie działa (a nie tylko miga diodą), nie potrzeba podłączać żadnych dodatkowych kabelków (oprócz microUSB). Dzisiaj praktycznie każdy użytkownik smartfona lub tabletu ma gdzieś pod ręką zarówno ładowarkę jak też kabel microUSB do komputera, dlatego wybraliśmy właśnie to złącze.

Z tego projektu warto korzystać na 2 sposoby: 
  1. jeden egzemplarz full-wypas (samodzielny, ang. standalone ok. 70 PLN)
  2. dwa-trzy zestawy "odchudzone", tańsze, ale z komunikacją bezprzewodową, po ok. 40 PLN/sztukę - baza + czujniki + elementy wykonawcze.
Założenia projektu
Zaprojektować i wykonać zestaw edukacyjny z łatwym do ogarnięcia mikrokontrolerem, niedrogi i kompaktowy, ale bogato wyposażony w różne czujniki i układy wykonawcze. Sercem układu ma być tani mikrokontroler (wybraliśmy Freescale MC9S08AW60) i sprzętowy programator/debuger USB.

Czego się możesz nauczyć?
Użycia GPIO, UART (SCI), SPI, I2C, różnych przerwań, ADC, TPM, PWM, timerów, ale przede wszystkim solidnych podstaw języka C. Tu nie ma taryfy ulgowej - żadnych BASCOMów, Arduino itp. Obowiązuje standardowy język C. Dla naprawdę początkujących przygotowaliśmy wzorcowy projekt, w którym najważniejsze komponenty są dostępne jako zbiór funkcji w C, np. zmiana jasności diody RGB lub odczytanie wartości z czujników. Dodatkowo możesz wyświetlać wartości z czujników oraz sterować urządzeniem z komputera, pisząc odpowiednią aplikację w C#, lub ze smartfona/tabletu Android (tym razem aplikacja będzie napisana w Javie).

Bieżąca konfiguracja (prototyp do testów funkcjonalnych, wersja 0)
Ta zgrabna zabawka może (chociaż nie musi!) być użyta jako bezprzewodowy układ rozszerzający możliwości NE64BASE lub V1BASE dzięki dwukierunkowej, cyfrowej komunikacji przy użyciu taniego modułu radiowego RFM73, ale za sprawą mikrokontrolera na pokładzie z powodzeniem działa także jako w pełni samodzielne urządzenie cyfrowe. Można też oczywiście skomunikować ze sobą 2, 3, ..., N urządzeń UC4K. Jedno może być stacją bazową podłączoną do komputera, a pozostałe mogą pełnić rolę bezprzewodowych czujników i układów wykonawczych. Liczba możliwych konfiguracji i scenariuszy jest praktycznie nieograniczona. Jest to tym bardziej interesujące rozwiązanie, że "odchudzona" wersja pojedynczego zestawu kosztuje niecałe 30 zł z zamontowanym uC i modułem radiowym. Dodatkowe elementy można dobrać wedle własnego uznania.
W pełni wyposażone UC4K mierzy ciśnienie atmosferyczne, temperaturę (analogowy i cyfrowy termometr), natężenie oświetlenia (fototranzystor). 3-osiowy czujnik przyspieszenia pozwala określić orientację zestawu w przestrzeni. Wbudowany buzzer nadaje się do generowania irytujących dźwięków, a znana już z NE64BASE lub FREEboard jasna dioda RGB służy z powodzeniem jako kolorowa nocna lampka w pokoju. Scalony odbiornik podczerwieni umożliwia sterowanie zestawem bezpośrednio z pilota TV. Całość uzupełniają cyfrowy enkoder obrotowy, rezystor nastawny, 2 miłe dla oka żółte LEDy oraz 2 przyciski. Dla tych, którzy chcą sterować tym urządzeniem ze smartfona, przewidziane zostało złącze dodatkowego modułu Bluetooth. Za komunikację z laptopem odpowiada wbudowany konwerter USB-UART lub Bluetooth (opcja).
Jako źródło zasilania służy kabel microUSB podłączony do komputera lub np. ładowarka do telefonu. 
Ciekawostka: UC4K potrafi także bezpośrednio wysterować 1 przekaźnik lub silnik DC, dzięki dedykowanemu tranzystorowi MOSFET z dodatkową diodą zabezpieczającą (obciążenie indukcyjne!)
W zależności od wyposażenia (wlutowanych podzespołów) szacunkowy koszt wliczając PCB wynosi od 20 do 70 PLN dla krótkiej serii. Środowisko programistyczne to bezpłatne CodeWarrior 6.3 ("classic") lub 10.6 ("Eclipse"). 

Docelowa konfiguracja
Wybierzemy zgrabniejszy rezystor nastawny, dodamy możliwość zrezygnowania z wbudowanego USBDM, pojawią się także 3-osiowy kompas, nadajnik podczerwieni oraz mikrofon (a przynajmniej takie są plany).
Po rezygnacji z wbudowanego USBDM nadal będzie można programować zestaw np. programatorem dostępnym w NE64BASE lub V1BASE, oszczędzając kilkanaście PLN. 
Tak na marginesie: mikrokontroler MC9S08JS16 użyty jako programator i konwerter USB-UART jest droższy od głównego mikrokontrolera MC9S08AW60!
Obowiązkowe części to PCB + mikrokontroler MC9S08AW60 + stabilizator napięcia (koszt: ok. 20 PLN), pozostałe komponenty można wlutować według własnego uznania. Startujemy od ok. 20 PLN, a później w miarę dodawania kolejnych gadżetów cena zestawu rośnie. Jeśli chcesz mieć bezprzewodowy czujnik temperatury, to dodajesz moduł RFM73 + analogowy termistor (w sumie +9 PLN). Jeśli nie chcesz radia, ale wolisz lampkę RGB sterowaną z pilota TV, to do ceny bazowej dodasz +5 PLN. Efekt końcowy to samodzielne urządzenie z własnym mikrokontrolerem, bez plątaniny dodatkowych kabli, które można zasilać wprost z microUSB albo innego źródła +5 V. Na zdjęciach widać prototyp (wersja 0) w pełni wypasiony.

PCB ma rozmiary 50 mm x 50 mm (kliknij, aby powiększyć zdjęcie).


Status projektu
Wersja 0, jest kilka drobiazgów do poprawek. Potencjometr zostanie wymieniony na mniejszy i zgrabniejszy, pojawią się dodatkowe piny dla zewnętrznego programatora USBDM, co obniży koszt wersji "zubożonej" o kilkanaście zł. Jeśli się uda, to dodamy diodę nadawczą Ir - będzie można wtedy sterować większością domowych urządzeń RTV z poziomu UC4K, oraz mikrofon elektretowy (to już bardziej gadżet, ale możliwe jest wykrywanie dźwięków i np. sterowanie klaskaniem). Mikrokontroler ma już wykorzystane praktycznie wszystkie piny, więc na tym chyba skończymy dalszy rozwój projektu.

Przykładowe scenariusze użycia
- lampka RGB o regulowanej barwie i jasności. Sterowanie z poziomu PC, smartfona, pilota na podczerwień albo modułem bezprzewodowym RFM73
- cyfrowy termometr wyświetlający temperaturę na wyświetlaczu 2 x 7 seg.
- bezprzewodowa (Ir, RFM73, BT) sygnalizacja poruszenia układu - czujka alarmu
- zamek szyfrowy (jak w sejfie) na bazie enkodera i sterowania cewką przekaźnika
- wyświetlanie na wyświetlaczu 7-segmentowym liczby powiadomień na FB, temperatury w pokoju i liczby nieodebranych maili
- po dodaniu soczewki wyświetlanie czasu na suficie (np. HH04--17, czyli 4:17)
- ... i wiele innych :)
Ċ
Krzysztof Urbański,
28 mar 2017, 13:13
ą
Krzysztof Urbański,
3 lut 2015, 05:01