Spisu treści:

Podświetlane prezenty: 5 kroków (ze zdjęciami)
Podświetlane prezenty: 5 kroków (ze zdjęciami)

Wideo: Podświetlane prezenty: 5 kroków (ze zdjęciami)

Wideo: Podświetlane prezenty: 5 kroków (ze zdjęciami)
Wideo: 5 sposobów na... MEGA PROSTE PREZENTY 2024, Grudzień
Anonim
Podświetlane prezenty
Podświetlane prezenty

W domu mamy dwa podświetlane prezenty, które wykorzystujemy w okresie świątecznym. Są to proste, podświetlane prezenty za pomocą dwukolorowej czerwono-zielonej diody LED, która losowo zmienia kolor, który zanika i zanika. Urządzenie zasilane jest baterią guzikową 3 Volt. To ostatnie było powodem tego projektu, ponieważ bateria bardzo szybko się wyczerpuje, gdy prezenty są zasilane przez dłuższy czas.

Aby uniknąć używania ogromnej ilości baterii guzikowych, zaprojektowałem własną wersję na trzy akumulatorki AAA. Ta wersja wykorzystuje diodę LED RGB, więc możliwy jest również niebieski kolor, ale nie było to częścią oryginalnego projektu. Moja wersja posiada następujące funkcje:

  • Control 2 prezentuje się w tym samym czasie za pomocą jednego mikrokontrolera PIC12F617. Oprogramowanie mikrokontrolera zostało napisane w języku programowania JAL.
  • Włącz i wyłącz prezent za pomocą przycisku. Oryginalna wersja wykorzystywała do tego celu przełącznik, ale przycisk był łatwiejszy w użyciu.
  • Losowo zmieniaj kolor prezentów poprzez pojawianie się i zanikanie kolorów czerwonego i zielonego.
  • Wyłącz prezenty, gdy napięcie baterii spadnie poniżej 3,0 Volt. Zapobiegnie to nadmiernemu rozładowaniu akumulatorów.

Po wyblaknięciu jednego koloru dioda LED świeci przez czas od 3 sekund do 20 sekund. Ponieważ nadal miałem nieużywaną niebieską diodę LED, dodałem funkcję, że oba pakiety zmienią kolor na niebieski, gdy czas włączenia wynosi dokładnie 10 sekund. Nie zdarza się to zbyt często, ponieważ losowy czas jest generowany w taktach zegara wynoszących 40 milisekund, jak opisano później.

Krok 1: Trochę teorii na temat pojawiania się i zanikania za pomocą modulacji szerokości impulsu

Najlepszym sposobem na zmianę jasności diody LED nie jest zmiana prądu płynącego przez diodę LED, ale zmiana czasu świecenia diody LED w określonym przedziale czasu. Ten sposób sterowania jasnością diody LED nazywa się modulacją szerokości impulsu (PWM), który został już kilkakrotnie opisany w internecie, m.in. Wikipedia.

PIC i Arduino mają na pokładzie specjalny sprzęt PWM, który ułatwia generowanie tego sygnału PWM, ale często mają do tego jedno wyjście, dzięki czemu można sterować tylko jedną diodą LED. W tej wersji musiałem sterować 5 diodami LED (2 czerwone, 2 zielone i 1 połączony niebieski), więc PWM trzeba było wykonać w oprogramowaniu za pomocą timera, który generuje zarówno częstotliwość PWM, jak i współczynnik wypełnienia PWM.

PIC12F617 ma wbudowany zegar z możliwością automatycznego przeładowania. Oznacza to, że po ustawieniu wartości przeładowania timera, będzie on używał tej wartości za każdym razem, gdy minie limit czasu, a więc timer będzie działał samodzielnie z określoną częstotliwością. Ponieważ synchronizacja jest krytyczna dla stabilnego sygnału PWM, zegar działa na zasadzie przerwania, na co nie ma wpływu czas, którego główny program potrzebuje na kontrolowanie i określanie losowego czasu włączenia dla diod LED.

Częstotliwość PWM musi być wystarczająco wysoka, aby zapobiec migotaniu, dlatego wybrałem częstotliwość PWM 100 Hz. Aby uzyskać efekt zanikania i zanikania, musimy zmienić cykl pracy, a tym samym jasność diody LED. Zdecydowałem się użyć przyrostu krokowego o 5, aby zwiększyć lub zmniejszyć jasność, aby uzyskać efekt zanikania i zanikania, a ponieważ timer używa zakresu od 0 do 255 dla cyklu pracy, timer musi działać z prędkością 255 / 5 = 51-krotność normalnej częstotliwości lub 5100 Hz. Skutkuje to przerwaniem czasowym co 196 nas.

Krok 2: Praca mechaniczna

Praca mechaniczna
Praca mechaniczna
Praca mechaniczna
Praca mechaniczna
Praca mechaniczna
Praca mechaniczna

Do wykonania prezentów użyłem mlecznobiałego plastiku akrylowego, a do reszty zestawu użyłem płyty MDF. Aby zapobiec widocznemu kształtowi diody w opakowaniu, gdy dioda jest włączona, na diody nałożyłem osłonę, która rozprasza światło z diody. Ta okładka pochodzi ze starych elektronicznych świec, które miałem, ale możesz też stworzyć okładkę z tego samego plastiku akrylowego. Na zdjęciach widać, co wykorzystałem jako sprzęt i materiał.

