… miga zachęcająco czerwoną diódką do mnie. Zacznijmy jednak od początku.
Od dawna wiedziałem, że mikrokontrolery to bardzo ciekawe urządzenia, skoro mogą wykonywać więcej niż jedną czynność, a na dodatek można je oprogramować wedle uznania. W tamtych, pięknych czasach, mikroprocesory nie były jednak rozpowszechnione, a wszystkie programatory były albo drogie, albo droższe. Poza tym koszt samych układów wahał się w granicach kilkudziesięciu złotych. I sam także nie znałem się na programowaniu, więc pozostawały one dla mnie marzeniem.
Od pewnego czasu sytuacja się zmieniła. Powstały układy AVR, do których nie potrzeba specjalistycznych urządzeń, a ich koszty zmalały. Nadają się świetnie do różnych układów, począwszy od budzików, skończywszy na pomniejszych sterownikach, a dzięki otwartemu oprogramowaniu nie ma dużych problemów, by je oprogramować. Chęć ich poznania wróciła ze zdwojoną siłą.
Zachęcający był szczególnie pseudoprogramator – tak naprawdę odpowiedni kabel drukarkowy – dzięki któremu można było programować procesor w układzie, bez wyjmowania go z płytki. Kwestia zlutowania kilku kabelków z dwiema wtyczkami.
Domowym sposobem została zmontowana płytka, na której znajdują się cztery diody świecące LED, jeden przycisk, jeden mikrokontroler i kilka dodatków, potrzebnych do działania. Praktycznie, jeden dzień roboty od projektu do gotowej płytki.
Dla komatybilności z artykułem Wojtka Kaniewskiego, na którym się wzorowałem, użyłem układu ATTiny2313. Dużo czasu zejdzie, zanim zacznę używać wszystkich jego funkcji.
Po przygotowaniu płytki, wyjęciu zasilacza warsztatowego (zmontowanego przez ojca, kiedy byłem mały), przeniesieniu ustrojstwa do domu, zasileniu układu i podłączeniu wtyczki programującej, skompilowałem, wykorzystując źródło kodu z artykułu Wojtka, nieco zmodyfikowany plik Makefile z jednego z przykładów z manuala avr-libc oraz używając programu avrdude do wrzucania skompilowanego kodu do pamięci Flash mikrokontrolera. Uisp niestety nie chciał działać.
Kompilator i avrdude są w Ubuntu, co skraca proces ich instalacji do jakiejś minuty.
Po wgraniu flasha dioda nadal nie migała. Wziąłem woltomierz i zacząłem sprawdzać wszystko. Jakie było moje zdziwienie, gdy zauważyłem regularnie pulsujące napięcie na zaprogramowanym wyjściu. Jeśli tak, to mikrokontroler był w porządku, a jakiś element za nim odmówił współpracy. Tak być nie może! Nie damy się przecież pomiatać rezystorom i kondensatorom! Wreszcie, zmierzywszy napięcia na całej drodze od układu do diody, doszedłem do wniosku, że bezmyślnie wlutowałem diody odwrotnie do kierunku przewodzenia.
Zapamiętać: w tym typie diód ścięta końcówka nie oznacza anody.
Szybko przelutowałem i zaczęło migać. Udało się!
Teraz mogę zacząć rozgryzać stronę programową mojego mikroprocesora. I wyrywać Girls2.0, oczywiście.
i na coz to ci?:)
E… A co to za mikrokontroler, jak się go w C programuje? ASM rządzi ;P
@rozbit: Mogę zrobić sobie migacza, informującego mnie np. że mail przyszedł. :]
@Dot: Asm… Może jak będę miał więcej czasu. 😉
bomba:) czyli to taka sztuka dla sztuki:)
@rozbit: Krótko mówiąc, można zrobić wszystko, za co w sklepie dałbyś połowę ceny potrzebnej na wyprodukowanie. 😉
np co?:D
Raczej ważniejsze są te rzeczy, których w sklepie się nie znajdzie :).
powtorze: np co?:D
Ogólnie na mikrokontrolerach w dzisiejszych czasach opiera się praktycznie wszystko. Od sterowania kuchenkami (tymi trochę bardziej rozbudowanymi, albo mikrofalowymi), przez telefony, odtwarzacze MP3 i inne takie, na komputerowych akcesoriach kończąc. Rzecz w tym, że mając taki kontroler, o jakim ten art jest, można wymyśleć własne urządzenie i je stworzyć 🙂
Z tych, które się znajdzie – można zbudować np. mp3player.
Z tych które się nie znajdzie – sterownik oświetlenia na pilota. 😀