wtorek, 8 listopada 2016

Moduł wzmacniacza mocy audio PAM8403

Moduł wzmacniacza audio oparty na układzie PAM8403 to ciekawa i warta wzięcia pod uwagę alternatywa dla takich układów jak TDA2030, gdy wystarczy nam moc kilku watów. Zalety modułu to niewielka cena (kilka złotych), względnie małe rozmiary oraz brak konieczności stosowania radiatora. Możliwe jest to, ponieważ omawiany układ jest cyfrowym wzmacniaczem stereo klasy D o wysokiej sprawności dochodzącej do 90%. W przypadku TDA2030 (klasa AB) sprawność dochodzi do 60%.

Moduły z PAM8403

wtorek, 16 sierpnia 2016

Cyfrowa regulacja (kontroler) głośności - PT2257

Układ scalony PT2257 to elektroniczny kontroler głośności (stereo), sterowany poprzez magistralę I2C. Można też na niego patrzeć, jako na cyfrowy potencjometr. Taka funkcjonalność może się przydać w sytuacji, gdy zależy nam na cyfrowej regulacji głośności bez stosowania tradycyjnego analogowego potencjometru. Koszt takiego kontrolera to niecałe 3 zł. Kupiłem go z myślą o regulacji głośności na wyjściu modułu radiowego TEA5767, który takiej regulacji nie posiada (ma jedynie możliwość wyciszenia wyjściowego sygnału audio).

PT2257 w obudowie DIP-8

piątek, 5 sierpnia 2016

Pilot IR (NEC) z odbiornikiem HX1838. Obsługa w Arduino.

Pilot IR wraz z odbiornikiem HX1838, działający w oparciu o protokół NEC umożliwia tanią, wygodną i bezprzewodową możliwość sterowania urządzeniami. Dodatkowo jest prosty w implementacji w kodzie, gdyż mamy do dyspozycji dostępne biblioteki napisane pod Arduino, takie jak IRemote, czy IRLib opatrzone wieloma, przystępnymi przykładami użycia.


Odbiornik i piloty - szary (po lewej) i biały (po prawej)

wtorek, 26 lipca 2016

Programowanie Arduino Mini Pro z użyciem konwertera USB-UART

Arduino Mini Pro można zaprogramować na kilka sposobów. Niestety najprostszy sposób jakim jest podłączenie z komputerem przez kabel USB odpada z racji na brak złącza USB. Pozostają trochę bardziej kłopotliwe rozwiązania, a  jednym z nich jest użycie konwertera USB-UART i o nim będzie tu mowa.


Konwerter FT232 USB UART

piątek, 4 marca 2016

Moduł I2C 1602 dla wyświetlaczy LCD ze sterownikiem HD4478

Moduł o nazwie I2C LCD1602 jest alternatywą do innego opisywanego przeze mnie modułu sterowania LCD przy użyciu rejestru 74HC164. Oba obsługują wyświetlacze LCD ze sterownikiem HD4478. Natomiast zaletą LCD1602 jest ograniczenie jeszcze bardziej użytych pinów mikrokontrolera, bo do dwóch obsługujących magistralę I2C. Na plus też należy zaliczyć gotowy do użycia układ. Moduł z 74HC164 jest wprawdzie znacznie tańszy, ale z kolei wymaga własnego zrobienia płytki i montażu elementów.
Opisywany moduł LCD1602

poniedziałek, 22 lutego 2016

Ustalanie adresów modułów I2C (TWI)

Ustalenie adresu modułu (układu) komunikującego się z  mikrokontrolerem po magistrali I2C (TWI według Atmel'owskiego nazewnictwa) bywa czasem problematyczne. Przy tworzeniu własnego modułu, na przykład z przetwornikiem DAC MCP4725 w moim przypadku, sprawa była prosta, Miałem tu pełną kontrolę nad ustaleniem adresu modułu zgodnie z regułami opisanymi w dokumentacji. Z drugiej strony, może się przytrafić  moduł, taki jak LM1602  służący do komunikacji mikrokontrolera z wyświetlaczem LCD (ze sterownikiem HD44780). W jego opisie na stronie aukcji nie było mowy o żadnym adresie i jedynie widoczne na pierwszy rzut oka rozmieszczone na płytce trzy zworki A[2...0] sugerujące coś wspólnego z ustalaniem adresu modułu. Teraz już wiem, że to duża podpowiedź co do adresu (zapoznawszy się uprzednio z dokumentacją użytego tam PCF8574). Pierwszy raz uruchamiając układ, nie byłem jednak taki mądry :)

czwartek, 7 stycznia 2016

AVR & Eclipse - C, Arduino

Moja przygoda z C pisanym dla AVR zaczęła się od ascetycznego Programmers Notepad ( w pakiecie WinAVR), potem epizodycznie używałem Atmel Studio, aby ostatecznie przejść do Eclipse, który wówczas posługiwałem się też zawodowo. Nawiasem mówiąc, od kilku lat korzystam ze znacznie lepszego, jednak płatnego PHPStorma. Wracając jednak do tematu, korzystając z Eclipse mamy do dyspozycji pluginy wspierające pracę zarówno jeśli chcemy pisać kod w C, jak też pisać kod pod Arduino.