Krok 3: Elektronika

Elektronika
Elektronika
Elektronika
Elektronika
Elektronika
Elektronika
Elektronika
Elektronika

Schemat ideowy przedstawia potrzebne komponenty elektroniczne. Jak wspomniano wcześniej, 5 diod LED jest sterowanych niezależnie, gdzie niebieska dioda LED jest połączona. Ponieważ PIC nie może sterować dwoma diodami LED na jednym pinie portu, dodałem tranzystor do sterowania połączonymi niebieskimi diodami LED. Elektronika jest zasilana 3 akumulatorami AAA i może być włączana lub wyłączana przez naciśnięcie przycisku resetowania.

Do tego projektu potrzebne są następujące elementy elektroniczne:

  • 1 mikrokontroler PIC 12F617 z gniazdem
  • 2 kondensatory ceramiczne: 2*100nF
  • Rezystory: 1*33k, 1*4k7, 2*68 Ohm, 4*22 Ohm
  • 2 diody LED RGB, wysoka jasność
  • 1 tranzystor BC557 lub odpowiednik
  • 1 przełącznik przyciskowy

Układ można zbudować na płytce stykowej i nie zajmuje dużo miejsca, co widać na zdjęciu. Możesz się zastanawiać, dlaczego wartości rezystorów do kontrolowania maksymalnego prądu przez diody LED są tak niskie. Wynika to z niskiego napięcia zasilania wynoszącego 3,6 V w połączeniu ze spadkiem napięcia, jaki ma każda dioda LED, który zależy od koloru każdej diody LED, patrz również Wikipedia. Wartości rezystorów dają maksymalny prąd około 15 mA na diodę LED, przy czym maksymalny prąd całego systemu wynosi około 30 mA.

Krok 4: Oprogramowanie

Oprogramowanie wykonuje następujące zadania:

Gdy urządzenie zostanie zresetowane przyciskiem, włączy się urządzenie, jeśli było wyłączone lub wyłączy urządzenie, jeśli było włączone. Wyłączenie oznacza wprowadzenie PIC12F617 w tryb uśpienia, w którym prawie nie zużywa energii.

Generuj sygnał PWM, aby kontrolować jasność diod LED. Odbywa się to za pomocą timera i procedury obsługi przerwań, która kontroluje piny PIC12F617, które włączają i wyłączają diody LED.

Rozjaśniaj i zanikaj diody LED i utrzymuj je przez losowy czas od 3 do 20 sekund. Jeśli losowy czas wynosi 10 sekund, obie diody LED zmienią kolor na niebieski na 10 sekund, po czym zostanie użyty normalny czerwono-zielony wzór pojawiania się i zanikania.

Podczas pracy PIC mierzy napięcie zasilania za pomocą wbudowanego przetwornika analogowo-cyfrowego (ADC). Gdy to napięcie spadnie poniżej 3,0 V, diody LED zostaną wyłączone i ponownie przełączy PIC w tryb uśpienia. PIC może nadal działać dobrze przy 3,0 V, ale nie jest dobrze, aby akumulatory były całkowicie rozładowane.

Jak wspomniano wcześniej, sygnał PWM jest tworzony przy użyciu timera, który używa procedury obsługi przerwań, aby utrzymać stabilny sygnał PWM. Zanikanie i zanikanie diod LED, w tym czas świecenia diod LED, jest kontrolowane przez program główny. Ten program główny wykorzystuje takt zegara wynoszący 40 milisekund, wywodzący się z tego samego zegara, który tworzy sygnał PWM.

Ponieważ tym razem nie używałem żadnych konkretnych bibliotek JAL do tego projektu, musiałem stworzyć generator losowy przy użyciu rejestru przesuwnego z liniowym sprzężeniem zwrotnym do generowania losowego czasu włączenia i losowego czasu wyłączenia diod LED.

Krok 5: Ostateczny wynik

Image
Image
Wynik końcowy
Wynik końcowy

Dostępne są 2 filmy, które pokazują wynik pośredni. Moja żona wciąż musi zamienić kostki w prawdziwe prezenty. Jeden film pokazuje zbliżenie wyniku, podczas gdy drugi film pokazuje go z oryginalnym prezentem, który doprowadził do tego projektu.

Jak można się spodziewać, gdy uznasz, że skończyłeś, wyskakują nowe wymagania. Moja żona pytała, czy jasność diod LED może się również zmieniać po ich wyblaknięciu. Jest to oczywiście możliwe, ponieważ użyłem tylko około połowy pamięci programu PIC12F617.

Dołączono plik źródłowy JAL i plik Intel Hex do programowania PIC. Jeśli jesteś zainteresowany użyciem mikrokontrolera PIC z JAL – językiem programowania podobnym do Pascala – odwiedź stronę JAL.

Baw się dobrze, robiąc to instruktażowe i czekając na twoje reakcje i wyniki.

Zalecana: