Archiwum kategorii: Podstawy

Zegar czasu rzeczywistego: podłączenie PCF8563 do Arduino

Jeżeli kiedykolwiek postanowicie zbudować zegarek, prędzej czy później będziecie potrzebowali układ  odniesienia czasu. Każdy procesor zlicza czas od swojego uruchomienia. Ale po resecie, zaniku napięcia zasilającego lub przepełnieniu odpowiedniego rejestru – zaczyna od zera. W zupełności wystarcza to dla funkcji opóźnienia i wielu innych, które korzystają z czasu – jak PWM czy watchdog. Słabo nadaje się jednak na zegarek.

Dlatego stosuje się układy odniesienia czasu. Są to dodatkowe czipy,  najczęściej niezależnie zasilane (przez baterię lub kondensator). Ich rolą jest zapamiętywanie godziny i daty – i odliczanie jej nawet, gdy cały komputer jest wyłączony. Zawartość takich czipów może być ustawiona przez użytkownika – albo np. synchronizowana z usługą czasu sieciowego NTP.

Podobnych układów jest na rynku kilka np. DS1307, MCP79400. Tutaj zajmę się zegarem firmy NXP: PCF8563.

Czytaj dalej Zegar czasu rzeczywistego: podłączenie PCF8563 do Arduino

Arduino: przyciski podłączane do wejść analogowych

Jeden z projektów wymagał podłączenia do Arduino zestawu 4 przycisków. Chodziło  o zwykłe tact switche. Problem polegał jednak na tym, że do dyspozycji zostały mi dosłownie pojedyncze piny – i to te analogowe.

keys_07Po krótkim poszukiwaniu w sieci znalazłem sposób na podłączenie wielu przycisków do pojedynczego wejścia analogowego (A0…A7).

Czytaj dalej Arduino: przyciski podłączane do wejść analogowych

SUPERCAPs: ładowanie

Superkondensatory to coś więcej niż tylko kondensatory o dużych pojemnościach. Działają na tej samej zasadzie gromadzenia ładunku w polu elektrycznym, jednak do ich realizacji wykorzystano trochę inne technologie. Metalowe elektrody pokryte są aktywnym węglem i zanurzone w elektrolicie. Dzięki swojej porowatości mogą gromadzić znacznie więcej ładunku. W odróżnieniu do konwencjonalnych kondensatorów, ładunki gromadzą się nie tylko samej elektrodzie – ale i na jej węglowym pokryciu. Dlatego często nazywane są kondensatorami o podwójnej warstwie elektrycznej (double-layer capacitor, EDLC).

Superkondensatory 100F/2.7V
Superkondensatory 100F/2.7V

Czytaj dalej SUPERCAPs: ładowanie

Nucleo STM32F411: mały „skok w bok” (pierwsze wrażenia)

Nie tylko Arduino i ESP8266: świat mikrokontrolerów jest znacznie bardziej zróżnicowany. Zafascynowany kursem STM32 opublikowanym na forbot.pl, postanowiłem spróbować czegoś innego.

W tej chwili na forbot.pl rozpoczyna się druga część kursu. Niestety nie na Nucleo, ale płytce Discovery. Płytka Discovery to taka bardziej edukacyjna wersja Nucleo. Zawiera dodatkowe peryferia, jak np. akcelerometr czy kompas (których nie ma na płytce Nucleo).

Kilka szybkich klików i już za chwilę nowiutkie Nucleo STM32F411 leżało na biurku – za wcale nie wygórowanę ceną ok. 60 złotych. Wygląda… inaczej niż Arduino… trochę:)

nucleo_00Poniżej znajdziecie wrażenia z pierwszego kontaktu z tą płytką. Serio: pierwszego, bo z Nucleo nigdy wcześniej nic nie robiłem:)


Sprzęt do testów dostarczył: electropark.pl
electropark_logo


Czytaj dalej Nucleo STM32F411: mały „skok w bok” (pierwsze wrażenia)

L293: sterowanie silniczkami DC z Arduino

Podłączenie silników DC (stało-prądowych) do mikrokontrolera wymaga kilku dodatkowych zabiegów. Przede wszystkim musicie być świadomi tego, że silniki pobierają prąd. Oczywiste? Jasne, przecież każde urządzenie elektroniczne/elektryczne go pobiera. Problem w tym, że silniki pobierają go zazwyczaj DUŻO. Znacznie więcej, niż Arduino może zapewnić ze zwykłego pinu logicznego (D0..D12). Najczęściej nie ma więc możliwości, żeby sterować takim silniczkiem bezpośrednio z pinów Arduino. Niektóre bardzo małe (lub słabe) silniczki pobierają na tyle mało prądu, że można się o to pokusić. Ale w żadnym wypadku nie jest to zalecane – i są to naprawdę wyjątki.
W związku z tym, oprócz Arduino i silniczków – będziecie potrzebowali kilka dodatkowych elementów. Najprostszym sposobem na sterowanie silniczkami DC jest układ L293.

L293
L293

Czytaj dalej L293: sterowanie silniczkami DC z Arduino