Archiwa autora: netmaniac

Zegar z Arduino

Cześć! Skoro czytasz ten artykuł to prawdopodobnie właśnie zaczynasz swoją przygodę z Arduino oraz Starter-Kitem Nettigo! Przygotowaliśmy dla Ciebie serię artykułów przedstawiających ciekawe projekty, które można zbudować wykorzystując to, co znajdziesz w przygotowanym przez nas zestawie startowym. Pierwszym projektem, który chcemy Ci zaprezentować jest cyfrowy zegar z wyświetlaczem, który można złożyć używając tylko 4 przewodów podłączonych do Arduino. Zapraszamy do lektury. :)

Lista potrzebnych części

Jeśli jesteś posiadaczem Starter Kitu oraz płytki Arduino UNO to masz wszystko co potrzebne. Cały SK nie jest potrzebny w tym projekcie, użyjemy tych elementów:

Użyte elementy

Schemat podłączenia

Pierwszym krokiem, który musisz uczynić jest podłączenie wszystkich urządzeń według schematu przedstawionego poniżej. Prawda, że proste? Użyliśmy tak mało przewodów dzięki zastosowaniu magistrali I2C, o której powiemy kilka słów niżej. :)

Schemat połączeń Czytaj dalej

Pogodełko – IoT w pogodzie – część 1

Szukaliśmy w Nettigo pomysłu na projekt, który będzie kompletnym, niedrogim a jednocześnie interesującym wprowadzeniem w elektronikę i świat IoT. Ma dotrzeć do ludzi, którzy nie mają żadnego doświadczenia z programowaniem i elektroniką, a bark im determinacji by samemu zgłębiać te zagadnienia. Idealnie by projekt dawał szybko radość ze zbudowania czegoś samemu a jednocześnie nie ograniczał możliwości poznawczych. Po złożeniu projektu ma on działać i pozwalać sie w następnych krokach modyfikować. W ten sposób pozwoli zaznajomić się z zagadnieniami programowania, IoT i elektroniki. Wpadliśmy na pomysł, który po zbudowaniu prototypu otrzymał nazwę Pogodełko. Dlaczego? Wkrótce się przekonacie.

Czytaj dalej

Prosty czujnik cofania – Arduino i HC-SR04

Dziś przedstawiam prosty projekt Arduino, który uratuje Twój samochód. Wykonanie go zajmie Ci dosłownie chwilę, a przy okazji zbudujesz coś pożytecznego, funkcjonalnego i mam nadzieję sporo się też nauczysz. Zatem do dzieła!

Historia jakich wiele. Ostatnio parkując samochód w swoim dość małym garażu uważnie sprawdzając w lusterkach, czy zaraz nie wyjadę przez tylną ścianę wpadłem na pomysł jak sobie taki proces parkowania znacznie ułatwić. Można zbudować układ oparty o Arduino, który graficznie jak i dźwiękowo zasygnalizuje mi jak blisko ściany jest samochód oraz będę mógł go sobie dowolnie skalibrować. Z pomocą przyszedł mi nowy Starter Kit Nettigo, w którym znajdziemy części niezbędne do wykonania tego prostego projektu.

Opis projektu

Zbudujemy urządzenie mierzące odległość, korzystając z ultradźwiękowego czujnika HC-SR04. Wyobraźmy sobie, że zamontujemy układ na ścianie, linijka LED będzie sygnalizować odległość a buzzer dodatkowo zapewni sygnał dźwiękowy. Im samochód bliżej końcowej ściany, tym więcej diod będzie się świecić i będzie ulegał zmianie ich kolor.

Lista potrzebnych części

Oczywiście przydatne będą też płytka stykowa i przewody montażowe. Jak już wspomniałem, wszystkie elementy (oprócz samego Arduino) wchodzą w skład nowego Nettigo Starter Kit dla Arduino.

Schemat podłączenia

Całość możemy w prosty sposób zmontować na płytce stykowej w sposób przedstawiony na poniższym schemacie:

Schemat wskaźnika odległości

Schemat naszego układu

Realizacja układu miernika odległości na Arduino, HC-SR04

Szczegółowy wygląd układu zmontowanego wg poprzedniego schematu

Czytaj dalej

Mały robot sterowany przez Bluetooth – micro:bit w akcji

Od pewnego czasu bardzo mi się podoba Micro:Bit. Od momentu, kiedy mogłem samemu coś na nim zrobić bardzo polubiłem tą platformę. Jeśli nie wiesz zupełnie o co chodzi to może zobacz to krótkie wideo, które nagrałem:

