Ads_700x200

środa, 20 listopada 2013

Tablica wskaźników we flash ( PROGMEM ) Atmel toolchain

Witam,

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. 

wtorek, 29 października 2013

ATB-USB-RS232 - w końcu JEST! ;)

Witam,

Tym razem chciałbym przedstawić wam najnowszy produkt z firmy Atnel. Powstawał dosyć długo i w bólach można powiedzieć. Niby prosta przejściówka USB/RS232 a jednak w trakcie prototypowania było sporo najrozmaitszych kłopotów ;) Na szczęście w końcu się udało i może ona ujrzeć światło dzienne. Dokładniejszy opis znajdziecie oczywiście na stronie ATNEL - LINK, tutaj jednak chciałbym przedstawić krótki filmik - poradnik pokazujący jej podstawowe możliwości. Te najbardziej podstawowe są oczywiście od razu wprost do wykorzystania. Mam tu na myśli takie funkcjonalności jak USB/RS232 .... ale uwaga w standardzie napięciowym RS232! co oznacza, że na wyjściu mamy napięcia jak w starych portach COM w komputerach od -12V do +12V. To nie wszystko, tym co najczęściej poszukują początkujący jak świętego grala niemalże, to funkcjonalność USB/RS232-TTL! Tyle że nie zawsze początkujący wiedzą nawet, że to właśnie tego poszukują, że to jest właśnie im potrzebne, dlatego często muszą się "poparzyć" potocznie mówiąc, poprzez kupowanie różnych dziwnych przejściówek USB/RS232, które później jak się okazują w ogóle nie chcą działać a to z mikrokontrolerem, a to z modułem Bluetooth ATB-BTM-222, a to jeszcze z czymś innym. Pominę na tym etapie inne możliwości bo o tym będzie w filmie poniżej. Dlatego zapraszam do jego obejrzenia:

czwartek, 17 października 2013

REWOLUCJA w MkAvrCalculatorze ;)

Witam,

Z uwagi na fakt iż niedługo w życie wejdą nowe przejściówki ATB-USB-RS232, które będą pełnić także rolę pełnoprawnych programatorów AVR co może spowodować iż niektórzy użytkownicy będą mieli podłączone do komputera dwa urządzenia np: przejściówkę oraz zestaw ATB, albo nawet trzy atnelańskie urządzenia czyli np: przejściówkę oraz dwa zestawy ATB pojawiłby się totalny mętlik w programie MkAvrCalculator w starszych wersjach od "build 59" w dół aby sprawnie obsłużyć takie konfiguracje. To pociągnęło za sobą konieczność totalnych zmian w programie pod tym względem. Oczywiście jest jeszcze kilka innych powodów takiej aktualizacji jaka będzie miała miejsce w wersji "build 60" ale o tym już dowiecie się wszystkiego w szczegółach z krótkiego bo tym razem tylko pół godzinnego filmiku. Zapraszam do obejrzenia ale także uwag szczególnie przy testowaniu najnowszej wersji programu gdy się ukaże. Ja starałem się wprawdzie sprawdzić jego działanie na takich systemach jak. Win XP, Win7, Win Vista oraz Win8 i wszystko wygląda że działa poprawnie, nie mniej jednak życie szybko to zweryfikuje, więc za wszystkie uwagi będę bardzo wdzięczny. Na zakończenie dodam, że w końcu udało mi się zrobić po prostu fajne i przydatne (kolejne mini narzędzie w MkAvrCalculator) czyli informację na bieżąco pod jakim numerkiem portu COM zgłasza nam się podpinana do USB przejściówka oparta o FT232 ;) i podobne scalaki. Mam nadzieję, że także wam przypadnie to do gustu - no ale czekam na opinie ;)

czwartek, 10 października 2013

Dzisiaj II urodziny FORUM ATNEL

Także i tą drogą chciałbym dać znać, że właśnie dzisiaj obchodzimy drugie urodziny naszego forum: www.forum.atnel.pl

Z tej okazji przygotowana jest także ciekawa promocja, która trwać będzie jeszcze dzisiaj przez cały dzień - zapraszam do linku poniżej ;)

środa, 2 października 2013

