PCINT Bascom AVR, jak je pogodzić?

Od pewnego czasu pojawiają się ulepszone wersje µC. Nowa bryza przyniosła też nowe funkcjonalności. Jedną z nich są asynchroniczne przerwania zewnętrzne pod nazwą PCINT. Fajna sprawa gdy µC nie posiada wielu wyprowadzeń z funkcjonalnością INT, ale …

Funkcjonalność PCINT posiada jedynie cechy asynchronicznego przerwania INT, znaczy to – działa tylko przy zmianie stanu z wysokiego na niski i odwrotnie. Zasadniczo w wielu przypadkach będzie to wystarczające a wręcz możliwość zastosowania takiej akcji zbawienna. I fajnie, ale … jak środowisko Bascom AVR wspiera nową funkcjonalność? Doszły jakieś nowe dyrektywy? coś się zmieniło w składni?

czytam dalej co kaktus napisał

CR2032 vs LIR2032 – Lithium, Li-ion, Coin Cell.

Wyglądają identycznie i numer w oznaczeniu jest ten sam … bateryjka litowa i akumulatorek Li-ion w postaci ogniw guzikowych .

Lithium, Li-ion, Coin Cell

CR2032 vs LIR2032

Od teraz niech nikt nie myśli, że ogniwo CR2032 to akumulatorek, albo że te dwa ogniwa należy/można stosować zamiennie. Dlaczego? Zaraz się przekonamy … CR2032 vs LIR2032.

czytam dalej co kaktus napisał

BMP180 Bascom i pomiar wysokości … taaak to nie pomyłka.

Hehe ktoś powie kaktus zwariował przecież tym maleństwem dokonuje się pomiaru ciśnienia atmosferycznego … może i zwariował ale jednak jeszcze nie do końca. W tym wypadku dobrze wie co mówi.
Znając ciśnienie jakie panuje na poziomie morza p0 (np.: 1013.25 hPa) oraz wartość pomiaru p, możemy określić aktualną wysokość, wyliczając ją z  wzoru przedstawionego niżej.BMP180 formuła altitude

Istnieje ścisła zależność pomiędzy wysokością, a ciśnieniem. Została zobrazowana na poniższym wykresie, z którego wynika, że zmiana ciśnienia na Δp = 1 hPa odpowiada zmianie wysokości na Δh = 8,43 m. Natomiast zmiana wysokości o Δh = 10 m odpowiada zmianie ciśnienia o Δp = 1,2hPa. czytam dalej co kaktus napisał

WTV020SD-20SS prosty sposób na obszerne komunikaty i dźwięki

Voice module, audio player, SD card voice module WTV020SD-20SS

WTV020-SD-miniTen niewielkich rozmiarów moduł może pełnić rolę komunikatora dźwiękowego w układzie zarządzanym przez µC, bądź spełniać funkcje autonomicznego odtwarzacza. Zawiera specjalizowany układ do odtwarzania plików dźwiękowych z lokalnej karty SD, z prostym jednokanałowym torem audio umożliwiającym bezpośrednie podłączenia głośnika małej mocy.

czytam dalej co kaktus napisał

Made by Merkar

miedziane nity

Każdy projektowany obwód elektroniczny w fazie finalnej kończy jako realizacja płytki drukowanej. Można ją opracować samodzielnie, i wykonać też. Wszystko jest pięknie i świetnie gdy rozmiary padów szerokości ścieżek i raster wyprowadzeń „łagodnie” nam to umożliwia. Dodatkową barierą mogą być opracowania w postaci obwodów dwuwarstwowych gdzie zapewnić trzeba zapewnić połączenie warstwy górnej z dolną. Oraz w fazie wytwarzania zsynchronizować jedną z drugą. Na dziś dzień (2015-01-17) rozwój technologii i obfitość wymyślnych półproduktów z powodzeniem umożliwia wytworzenie w domowych warunkach nawet skomplikowanych obwodów dwuwarstwowych. Wszystko niestety okupione będzie żmudną i długotrwałą pracą. Zagorzali czytelnicy tego bloga nie raz mogli zaobserwować moje wzmagania gdzie z powodzeniem „produkowałem” płytki do układów scalonych o rastrze 0,5mm i w dodatku układ lutowałem starą poczciwą Lutolą grotową :mrgreen: Płytek dwustronnych nie lubię robić choć zdarzało się. Najczęściej w fazie projektu tak kombinuję/optymalizuję mozaikę ścieżek by jeśli to niezbędne druga warstwa była minimalna, i realizuję ją w postaci izolowanego cienkiego drutu nawojowego. Można też wykonać specjalne dodatkowe pady, a przelotki z zalutowanej po dwóch stronach srebrzanki bądź innego drutu. I tu muszę się pochwalić gdyż w maju 2013 udało mi się nabyć miedziane nity przelotowe.

czytam dalej co kaktus napisał

Gdy pinów brakuje, ekspander IO sytuację ratuje

PC8575CTS zaadaptowany do testówZapewne już nie raz każdy budujący układ oparty o µC stanął w obliczu faktu, gdy zaczęło brakować pinów i portów komunikacyjnych do monitorowania „otoczenia” lub sterowania peryferiami. Pierwszy raz miałem takową potrzebę gdy zechciałem zbudować układ prezentujący informacje na siedmiosegmentowych wyświetlaczach LED. Pole odczytowe zbudowane było z 4 takich wyświetlaczy ale dwukolorowych 😉 Jak każdy wtedy szybko policzy mamy 8 pinów na poszczególne segmenty i dwa zasilające, w moim przypadku Anody, dla każdej pozycji cyfry. Mnogość połączeń uprościłem stosując obsługę multipleksową, niemniej i tak zostało jeszcze sporo wyprowadzeń do obsługi. Wtedy to zdecydowałem się na zastosowanie jednoportowego ekspandera IO o oznaczeniu PCF8574P oraz dekodera z kodu BCD na 7-seg. Będąc zaciekawionym takich rozwiązań zakupiłem kiedyś też układ PC8575CTS w małej obudowie SSOP24 (dwa pełne porty I/O).

 

czytam dalej co kaktus napisał

DS18B20 Bascom, przedstawiam mój algorytm

Przez te „wszystkie lata” i kilka projektów, z którymi miałem do czynienia, zarówno w Bascom AVR jak i Bascom 8051 udało mi się utworzyć bardzo optymalny kod dotyczący obsługi tego sensora temperatury i niezbędnych obliczeń. Mam na myśli kod najbardziej „oszczędzający” zasoby µC jaki udało mi się do tego celu stworzyć. Tak więc ten temat będzie o DS18B20 Bascom. Zawierać będzie przykładowe kody i procedury które popełniłem do obsługi tego termometru cyfrowego – oraz podobnych być może po kosmetycznych zmianach. czytam dalej co kaktus napisał

LCD COB i kaktusa „zabawy”

moduł LCM1602 IIC

moduł LCM1602 IIC

Właściwie tytuł trochę sprowadza na manowce bo co prawda będę opowiadał o wyświetlaczach czy wyświetlaczu LCD, lecz temat będzie trochę szerszy i dotyczyć będzie LCD I²C. Precyzując, przestawię sposób co prawda nie nowy, ale bardzo ciekawy i praktyczny, w jaki sterować zwykłym wyświetlaczem znakowym LCD, skonstruowanym na sterowniku HD44780 przez magistralę TWI (I²C) w Bascom AVR.

czytam dalej co kaktus napisał

„podstawka uniwersalna” do modułów na przykładzie CL6017

Ponieważ moim wzmaganiom z odpaleniem modułu tunera TEA5676 jak dotąd nie ma końca, postanowiłem ułatwić sobie życie. A to z tego tytułu, że testuję różne rozwiązania sprzętowe tych konstrukcji. Ponieważ moduł ma delikatne wyprowadzenia na krawędziach powierzchni PCB od czasu do czasu przytrafia się, iż malutki pad zostanie zerwany przez przylutowany przewód ….

moduł z tunerem CL6017kilka wersji modułu cyfrowego tunera czytam dalej co kaktus napisał

Framesize – obliczamy zapotrzebowanie na SRAM dla programu.

Dosłownie temat ten dotyczy dyrektyw:
$framesize = z
$swstack = y
$hwstack = x
i omówienia podstawowych zasad w obliczaniu na zapotrzebowanie pamięci SRAM w MCU dla programu i zmiennych.

Dyrektywy dyrektywami jednymi z licznych, ale akurat te chyba najistotniejszymi dla programisty. Dotyczą stosów sprzętowego WHSTACK, programowego SWSTACK i bufora zmiennych FRAMESIZE. Złe gospodarowanie tymi wartościami spowoduje niemożliwość kompilacji bądź nieprawidłowe funkcjonowanie samego urządzenia finalnego, lub błędy występującymi w określonych sytuacjach, które mogą być uciążliwe do zdiagnozowania. Co z kolei skutkować może dalszymi głębszymi następstwami … czytam dalej co kaktus napisał