Płytka Micro:Bit oferuje dwa podstawowe sposoby programowania – Python oraz składanie programu w sposób graficzny z dostępnych komponentów (kto widział już Scratcha ten dokładnie wie o co chodzi).

Zajmiemy się dziś tym drugim, bo wydaje się to doskonałym rozwiązaniem, gdy chcesz przedstawić Micro:Bita młodszym użytkownikom. Jednocześnie system ten jest łatwy i zrozumiały jak i dopracowany. Korzystając z przeglądarki składamy elementy blokowe a gdy program jest gotowy, to ściągamy skompilowany plik .hex. Wystarczy teraz podłączyć Micro:Bit do komputera i wgrać plik hex na niego (tak jak się wgrywa pliki na pendrive), to cała filozofia.

Dobra, zrobimy robota, którego można sterować przez Bluetooth. Będzie to wyglądało mniej więcej tak:

 

Dobra, co potrzebujemy? Micro:bit, sterownik silników moto:bit i jakaś platforma robota, tutaj jest to Magician Chassis ale może to być dowolna, dwusilnikowa platforma. Do sterowania potrzebny jest telefon z Bluetooth 4.0 pod kontrolą Androida.

Robocik po zmontowaniu

Gotowy program jest do zobaczenia tutaj: https://makecode.microbit.org/_arAAUz7gMi1b Tam możecie użyć opcji „Download” by ściągnąć plik .hex.

Program dla micro:bit

Jak wygląda program? Ano tak: Czytaj dalej

Wyświetlacze 1.4 i 1.8 cala z Arduino – sterownik ILI9163

Dodaliśmy na Nettigo dwa nowe wyświetlacze LCD. Oparte o kontroler ILI9163C posiadają efektywną rozdzielczość 128×128 (1.44 cala przekątnej) oraz 128×160 (1.8 cala przekątnej). W sieci funkcjonuje biblioteka do nich (dostępna nawet przez menedżer bibliotek w Arduino IDE) jednak nie do końca dla nas jest OK. Wyświetlacze w naszej ofercie mają nieco inne parametry i nie pracował poprawnie z tą biblioteką.

Dlatego na szybko sklonowaliśmy bibliotekę na Githubie i dokonaliśmy minimalnych poprawek by wyświetlacze można obsłużyć.

Podłączenie ich jest bardzo proste, korzystają z SPI.

Połączenie wyświetlacz <-> Arduino

  • SCK – D13 (SCK)
  • SDA – D11 (MOSI)
  • A0 – D9 (można zmienić)
  • RESET – RESET
  • CS – D10 (można zmienić)
  • GND – GND
  • VCC – 5V
  • LED – 3.3V

Zasadniczo wyświetlacz razem działa na logice 3.3V. Moduły mają wbudowane stabilizatory napięcia, więc można zasilić bez problemu 5V. Podświetlenie LED ma wbudowany rezystor i niby działa na 5V bez kłopotów, ale sugeruję jednak używanie 3.3V do zasilania LED. Przy zasilaniu LED 3.3V podświetlenie wyświetlacza 1.44″ bierze około 20 mA. Zmiana napięcia LED na 5V powoduje skok prądu do 55 mA. Jasność świecenia prawie się nie zmienia, co sugeruje że już przy napięciu 3.3V diody podświetlenia pracują w dobrym zakresie charakterystyki. Zwiększenie prądu spowoduje tylko skrócenie czasu życia diod. Dlatego zasilajmy LED 5V.

Co do logiki… Nota katalogowa ILI9163 mówi, że napięcie na pinach SPI w takim konfigu nie powinno przekroczyć 3.6V. Jednak u mnie na biurku testowe egzemplarze działają w porządku. Jednak YMMV :) czyli nie daję żadnej gwarancji a wręcz sugeruję jednak użycie konwertera poziomów logicznych. Tym bardziej, że na PCB nie widać rezystorów które mogłyby działać jako dzielnik napięcia/konwerter.

Czytaj dalej

DAC w Arduino czyli Covox na ratunek

Wiele miejsca w różnych tutorialach poświęca się tematowi konwersji sygnałów analogowych na cyfrowe. Mówiąc inaczej  – o mierzeniu napięcia. Tym razem pomówimy o procesie odwrotnym, czyli zamianie wartości cyfrowej na analogową (napięcie).

