Pokazywanie postów oznaczonych etykietą I2C. Pokaż wszystkie posty
Pokazywanie postów oznaczonych etykietą I2C. Pokaż wszystkie posty

poniedziałek, 29 stycznia 2018

BME280 Czujnik wilgotności, ciśnienia i temperatury

BME280 to chyba jedyny cyfrowy czujnik posiadający możliwość pomiaru aż trzech parametrów powietrza: wilgotności, ciśnienia atmosferycznego oraz temperatury. Jak inne moje moduły, tak i ten, ma racjonalną cenę, zaczynającą się od 2,35 € na AliExpress. Można tam znaleźć także moduły z czujnikiem BME680, mierzącym dodatkowo zawartość rozmaitych gazów w powietrzu, a ogólnie jakość powietrza. Cena jednak w jego przypadku jest o wiele większa i  zaczyna się od 15 €.

Moduł BME280

piątek, 15 grudnia 2017

BMP180 Czujnik ciśnienia i temperatury

BMP180 to przystępny cenowo (od 0,68€) czujnik ciśnienia atmosferycznego oraz temperatury. produkcji Bosch'a Dokładność pomiaru temperatury nie jest imponująca (±2.0°C), więc raczej ta funkcja może posłużyć do pilnowania roboczego zakresu temperatur czujnika ciśnienia. Używana jest też do kompensowania wpływu temperatury na ciśnienie (1). Dodatkowo w dokumentacji (3) można znaleźć wzór na wyznaczenie aktualnej wysokości czujnika na podstawie zmierzonej wartości ciśnienia. Czujnik można wykorzystać np. do budowy własnej stacji pogodowej i monitoringu zmian ciśnienia. Idąc dalej, obserwując zmiany temperatury i ciśnienia, można prognozować najbliższe zmiany pogody.

Wygląd modułu

piątek, 13 października 2017

Moduł sterownika PWM PCA9685

Opisywany moduł zawiera 16 kanałowy 12 bitowy sterownik PWM oparty na układzie PCA9685 sterowany po magistrali I2C. Może przydać się kiedy zabraknie pinów w Arduino, a tych w przypadku UNO od PWM jest sześć. Zajmując tylko dwa piny (do sterowania magistralą I2C) dostajemy kolejne 16. Moduł z definicji przeznaczony jest do sterowania diodami LED, ale może posłużyć też do sterowania silnikami (poprzez mostek H), czy serwami.


Sterownik PWM PCA9685

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, 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 :)