Przejdź do głównej zawartości

Programowanie mikrokontrolerów AVR cz. 0

Zwykle w okolicach początku roku szkolnego piszę o edukacji jako takiej - co bym zmienił, co jest złe, co dobre itp. Dziś, zamiast tego co zwykle, będzie prequel poprzedniego artykułu o programowaniu AVR-ów w BASCOM-ie, a w zasadzie krótka prezentacja, jak w najprostszy sposób zmontować nieskomplikowany układ z ATtiny2313 w roli głównej.
Najpierw koncepcja. Wykorzystamy dwa wyjścia mikrokontrolera do zapalania i gaszenia (na przemian) dwóch diod świecących lub - jak w moim przypadku - kolorków jednej diody dwukolorowej ze wspólną katodą. Żeby nie przesadzać (jeszcze bardziej - wszak taki układ można zmontować z dwóch tranzystorów, dwóch kondensatorów i kilku rezystorów) z przerostem formy nad treścią, wykorzystamy wewnętrzny zegar taktujący ATtiny (co prawda 8MHz, ale mocno niestabilny - tutaj jednak nie powinno to w niczym przeszkadzać), cały układ natomiast zasilimy z trzech baterii AA (3*1,5V). Potrzebny będzie zatem ATtiny2313, dwa rezystory 220 Ohm, jedna dioda świecąca dwukolorowa ze wspólną katodą, kondensator 10 µF (choć przy tym zasilaniu nie jest on konieczny), płytka stykowa z drucikami. Podłączamy anody diody świecącej poprzez rezystory do wybranych wyprowadzeń mikrokontrolera - w moim projekcie są to odnóża 18 (bit 7 portu B) i 12 (bit 1 portu B). Pozostałe połączenia, czyli zasilanie - według dokumentacji ATtiny (napięcie zasilania przykładamy pomiędzy wyprowadzenia 20 i 10).
Kontroler trzeba zaprogramować, np. takim wsadem (tutaj będzie potrzebna nasza płytka uruchomieniowa lub programator):


przepiąć procesorek i włączyć zasilanie układu :)
Powinno ładnie mrygać - na zdjęciu tego niestety nie widać:


Prawda, że proste?
Układ ten będzie jednym z pierwszych, które uczniowie zmontują i uruchomią podczas zajęć. Potem będzie już tylko ciekawiej.

Komentarze

Popularne posty z tego bloga

Niesamowicie prosty czujnik zmierzchowy.

Tym razem zero programowania, będzie natomiast nostalgiczno-wspomnieniowy układzik, lekko zmodyfikowany. Otóż kilka dni temu rozmawialiśmy w gronie znajomych o różnego rodzaju czujnikach zmierzchowych i czujnikach ruchu. Ponieważ należę do tych wariatów, co to hołdują jeszcze owej przestarzałej i kompletnie odrealnionej dziś zasadzie: "po co kupować, gdy można zrobić", stwierdziłem, że poskładam takie coś (czujnik zmierzchowy; sensor ruchu faktycznie lepiej nabyć, choćby ze względu na rozmiary ;)) i być może podłączę do jakiegoś mikrokontrolera. Przypomniało mi się też przy okazji, że znalazłem ostatnio w elektronicznych śmieciach stary fotorezystor (dla niewtajemniczonych: element zmieniający rezystancję, czyli opór elektryczny, pod wpływem działania strumienia światła) RPP130, jeden z kilku pozostałych po montowanych wieki temu układach tranzystorowych do zdalnego sterowania pracą urządzeń za pomocą latarki... No OK, nie było to specjalnie rozbudowane zdalne sterowanie ;)

Płytka prototypowa na bazie ESP8266 (ESP-01)

To nie jest kolejny artykuł traktujący od początku do... nieco dalej (bo na pewno nie do końca) o płytkach ESP8266 . Żeby się dowiedzieć, co to takiego, odwiedźcie proszę np. tę stronę (oraz wiele innych – poproście o pomoc Waszą ulubioną wyszukiwarkę): http://www.esp8266.com/wiki/doku.php?id=esp8266-module-family . No ale żeby nie było, ESP8266 to układ zawierający na pokładzie wydajny mikrokontroler z rdzeniem RISC-owym, taktowany zegarem 40MHz (wersja, o której jest ten wpis) lub 80MHz, 512KB pamięci flash i podsystem komunikacji przez sieć WiFi . Jest powszechnie wykorzystywany jako swego rodzaju karta sieciowa do połączeń bezprzewodowych naszych urządzeń IoT , które budujemy w zaciszu domowych laboratoriów (i nie tylko). Układ montowany jest na płytkach występujących w kilku wersjach, różniących się przede wszystkim liczbą wyprowadzeń uniwersalnych, czyli GPIO – im większa liczba, tym większe możliwości wykorzystania układu (więcej urządzeń peryferyjnych itp.). Są też pewne

Programowanie AVR cz.8: Przetwornik analogowo-cyfrowy oraz modulacja szerokości impulsu.

Dziś kolejny wgląd w wyposażenie mikrokontrolera ATmega48P - tym razem przyglądamy się wbudowanemu w układ przetwornikowi analogowo-cyfrowemu oraz - dostępnej również w modelach ATtiny - modulacji szerokości impulsu realizowanej przez timery. Artykuł ten jest w pewnym sensie wstępem do następnego, który pojawi się już wkrótce, a którego tematykę zdradziłem na końcu. Przetwornik A-C (skrót spotykany w anglojęzycznej literaturze to ADC od Analog to Digital Converter ) to układ pozwalający na zamianę wartości napięcia (elektrycznego sygnału analogowego ;-)) na liczbę. W przypadku mojej ATmegi przetwornik ma rozdzielczość 10-bitową, co oznacza, że wartość napięcia podawanego na wejście przetwornika może być po konwersji zapisana jako liczba z przedziału od 0 do 1023 (musimy użyć zmiennej word do zapamiętania tej liczby). Jeśli jesteśmy w posiadaniu mikrokontrolera w obudowie PDIP 28-wyprowadzeniowej, to mamy do dyspozycji sześć kanałów (niezależnych wejść) przetwornika A-C, przyporzą