Jak mierzeniem napięcia zajmują się przetworniki analogowo-cyfrowe (ADC – Analog Digital Converter), to w drugą stronę taki przetwornik nazywamy cyfrowo-analogowym (DAC – Digital Analog Converter). ADC znajdziesz w każdym praktycznie mikrokontrolerze. DAC już jest czymś rzadszym (ale np Teensy 3.2 ma taki jeden 12-sto bitowy).

Po co może być potrzebny DAC? Najczęściej gdy mowa jest o dźwięku. Jeśli obracamy się w kontekście Arduino, to ma ono przecież funkcje tone()  i można znaleźć wiele przykładów jak zagrać melodyjkę na buzzerze. Tak, tyle że tone generuje sygnał 0/1 z odpowiednią częstotliwością i buzzer  tak pobudzony wydaje dźwięki. Ale jeżeli zapragniemy sygnału o większych subtelnościach niż 0/5V to musimy zapomnieć o tej funkcji z Arduino.

Od razu powiem, że nie próbujemy tutaj stworzyć audiofilskiego urządzenia. Z wielu powodów sygnał będzie daleki od ideału, ale i tak dużo lepiej niż z jednym pinem i tone().

Czytaj dalej

NodeMCU i SDS011 jako badacz jakości powietrza

SDS011 to dobry czujnik pyłów zawieszonych, podaje dane dla PM2.5 i PM10. Ostatnio wśród nas wzrosła świadomość zanieczyszczeń pyłami, więc pojawiło się trochę zapytań jak korzystać z tego czujnika. Większość przykładów jakie można znaleźć jednak wykorzystują Raspberry Pi. Koszt Raspberry to co najmniej drugie tyle co sam sensor, tymczasem w wielu przypadkach zależy nam na pomiarze i przekazaniu danych do chmury. W takim przypadku nie potrzebujemy całego Raspberry, to co ma od zaoferowania nodeMCU w zupełności /wystarczy.

NodeMCU, SDS011 – prosta stacja pomiaru jakości powietrza

Dlatego tym razem pokaże Wam jak zbudować taki sensor w oparciu o te dwa elementy – nodeMCU i SDS011. Planuję w przyszłości projekt poprawić, bo ma teraz kilka wad. Podstawowa kwestia to jest wilgotność – czujnik przy wilgotności ponad 70% przekłamuje wyniki, dlatego by w dokonywać wiarygodnych pomiarów, nasz układ potrzebuje elementu ogrzewającego napływające powietrze. W tej wersji zupełnie to pomijamy, jedyne co potrzebujemy to wiedza jaka jest wilgotność, by móc odrzucić pomiary przy wilgotności przekraczającej 70%. Ale z pominięciem tego wystarczy powiesić na uchylonym oknie by mieć z grubsza świadomość tego co się dzieje…

Czytaj dalej

Poprawianie dobrego, czyli LCD Shield i Nettigo Keypad

Odświeżałem ostatnio bibliotekę do Keypada, tak by pracowała łatwiej z LCD Shieldem lub innymi niestandardowymi klawiaturami opartymi o dzielnik napięcia. O jakie klawiaturki chodzi?

Klawiatura taka, to szereg rezystorów, każdy kolejny zwarty przez przycisk do masy. Jeśli odczytamy napięcie między rezystorem R1 a R2, to będzie się zmieniało w zależności od tego który przycisk jest załączony. Górny rezystor zostaje cały czas włączony, a liczba dolnych się zmienia. W szczególności gdy zewrzemy pierwszy przycisk (PRAWO), to będzie tam napięcie 0 -bo przycisk zewrze wszystkie rezystory R2-R5 do masy. Gdy wciśniemy drugi przycisk napięcie będzie zależne od dzielnika R1/R2, rezystory R3-R5 będą zwarte. Gdy wciśniemy DÓŁ napięcie zależy od wartości R1/(R2+R3), R4 i R5 – zwarte. Co nam z tego?

Czytaj dalej

Wyświetlacz z SSD1306 podłączony do Arduino

Gdy przychodzi do wyboru wyświetlacza dla Arduino opcji jest sporo. Dziś zajmiemy się niewielkim (0.96 cala) wyświetlaczem o rozdzielczości 128×64. Ma on jasny i wyraźny obraz. Ten egzemplarz akurat ma dziwną konfigurację podłączenia, ale o tym zaraz. Najpierw – jest on monochromatyczny ale jednak dwukolorowy :)

Jak to możliwe? Ano pierwsze 16 linii ma piksele żółte, a reszta niebieskie.

To zdjęcie chyba najlepiej oddaje to, o co chodzi z tym żółtym/niebieskim.

Czytaj dalej