- pokazywanie kierunku za pomocą dziewięciu diod LED ułożonych w strzałkę,
- możliwość załączenia jednorazowego lub ciągłego,
- czas trwania jednej sekwencji 700 ms,
- pobór prądu około 0,4 μA w stanie spoczynku i średnio 50 mA podczas wyświetlania,
- zasilanie napięciem stałym 3 V,
- wbudowane gniazdo baterii CR2032.
Przepraszam, którędy na wystawę? Jak mogę trafić do bufetu? Halo, nie widział pan może szatni? Wiele różnych pytań, a wszystkie mają ten sam mianownik – znalezienie kierunku, w którym człowiek powinien podążać, aby osiągnąć zamierzony cel. Można wskazać go za pomocą porozklejanych kartek lub bardziej elegancko, na przykład ozdobnymi tabliczkami. A gdyby tak te kierunkowskazy mogły się uruchamiać na życzenie, po wciśnięciu przycisku?
Ten układ właśnie do tego służy: pokazuje animowaną strzałkę jednorazowo lub przez dłuższy czas, zależnie od wybranego wejścia. A po całej akcji usypia, dzięki czemu pobiera znikomo mały prąd. Można go zabudować w interaktywnej tablicy – bez doprowadzania do niej zasilania – ponieważ nawet niewielka bateria jest w stanie zapewnić jego wielokrotne uruchamianie. Można również podłączyć wydajniejsze źródło zasilania do specjalnych zacisków.
Budowa
Schemat ideowy omawianego układu znajduje się na rysunku 1. Głównym podzespołem zawiadującym pracą urządzenia jest mikrokontroler typu ATtiny24A-PU z 8-bitowym rdzeniem AVR. Ma on wystarczającą liczbę konfigurowalnych wyprowadzeń (więc nie zachodzi potrzeba stosowania dodatkowych układów pośredniczących). Przez większość czasu znajduje się w stanie uśpienia, z którego wybudza go przerwanie od zmiany stanu na wyprowadzeniach PB0 lub PB1. Nie realizuje zadań krytycznych czasowo, wobec czego do stabilizacji częstotliwości zegara w zupełności wystarczy wbudowany oscylator RC.
Rezystor R10 podciąga wejście RESET do dodatniego potencjału zasilania, a to z kolei zmniejsza ryzyko samoczynnego zerowania się układu, spowodowanego ładunkami elektrostatycznymi gromadzącymi się na tej linii.
Wyświetlana strzałka składa się z dziewięciu diod LED, zaś prąd płynący przez każdą z nich jest ograniczany przez indywidualny rezystor do wartości około 10 mA. Układ można pobudzić do pracy na dwa sposoby, opisane szczegółowo w dalszej części artykułu. Dzieje się to poprzez zwarcie styków przycisku S1 lub S2 – albo przez zwarcie zacisków odpowiadających im złączy J2 lub J3. Rezystory R11 i R13 utrzymują wysoki stan logiczny przy zachowaniu niewielkiego poboru prądu podczas wymuszenia niskiego stanu logicznego, co sprzyja oszczędzaniu energii. Sygnał z elementów stykowych jest filtrowany przez dolnoprzepustowe filtry RC, z których każdy składa się z rezystora 22 kΩ i kondensatora 100 nF. Ich zadanie polega na wyeliminowaniu wpływu iskrzenia styków na działanie układu, jak również ochronie wejść mikrokontrolera przed wyładowaniami elektrostatycznymi. Stała czasowa ładowania kondensatorów tego filtru jest znacznie większa (24,2 ms), aniżeli analogiczny parametr podczas ich rozładowywania (2,2 ms), co ma związek z inną wypadkową wartością rezystancji przeładowującej kondensator.
Działanie opisanego układu jest bardzo proste: po wciśnięciu przycisku ONCE (S2) lub zwarciu zacisków złącza J3, układ jednokrotnie rozświetla strzałkę. Najpierw załącza się dioda LED1, po 100 ms załącza się również LED2, po kolejnych 100 ms dołącza do nich LED3 i tak aż do LED6. Następnym i ostatnim krokiem jest jednoczesne załączenie się diod LED7…LED9, ułożonych w „grot” strzałki. Przez 100 ms świecą wszystkie diody. Dłuższe przytrzymanie przycisku – lub zwieranie należących do niego zacisków – nie przynosi już żadnej reakcji układu. Dopiero ich zwolnienie i ponowne wciśnięcie wywoła kolejne jednorazowe wskazanie kierunku.
Z kolei przycisk CONST (S1) działa w ten sposób, że pokazuje strzałkę cyklicznie: według tej samej sekwencji, co opisana powyżej, ale powtarzanej przez cały czas, gdy wejście pozostaje aktywne. Po zwolnieniu przycisku bądź po rozwarciu wcześniej zwartych zacisków złącza J2 układ doprowadza już rozpoczętą sekwencję do końca, po czym przechodzi w stan uśpienia. Unikamy w ten sposób nieestetycznego efektu urwanej animacji, która miałaby miejsce, gdyby układowi nagle odłączano zasilanie.
Montaż i uruchomienie
Układ został zmontowany na jednostronnej płytce drukowanej o wymiarach 120 mm × 60 mm – jej wzór ścieżek oraz schemat montażowy pokazuje rysunek 2. W odległości 3 mm od krawędzi płytki znalazły się cztery otwory montażowe, każdy o średnicy 3,2 mm.
Montaż proponuję przeprowadzić w sposób typowy, czyli rozpoczynając od elementów o najmniejszej wysokości obudowy, w tym wypadku rezystorów. Pod mikrokontroler proponuję zastosować podstawkę, aby ułatwić jego programowanie oraz wymianę w razie uszkodzenia. Zmontowany układ można zobaczyć na fotografii tytułowej.
Na etapie uruchamiania konieczne jest zaprogramowanie pamięci Flash mikrokontrolera dostarczonym wsadem. Wartości jego bitów zabezpieczających mają pozostać niezmienione względem konfiguracji domyślnej:
Low Fuse = 0x62
High Fuse = 0xDF
Szczegóły są widoczne na rysunku 3, który zawiera widok okna konfiguracji tychże bitów z poziomu programu BitBurner. Rdzeń mikrokontrolera będzie taktowany sygnałem o częstotliwości 1 MHz, co w zupełności wystarczy do realizacji tego niezbyt skomplikowanego zadania. Nie będzie załączony obwód BOD, ponieważ jego bezustanna praca pochłania dodatkowe, cenne mikroampery.
Poprawnie zaprogramowany układ jest gotowy do działania. Ostatnim etapem powinno być podłączenie zasilania do zacisków złącza J1 lub włożenie baterii typu CR2032 do koszyka. Jeżeli układ ma działać w takiej konfiguracji elementów, jaką zaprezentowano w wykazie podzespołów, rekomenduję zasilanie go napięciem 3 V. Pobiera wtedy około 0,4 μA w stanie uśpienia i maksymalnie 100 mA po załączeniu się wszystkich diod LED. Średni pobór prądu podczas świecenia to około 50 mA w czasie 700 ms.
Nic jednak nie stoi na przeszkodzie, by użyć innych diod LED, na przykład niebieskich lub białych, co powinno się również wiązać z podniesieniem napięcia zasilającego do wartości 4,5...5,5 V – większa różnica potencjałów uszkodzi mikrokontroler. Rezystory ograniczające prąd przewodzenia diod LED zalecam zastosować takie, by przez pojedynczą diodę płynął prąd rzędu 10 mA, a najlepiej nawet mniejszy. Większe natężenie nie daje zwykle wyraźnie większej jasności świecenia, za to może powodować problemy ze stabilnością układu przy jednoczesnym załączeniu wszystkich diod, ponieważ przez wyprowadzenia zasilające płynie wówczas prąd o natężeniu rzędu 100 mA. Wprawdzie producent dopuszcza przepływ tegoż prądu o natężeniu nawet 200 mA, lecz zdarzają się egzemplarze, którym w takich warunkach i w podwyższonej temperaturze otoczenia zdarza się zawieszać lub zerować. Przypuszczalnie ma to związek z dużym spadkiem napięcia na wewnętrznych połączeniach rozprowadzających zasilanie.
Układem można sterować zarówno przyciskami, które znajdują się na powierzchni płytki, jak również zewnętrznymi przełącznikami monostabilnymi, które można podłączyć do zacisków złączy J2 i J3. Wartości rezystorów są tak dobrane, że nawet wciśnięcie na stałe takiego przełącznika i złośliwe zablokowanie go w tej pozycji da wzrost poboru prądu do około 14 μA (przy zasilaniu 3 V), co nie spowoduje szybkiego rozładowania baterii. Zakładając pojemność baterii CR2032 na poziomie 200 mAh, opisywany układ mógłby przebywać w stanie czuwania przez około 57 lat(!) lub pokazać strzałkę ponad 20 tysięcy razy(!!!). Oczywiście, są to wartości czysto teoretyczne, które nie uwzględniają naturalnego starzenia się baterii lub wpływu jej rezystancji wewnętrznej.
Michał Kurzela, EP
- R1…R9: 150 Ω (opis w tekście)
- R10, R12, R14: 22 kΩ
- R11, R13: 220 kΩ
- C1, C3, C4: 100 nF raster 5 mm MKT
- C2: 100 μF 16 V raster 2,5 mm
- LED1…LED9: czerwona 5 mm, np. LED F5 R (opis w tekście)
- US1: ATtiny24A-PU DIP14
- BAT1: koszyk baterii CR2032 THT leżący (KOSZYK BAT 6)
- J1…J3: ARK2/500
- S1, S2: microswich 6×6 1,5 mm
- Jedna podstawka DIP14