ATB-SHIELD-IO co można z nim zrobić ? ;)

Witam,

Niedawno pojawił w ofercie firmy Atnel nowy moduł przeznaczony do zestawów ATB o nazwie ATB-SHIELD-IO. Wspominałem już o nim na blogu przekazując niejako jego zapowiedź. Dzisiaj jednak chciałbym bliżej przedstawić w formie krótkiego poradnika wideo, co można z tym modułem robić ;) ... jak go wykorzystywać. Myślę, że kilka przykładów pokazanych tak na żywo, pozwoli każdemu ocenic czy ew docenić możliwości tego niewielkiego ale bardzo przydatnego modułu. Dlatego też w poradniku znajdziecie uzupełnienie ćwiczenia które pominąłem w poradniku na temat rejestrów przesuwnych: Rejestr przesuwny 74595 - podstawy. Wtedy nie miałem przylutowanych 8 goldpinów przy rejestrze przesuwnym i nie mogłem pokazać jak wykorzystać go do sterowania wyświetlaczem multipleksowanym LED, na bazie ćwiczenia z książki. Tym razem jest to ładnie zaprezentowane. Poza tym poruszam także tematykę podstawowego sterowania jasnością diod LED a w tym przypadku diody LED RGB, jaką posiadamy na omawianym module. Przy okazji poruszam tutaj temat korekcji GAMMA czyli widać przykład jak z niej korzystać w taki podstawowy najprostszy sposób. Jest to zatem uzupełnienie z kolei do tego poradnika: GAMMA correction - nowe narzędzie w MkAvrCalculator. Jako ostatni omawiam układ expandera I2C jakim jest PCF8574 oraz fajną mam nadzieję możliwość jego wykorzystania przy sterowaniu wyświetlaczy LCD. Tutaj również wspomagam się wprost kodem z drugiego oficjalnego wydania (w twardej oprawie) mojej pierwszej niebieskiej książki: "Mikrokontrolery AVR Język C - podstawy programowania". Myślę, że warto poświęcić około pół godzinki ... no może z "małym haczykiem" ;) ..... na obejrzenie materiału wideo, który prezentuję poniżej:

niedziela, 29 września 2013

GAMMA correction - nowe narzędzie w MkAvrCalculator

Witam,

Dzisiaj chciałbym przedstawić wam kolejne już nowe narzędzie w programie MkAvrCalculator. Tym razem zajmiemy się korekcją GAMMA. Co kryje się pod tym tajemniczym terminem. Pewnie każdy z was, kto zajmował się sterowaniem jasności diod LED za pomocą PWM zauważył, że zjawisko to jest bardzo nieliniowe, w związku z czym, próba rozjaśniania i ściemniania diody LED np w 256 krokach przy użyciu PWM'a o rozdzielczości 256, powoduje zwykle dosyć brzydkie zjawisko polegające na tym, że dioda przy niskich wartościach PWM bardzo szybko się rozjaśnia prawie do maksymalnej wartości (a przynajmniej nam tak się wydaje, tak postrzegają to nasze oczy). Po czym gdy zwiększamy PWM od wartości już ok 50 do 255 to w zasadzie nasze oko nie dostrzega zmian w zwiększającym się natężeniu światła. Wziąwszy do tego pod uwagę fakt, że różne diody LED (różne kolory) mają różne własne charakterystyki zależności prądu od napięcia (nieliniowe oczywiście) to dostajemy obraz, w którym ciężko jest niejednokrotnie uzyskać ciekawe i w pełni interesujące nas efekty świetlne, gdy budujemy własne urządzenie. Na początek zapraszam na krótki, tym razem naprawdę krótki film:

środa, 25 września 2013

Rejestr przesuwny 74595 - podstawy

Witam,

Oto króciutki, kolejny poradnik dotyczący tym razem rejestrów przesuwnych. Jest to oczywiście praktyczne uzupełnienie do książki "Mikrokontrolery AVR Język C - podstawy programowania". Tyle że tutaj w sposób taki troszkę obrazowy przedstawiam podstawy działania rejestrów, jak się do tego zabierać, jak można łączyć je kaskadowo po kilka sztuk a także jak to oprogramować w podstawowy sposób. Mam nadzieję, że ten poradnik wraz z wiedzą przekazaną we wspomnianej książce przybliży i rozświetli do końca wszystkim początkującym osobom te zagadnienia. Sądzę, że po zrozumieniu od podstaw zasad działania rejestrów przesuwnych, zrodzą się w waszych głowach setki jak nie tysiące ;) pomysłów na ich zastosowania. Wziąwszy oczywiście pod uwagę, że w dzisiejszych czasach mamy cały ogrom przeróżnych rejestrów tego typu, w tym także specjalizowanych np do obsługi diod LED ... a to już daje często ciekawe pole do popisu naszej wyobraźni ;) Zapraszam zatem na filmik a także do obejrzenia przykładowego schematu w eaglu oraz kodu programu omawianego w poradniku:

piątek, 20 września 2013

"Back in time" ...

Witam,

W związku z tym, że ostatnio przeszedłem wulkanizację opon mózgowych ;) dzięki zaleceniom naszego forumowego doktora "SunRivera" .... udało mi się znaleźć, przy pomocy oczywiście jednego z szanownych czytelników .... informację z przeszłości, z września 1988 roku. O matko! jak teraz widzę tę datę to wydaje mi się to tak odległe w czasie, prawie jak bitwa pod Grunwaldem ;) .... (no może troszkę przesadziłem bo ta bitwa to 1410r no ale ...) W każdym bądź razie, w owym czasie jako młokos zacząłem się interesować dosyć mocno programowaniem również w asemblerze procesorów Z80 oraz 8051. Akurat z tymi Z80 było mi o tyle po drodze, że siedziały sobie one w komputerkach ZX Spectrum. Wprawdzie początki to był Basic, ale szybko okazało się, że to garnitur troszkę za ciasny dla mnie i stąd próba wejścia w matrix czyli w asemblera okazała się bardzo pasjonującą przygodą. Niektóre z tych programów, czasem bardzo krótkich aczkolwiek przydatnych udało mi się opublikować na łamach ówczesnych pierwszych czasopism poruszających taką tematykę. Wprawdzie, przed wulkanizacją opon mózgowych, byłem święcie przekonany, że moje drobne publikacje ukazały się w czasopiśmie Bajtek, to jednak teraz okazało się, że na pewno było to czasopismo KOMPUTER. Dzięki uprzejmości jednego z czytelników, dostałem skany i przyznam, że aż troszkę mi się łezka w oku zakręciła jak zobaczyłem swój mini  "Back in time" ;) .... dobrze, że nie nastąpiło zakrzywienie czasoprzestrzeni - bo pewnie bym zniknął. Dobrze już nie marudzę, poniżej skany:

środa, 18 września 2013

7-segment display - generator - MkAvrCalculator

Witam,

To już kolejne narzędzie dodane do programu MkAvrCalculator. Przy okazji jakie wygodne. Wprawdzie w książce "Mikrokontrolery AVR Język C - podstawy programowania" opisuję metodę generowania sobie znaków w kodzie w języku C, to jednak niesie to za sobą i tak sporo pracy, klepania w klawiaturę itp itd. A po co się męczyć? pomyślałem sobie ;) .... i traaach ! ... przygotowałem małe narzędzie. Od teraz już mi się nie chce w kodzie źródłowym majstrować gdy mam coś wyświetlać na takich 7-segmentowych wyświetlaczach ;) . Odpalam MkAvrCalculator, wybieram z palety odpowiednie narzędzie i w zasadzie większość roboty ono samo za mnie robi. Program pozwala na definicję znaków przy założeniu, że cały port mikrokontrolera przeznaczamy na katody bądź anody wyświetlacza. Ewentualnie można pominąć kropkę jeśli ktoś nie używa. Co ciekawe, możemy sobie dowolnie podłączać piny w ramach portu, możemy też wybierać sobie aktywny stan czy to ma być 1 czy 0 w zależności od sprzętu użytego do sterowania wyświetlaczem. Narzędzie generuje nam od razu gotową tablicę jako kod źródłowy dla języka AVR GCC, ale nie stoi nic na przeszkodzie aby przerobić sobie wygenerowane kody pod dowolny język nawet Bascom ;)