W takim razie bez zbędnych zapowiedzi zapraszam wszystkich na drugi odcinek rozważań na temat diod MAGIC LED ;) ..... niestety albo dla niektórych na szczęście - będzie w tym odcinku jeszcze teoria, ale myślę że warto od podstaw poznać ten sposób komunikacji, po to aby później podczas wykorzystywania bibliotek, które napiszemy nie było rozczarowań co do zasad korzystania z nich, z ich możliwości itp. W takim razie do dzieła, sprawdźmy wspólnie jak to działa i o co chodzi w protokole komunikacji NZR, na czym polega przesyłanie paczek bajtów dla każdej diody w taśmie, gdy są połączone kaskadowo.
poniedziałek, 6 stycznia 2014
środa, 1 stycznia 2014
WS2812 - MAGIC RGB LED - PART 01
Witam,
Nowy 2014 rok chciałbym rozpocząć króciutkim (tu was zaskoczę) poradnikiem, a w zasadzie pierwszą częścią dłuższego cyklu poradników na temat magicznych nowoczesnych diod LED. Ich zastosowania są ograniczone są jedynie naszą wyobraźnią ;) ... wykorzystywane w taśmach LED RGB pozwalają na sterowanie każdą pojedynczą diodą tak jak w ekranach LCD/LED. Tak tak, każda z nich to swego rodzaju piksel, który nie dość że może świecić w dowolnym kolorze to jeszcze jesteśmy w stanie regulować jego jasnością w pełnym zakresie. Odkąd pojawiły się na rynku w sprzedaży niesamowite diody LED RGB o symbolu WS2812 (dostępne także w sklepie internetowym firmy Atnel) www.sklep.atnel.pl dokładniej tutaj --> LINK, można dowolnie i bez ograniczeń popuszczać wodze własnej fantazji co to ich zastosowań. Ten cykl poradników będzie miał za zadanie pomóc w tym zadaniu także tym osobom, które nie czują się jeszcze na siłach aby napisać we własnym zakresie biblioteki do ich obsługi i to w czystym języku C. Postaramy się zatem w trakcie kilku odcinków poradnika, wspólnie napisać takie biblioteki, dobrze je zrozumieć, tak aby później łatwo się korzystało z nich każdemu, kto się z tym zapoznał ;)
sobota, 28 grudnia 2013
Przerwania dla początkujących - część 03 + GRA
Witam,
Tym razem zapraszam was nie tylko do pisania kodu ale również do świata mojej wybujałej fantazji ;) dzięki czemu zobaczycie jak można zrobić przy pomocy pięciu diod LED, pięciu klawiszy, jednego buzzera, procka AVR i stykówki - fascynującą grę, która będzie mogła konkurować na najlepszymi produkcjami na Xboxa ;) Będzie to prawie gra FPS (Fisrt Person Shotter) ... ale ok nie ujawniam dalej informacji, zobaczycie sami o co tu chodzi. Na poważnie jednak, początek poradnika, myślę że będzie ważnym krokiem potrzebnym do całkowitego obeznania się (że tak powiem) z przerwaniami zewnętrznymi a szczególnie z tymi oznaczonymi jako PCINTx. Przy okazji zobaczycie, znowu jak piszę po kolei program, jak go testuję (każdy fragment) ... jak wyszukuję błędy ;) .... ciekawe czy ktoś z was wypatrzy błąd którego szukam w pewnym miejscu zanim ja wpadnę co źle zrobiłem ?
środa, 25 grudnia 2013
Przerwania dla początkujących - część 02
Tym razem od razu kolejny odcinek ... jeszcze troszkę teorii i zabieramy się w kolejnym do pisania kodu:
;)
;)
sobota, 21 grudnia 2013
Przerwania okiem początkującego - mikołajkowy poradnik
Z okazji zbliżających się świąt chciałbym zaprezentować wam, krótki mikołajkowy poradnik. Oczywiście taki dla całkowicie początkujących, na temat przerwań. Istoty działania przerwań, co się dzieje z mikrokontrolerem, gdy zaczyna być obsługiwane przerwanie, na co należy zwrócić szczególną uwagę, itp. Będzie to oczywiście taka jakby część teoretyczna, może nawet troszeczkę z przymrużeniem oka (za co przepraszam, jeśli się komuś nie spodoba moje poczucie humoru). Nie mniej jednak, atmosfera świąteczna, ostatni nawał pracy, obowiązków, nadgodzin, doprowadziły do przemęczenia a w rezultacie także gwałtownego rozluźnienia i sporej dawki uśmiechu ... z którym staram się nauczyć żyć, tak na co dzień ;) .... Przy okazji życzę wszystkim spokojnych, zdrowych i wesołych świąt.
sobota, 14 grudnia 2013
Przetwornik ADC - część 06
Króciutko ;) tym razem ostatnia już część poradnika o ADC. Okazało się niestety, że będzie ona w postaci dwóch odcinków ... znowu się rozgadałem, a zatem od razu uwaga dla tych co to nie mogą zdzierżyć mojego, jak to powiadają na niektórych forach słowotoku. Tym panom już dziękujemy i niech od razu wyłączą swoje telewizory. My tymczasem zajmiemy się na początek takim praktycznym spojrzeniem na wykorzystanie ADC w jakimś konkretnym projekcie, gdzie na dodatek wystąpiły jakieś problemy w działaniu procka ATmega48. Naszym celem będzie więc podjęcie próby naprawy i rozprawienia się z tymi problemami ale wykorzystująć TYLKO i wyłącznie tą wiedzę, jakiej nabyliśmy w trakcie trwania tego cyklu poradników. Nic innego - zapewniam. A ponieważ będziemy że tak powiem naprawiać wspólnie klawiaturkę analogową to uznałem, że czemu by na koniec nie spróbować stworzyć od podstaw takiej własnej klawiatury, podejrzeć także jak ona może działać, plus inne smaczki technik programowania ;) Zapraszam więc gorąco ...
środa, 4 grudnia 2013
ECLIPSE vs Atmel Studio - porównanie
Witam,
W końcu udało mi się zrealizować długo obiecywany poradnik w którym będę mógł zająć się takim rzeczowym porównaniem dwóch sporych środowisk programistycznych wykorzystywanych podczas programowania mikrokontrolerów AVR. Chodzi oczywiście o ECLIPSE a także najnowszą wersję Atmel Studio 6.x. Uwaga! tym razem skupiam się na bardzo istotnych szczegółach, które są bodajże najistotniejsze z punktu widzenia programisty, z punktu oszczędności czasu, wspomagania działań programisty itp itd. Wyjaśnię także i rozwieję mity jakobym to ja był jakimś wrogiem z klapkami na oczach środowiska Atmel Studio. Wyjaśnię mój punkt widzenia i mam nadzieję, że ostatecznie się z tym rozprawię dzięki czemu być może wiele osób przestanie wmawiać mi dziwne rzeczy ;) ... chociaż ? ... chociaż jak znam życie to i tak znajdą się zatwardziali malkontenci, którzy znajdą kosmiczne kontrargumenty. Dobra mniejsza z tym, zapraszam serdecznie do obejrzenia i poznania nie tylko mojego punktu widzenia ale także wyjaśnienia wielu kwestii takich praktycznych. Np dlaczego nie wolno używać #define F_CPU w kodzie źródłowym programu....
niedziela, 1 grudnia 2013
AVR - ISP vc SPI co wolno a czego nie wolno ?
Witam,
Ten poradnik ma za zadanie przekazanie wam, tego co mi udało się dowiedzieć na temat ISP. Chciałbym tu nieco omówić ale tak od czysto praktycznej strony co to jest ISP (In System Programing) i czym różni się od SPI (Serial Peripherial Interface). Zwrócę uwagę jak się ma także ISP w niektórych procesorach do wyprowadzeń SPI a także na fakt, że nawet jeśli procesor posiada ISP to nie jest jednoznaczne z tym, że ma moduł SPI. Ale nie to jest najważniejsze. Wielu osobom sprawia bowiem kłopot i spędza sen z powiek, zagadnienie związane z możliwością wykorzystania pinów ISP jak MOSI, MISO i SCK do innych celów niż tylko do programowania. To tu jest bodajże najwięcej nieporozumień. Przykładowo jedną z największych porażek jakie przeżywa początkujący bywa np podłączenie pinów wyświetlacza LCD (tych D4..D7) do linii ISP. Gdy nagle występuje kłopot z programowaniem mikrokontrolera to prędzej pomyśli on o tym, że właśnie się zepsuł mikrokontroler niejednokrotnie (w pierwszym momencie) niż to, że być może coś źle podłączył. Później gdy już wie, że tak nie można to stara się znaleźć jakiekolwiek poradniki, które na podstawie wyliczanki, mówią że np tego nie można podłączać, tego również a tamto to już można. Ja bym chciał przedstawić inne podejście. Wyjaśnić co od czego zależy tak abyś mógł zrozumieć jak to działa i gdzie mogą być problemy a także jak ich nieraz unikać - abyś mógł sam oszacować zawsze z góry kiedy problem może wystąpić a kiedy nie.
środa, 20 listopada 2013
Tablica wskaźników we flash ( PROGMEM ) Atmel toolchain
Taka mała krótka porada dla wszystkich zjadaczy nowych właściwości atmel toolchain (w tym także przypomnienie dla mnie) ;) w porównaniu do starego AVR GCC. Jest to porada z cyklu jak płynnie i bezboleśnie przejść ze starego toolchaina WinAVR na najnowszy Atmel toolchain. Jak wiecie jeśli w starym GCC chcieliśmy zdefiniować w pamięci Flash jakieś napisy (stringi, cokolwiek także stałe liczbowe) np na potrzeby MENU, czy też jakieś fonty np dla wyświetlaczy różnej maści ;), a następnie utworzyć tablicę wskaźników do tychże napisów/fontów w pamięci Flash, to wystarczyło zrobić to tak (podam przykład w oparciu o stringi ok?) ...
PRAWIDŁOWA instalacja driverów dla układów FT232R
W związku z bardzo często zadawanym pytaniem postanowiłem przygotować króciutki artykuł pozwalający każdemu przebrnąć właściwie przez instalację driverów dla układów FT232R używanych w produktach Atnel. W zasadzie w artykule jest mowa o tym skąd należy je pobrać, jaką wersję wybrać ponieważ są dwie i co najgorsze gdy drivery są instalowane domyślnie przez niektóre wersje Windows, to wybierana jest ta niezalecana wersja. Podpowiadam także jak sobie poradzić gdy już mamy poważny kłopot i żadna instalacja driverów nie pozwala na prawidłowe działanie programów Atnel takich jak MkAvrCalculator czy też MkBootloader. Link poniżej:
poniedziałek, 18 listopada 2013
MkBootloader - mała rewolucja, generator BLS dla ATmega
Witam,
W kolejnym i tym razem bardzo krótkim poradniku chciałbym wam pokazać nowe narzędzie jakie oddaję wszystkim użytkownikom programu MkBootloader. Do tej pory każdy kto chciał wygenerować sobie BLS (wsad do mikrokontrolera) ATmega z bootloaderem, narażony był że tak powiem na obcowanie z konsolą DOS'a oraz koniecznością ręcznej kompilacji, że nie wspomnę o konieczności edycji parametrów pliku sterującego kompilacją makefile czy też samego pliku *.c który zawierał kod ... To powodowało, że osoby niezbyt obeznane z językiem C czyli użytkownicy Bascoma czy też czystego asemblera, nie do końca i nie zawsze potrafili sobie poradzić z przygotowaniem i właściwą kompilacją wsadu dla swoich potrzeb. Koniec ;) od dzisiaj jest inaczej ... dokładnie omawiam nowe narzędzie w programie a także integrację z programem MkAvrCalculator. Na zakończenie, jeśli ktoś zechce posłuchać fajnej muzyki i wytrzyma do końca to zobaczy fragmenty z planu - podczas gdy przeprowadzałem kiedyś pierwsze swoje próby z technologią związaną z tzw "GREEN SCREEN" ... no ale to dla wytrwałych ;) to oczywiście już nie ma nic wspólnego z poradnikiem - ot taka ciekawostka.
sobota, 2 listopada 2013
RTC DS3231 - najdokładniejszy zegarek na świecie?
Witam,
Tym razem chciałbym przedstawić wam pewien drobny scalaczek, który mnie ostatnio zafascynował. Pewnie nie jest on pierwszym i ostatnim, który tego "dokonał", że się tak wyrażę ale pomimo to uznałem, że warto powiedzieć o nim kilka słów. Tym bardziej, że przy tej okazji rozprawimy się jednocześnie z kilkoma ważnymi zagadnieniami elektronicznymi a także napiszemy sobie bibliotekę do jego obsługi. Bardzo często zdarza się, że początkująca osoba w zakresie mikrokontrolerów gdy robi swój pierwszy zegarek, wybiera do tego celu pierwszy lepszy i dostępny układ RTC. Być może czasem przegląda fora internetowe w poszukiwaniu porad, ale tam też często nie znajduje satsyfakcjonujących odpowiedzi, które pozwoliłyby właściwie i świadomie wybrać taki układ. Zwykle opieramy się na opinii innej osoby, która gdzieś tam akurat powiedziała, że np "u mnie ten RTC działał bardzo dokładnie". Ja w tym poradniku, chciałbym natomiast omówić temat niejako od podstaw. Zwrócić twoją uwagę na pewne szczegóły jeśli chodzi o parametry nie tylko układów scalonych ale także rezonatorów kwarcowych wykorzystywanych do budowy układów RTC. Przy okazji wiedza ta przyda się także w zakresie mikrokontrolerów z którymi będziesz miał do czynienia. Ale nie uprzedzajmy faktów, polecam obejrzeć - hmm może nie krótki bo ponad godzinny poradnik, jednak mam nadzieję, że pozwoli on poznać temat na tyle dogłębnie aby od tej pory każdy mógł już sam w pełni świadomie dobierać sobie układy RTC do swoich zastosowań czy też rezonatory kwarcowe.
Subskrybuj:
Posty (Atom)











