Mini Lampka RGB 2


10
Ocena: None Średnia: 10 (13 głosujących)

Urządzenie jest ulepszoną i rozbudowaną wersją układu Mini Lampki RGB. Ma za zadanie podświetlać na różne kolory kryształ lub inny przedmiot dobrze rozpraszający światło. Zastosowanie mikrokontrolera z rodziny AVR powoduje większą szybkość działania i eliminacje niewielkiego migotania powstającego przy małej jasności kolorów w stosunku do poprzedniej wersji urządzenia. Lamka posiada 3 tryby pracy z czego najbardziej efektowną stanowi generowanie płynnych losowych przejść kolorów. W roli obudowy zastosowano imitację skały wykonaną z pasty modelarskiej, co znakomicie ułatwia zastosowanie kryształu o nietypowych i nieregularnych kształtach.

Działanie:


Schemat ideowy lampki przedstawia poniższy rysunek:

Sercem układu jest mikrokontroler U1 (ATTINY2313) wraz z rezonatorem kwarcowym X1 (16MHz) i kondensatorami C1 (22pF) i C2 (22pF). Stabilizator U2 (7805) wraz z kondensatorami C3 (470uF) i C4 (100uF) stanowi prosty zasilacz stabilizowany. Rezystory R2 (180R), R3 (100R) i R4 (180R) oraz R5 (180R), R6 (100R) i R7 (180R) ograniczają prąd diod D2 (Led RGB) i D3 (Led RGB). Dioda D1 (Led) wraz z rezystorem ograniczającym prąd R1 (330R) stanowi kontrolkę szybkości animacji.

Budowa:


Lampkę można zbudować w oparciu o płytkę drukowaną dostępną tutaj. Rysunek w odbiciu lustrzanym dostępny jest tutaj. Montaż układu nie jest skomplikowany lecz należy zwrócić uwagę na kilka istotnych szczegółów. Lutowanie rozpoczynamy od rezystorów, następnie montujemy kondensatory ceramiczne C1 i C2 na leżąco i nad nimi rezonator kwarcowy również leżąco (możemy także zastosować kwarc o mniejszych gabarytach). Stabilizator wraz z współpracującymi kondensatorami montujemy tak jak na zdjęciu u dołu strony. Przyciski klawiatury jak również diody D1 - D3 lutujemy od strony druku. Pod diody RGB można zastosować kawałki podstawki precyzyjnej co umożliwi ich ewentualną wymianę. Mikrokontroler należy obowiązkowy wyposażyć w podstawkę ze wzgledu na brak złącza programującego na płytce. Pomocą w montażu będą zdjęcia modelu a także dostępny tutaj schemat montażowy. Układ można zamknąć w małej obudowie i połączyć np. z krzyształem górskim za pomocą utwardzanej na powietrzu pasty modelarskiej jak to zrobiłem w tym projekcie. Utwardzoną pastę modelarską można pomalować dowolną farbą, najlepiej akrylową (do kupienia w sklepie dla plastyków). Gdy mamy diody RGB ze wspólną katodą należy dołączyć ich wspólne wyprowadzenia (katody) do masy i zaprogramować mikrokontroler wersją programu dla diody ze wspólną katodą.

Druga wersja płytki wraz z odpowiednim schematem montażowym jest dostępna w załącznikach. Wersja ta nie zawiera stabilizatora i jest przystosowana do rozcięcia na dwa fragmenty (klawiaturę i moduł sterujący). Ponadto część płytki z mikrokontrolerem została znacznie zmniejszona i upakowana.

Gdy chcemy podłączyć do układu więcej diod to możemy zastosować tranzystory NPN lub MOSFET N (dla diod ze wspólną anodą) według jednego ze schematów poniżej:

Dla diod ze wspólną katodą należy zastosować tranzystory PNP lub MOSFET P (schemat jest analogiczny tylko wszystko się odwraca). Ze względu na fakt iż tranzystory działają jak inwentery do mikrokontrolera należy wgrać program dla diod o przciwnej polaryzacji niż zastosowane w projekcie. Ilość dołączanych diod jest ograniczona tylko maksymalnym prądem jaki jest dopuszczalny dla zastosowanych tranzystorów.

Wykaz Elementów:


5x uSwitch

2x 100R
4x 180R
1x 330R

2x 22pF
1x 100uF Elektrolit
1x 470uF Elektrolit

1x Rezonator Kwarcowy 16MHz (przy 10MHz może migać)
1x Dioda LED
2x Dioda LED RGB (4 wyprowadzenia, wsp. anoda)
1x 7805
1x ATTINY2313 + Podstawka

Programowanie:


Mikrokontroler do lampki został zaprogramowany w wersji demo programu BASCOM AVR firmy MCS Electronics (http://www.mcselec.com/). Program przedstawiony jest poniżej:

'************* Konfiguracja uC *****************
'***********************************************
$regfile = "attiny2313.dat"
$crystal = 16000000
 
Config Portb = &B11111111 : Portb = &B11111111
Config Portd = &B00000000 : Portd = &B11111111
 
Config Timer0 = Timer , Prescale = 8
Enable Timer0 : On Timer0 Prztimer0
 
Enable Interrupts
'********** Konfiguracja uC Koniec  ************
 
'******************  Nazwy *******************
'***********************************************
Rd Alias Portb.0
Gd Alias Portb.1
Bd Alias Portb.2
 
Rd2 Alias Portb.3
Gd2 Alias Portb.4
Bd2 Alias Portb.5
 
Syg_led Alias Portb.7
Sw_port Alias Pind
 
'*************  Nazwy Koniec  ****************
 
'******************  Zmienne *******************
'***********************************************
Dim Licznik As Byte
Dim Rled As Byte , Bled As Byte , Gled As Byte
Dim Rand_r As Byte , Rand_g As Byte , Rand_b As Byte
Dim Pomoc As Byte
Dim Flaga As Bit
Dim Dzielnik As Word
Dim Dzielnik2 As Byte
Dim Dzielnik3 As Byte
Dim Szybkosc As Byte
Dim Licznik_sw As Byte
Dim Stan_portu As Byte
 
Dim Arg As Word
Dim Wartosc As Word
Dim Pozycja As Word
 
Dim Stopbit As Bit
 
Dim Animacja As Byte
 
'*************  Zmienne Koniec  ****************
 
'************ Warunki Poczatkowe ***************
'***********************************************
Pozycja = 0
Dzielnik2 = 0
Szybkosc = 10
Stopbit = 1
Animacja = 0
'*******  Warunki Poczatkowe Koniec  ***********
 
'**************  Petla glowna ******************
'***********************************************
Do
 
 If Flaga = 1 Then                                          'co 32ms
   Flaga = 0
 
   Gosub Przyciski
 
   Incr Dzielnik2
   If Dzielnik2 >= Szybkosc And Stopbit = 1 Then
     Dzielnik2 = 0
 
     Syg_led = Not Syg_led
 
     'pierwszy tryb  - przejscia plynne ustalone
     If Animacja = 0 Then
       Incr Pozycja
       If Pozycja = 900 Then Pozycja = 0
       Gosub Pozycja_do_rgb
     End If
 
     'drugi tryb - losowe przejscia
     If Animacja = 1 Then
       Incr Pozycja
       If Pozycja >= 50 Then
         Pozycja = 0
         Rand_r = Rnd(3)
         Rand_g = Rnd(3)
         Rand_b = Rnd(3)
       End If
 
       If Rand_r = 1 Then If Rled < 100 Then Incr Rled
       If Rand_r = 2 Then If Rled > 0 Then Decr Rled
 
       If Rand_g = 1 Then If Gled < 100 Then Incr Gled
       If Rand_g = 2 Then If Gled > 0 Then Decr Gled
 
       If Rand_b = 1 Then If Bled < 100 Then Incr Bled
       If Rand_b = 2 Then If Bled > 0 Then Decr Bled
     End If
 
     'trzeci tryb - losowy kolor
     If Animacja = 2 Then
       Pozycja = Rnd(900)
       Gosub Pozycja_do_rgb
     End If
 
   End If
 End If
 
Loop
End
'************ Petla glowna Koniec **************
 
'************ Przerwanie timer 0 ***************
'***********************************************
Prztimer0:
 
 Incr Licznik
 If Licznik = 100 Then Licznik = 0
 
 If Licznik < Rled Then
  Reset Rd
  Reset Rd2
 Else
  Set Rd
  Set Rd2
 End If
 
 If Licznik < Gled Then
  Reset Gd
  Reset Gd2
 Else
  Set Gd
  Set Gd2
 End If
 
 If Licznik < Bled Then
  Reset Bd
  Reset Bd2
 Else
  Set Bd
  Set Bd2
 End If
 
 Incr Dzielnik
 If Dzielnik = 250 Then
   Dzielnik = 0
   Set Flaga
 End If
 
Return
'******** Przerwanie timer 0 Koniec ************
 
'************   Inne Etykiety    ***************
'***********************************************
Przelicz:                                                   'funkcja \_ _ _ _/^^^
  If Arg > 899 Then Arg = Arg - 900
 
  If Arg > 100 And Arg < 500 Then Wartosc = 0
  If Arg <= 100 Then Wartosc = 100 - Arg
  If Arg >= 500 And Arg <= 600 Then Wartosc = Arg - 500
  If Arg > 600 Then Wartosc = 100
Return
 
Pozycja_do_rgb:
  Arg = Pozycja
  Gosub Przelicz
  Rled = Wartosc
  Arg = Pozycja + 300
  Gosub Przelicz
  Gled = Wartosc
  Arg = Pozycja + 600
  Gosub Przelicz
  Bled = Wartosc
Return
 
Przyciski:
If Sw_port <> 255 And Stan_portu = Sw_port Then
  Incr Licznik_sw
  If Licznik_sw = 10 Then
    Select Case Stan_portu
      Case 126:                                             'plus
        Licznik_sw = 5
        If Szybkosc > 1 Then Decr Szybkosc
      Case 125:                                             'minus
        Licznik_sw = 5
        If Szybkosc < 40 Then Incr Szybkosc
      Case 124:                                             'plus i minus
        Stopbit = Not Stopbit
        Syg_led = 1
      Case 111:                                             ' R
        Pozycja = 700
        Gosub Pozycja_do_rgb
      Case 119:                                             ' G
        Pozycja = 400
        Gosub Pozycja_do_rgb
      Case 123:                                             ' B
        Pozycja = 100
        Gosub Pozycja_do_rgb
      Case 110:                                             'plus R
        Licznik_sw = 8
        If Rled < 100 Then Incr Rled
      Case 109:                                             'minus R
        Licznik_sw = 8
        If Rled > 0 Then Decr Rled
      Case 118:                                             'plus G
        Licznik_sw = 8
        If Gled < 100 Then Incr Gled
      Case 117:                                             'minus G
        Licznik_sw = 8
        If Gled > 0 Then Decr Gled
      Case 122:                                             'plus B
        Licznik_sw = 8
        If Bled < 100 Then Incr Bled
      Case 121:                                             'minus B
        Licznik_sw = 8
        If Bled > 0 Then Decr Bled
      Case 103:                                             ' R G
        Rled = 100
        Gled = 100
        Bled = 0
      Case 115:                                             ' G B
        Rled = 0
        Gled = 100
        Bled = 100
      Case 107:                                             ' R B
        Rled = 100
        Gled = 0
        Bled = 100
      Case 99:                                              ' R G B
        Rled = 100
        Gled = 100
        Bled = 100
      Case 108:                                             ' plus minus R
        Animacja = 0
      Case 116:                                             ' plus minus G
        Animacja = 1
      Case 120:                                             ' plis minus B
        Animacja = 2
 
    End Select
 
  End If
Else
  Stan_portu = Sw_port
  Licznik_sw = 4
End If
 
Return
'********    Inne Etykiety Koniec  ************

Na rysunku poniżej przedstawiona jest konfiguracja Fuse bitów mikrokontrolera (screen shot z programu BASCOM AVR Demo). Zanaczone na czerwono opcje należy koniecznie ustawić:

Na rysunku poniżej przedstawiono konfigurację Fuse bitów mikrokontrolera na podstawie programu Burn-O-Mat:

Obsługa:


W standardowej wersji oprogramowania układ może pracować w trzech trybach działania:
1. Przejścia Ustalone - kolory zmieniają się w sposób płynny według ustalonej zależności B->G->R->B (900 kolorów)
2. Przejścia Losowe - losowany jest sposób płynnej zmiany natężenia dla każdej barwy niezależnie (1000000 kolorów)
3. Przejścia Skokowe - losowany jest jeden ocień co określony czas, zmiana następuje skokowo (900 kolorów)

W poniższej tabeli zawarta jest instrukcja obsługi lampki:

Zdjęcia Projektu:

ZałącznikWielkość
Schemat44.78 KB
Płytka10.3 KB
Płytka (odbicie lustrzane)10.27 KB
Płytka (3 na stronie)25.92 KB
Montowanie14.72 KB
Opis6.91 KB
Opis (odbicie lustrzane)6.95 KB
Kod Źródłowy6.62 KB
Program po kompilacji (BIN)1.94 KB
Program po kompilacji (HEX)5.48 KB
Kod Źródłowy (Dioda ze wsp. Katodą)6.62 KB
Program po kompilacji (BIN) (Dioda ze wsp. Katodą)1.94 KB
Program po kompilacji (HEX) (Dioda ze wsp. Katodą)5.48 KB
Płytka (Wersja 2)11.1 KB
Płytka (odbicie lustrzane) (Wersja 2)11.14 KB
Płytka (6 na stronie) (Wersja 2)54.54 KB
Montowanie (Wersja 2)15.05 KB



Portret użytkownika osvch

Jak mówiłem, po

Jak mówiłem, po podłączeniu d1 świeciła, klikam w bascomie verify chip i zapala się jedna z rgb na niebiesko a D1 gaśnie, poczekam do piątku bo pewnie będe miał nowy attiny to zobacze a teraz jeszcze raz dokładnie zanalizuje płytke. A właśnie co z kondensatorami, bo obecnie mam 22nF ;/ możliwe że od tego coś się zrobiło?

Portret użytkownika mirley

Kondensatory

Kondensatory mają być 12-22pF. Twój kondensator (22nF) jest 1000 razy większy od zalecanej pojemności w karcie katalogowej procesora. Raczej mało prawdopodobne żeby przez to się uszkodził ale może nie działać prawidłowo. W karcie katalogowej nie jest napisane nic na temat tego co się dzieje dla tak dużych pojemności. Przede wszystkim zmień kondensatory na 22pF i potem testuj dalej

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika osvch

Dzięki bardzo, lampka

Dzięki bardzo, lampka działa aż miło :D Nie wiem w prawdzie czym rozwiązałem problem, może wcześniej nie dociskałem wystarczająco wtyczki do LPT a może zadziałało dzięki odblokowaniu LPT USERPORTem... nie ważne, dzięki jeszcze raz za pomoc :D

Portret użytkownika gosc

Witam, co trzeba w kodzie

Witam, co trzeba w kodzie zmienić aby kolory RGB zmieniały się naprawde szybko?

Portret użytkownika heyo

Witam. Jak powinien

Witam.
Jak powinien zachować się układ po złożeniu (bez switchy)? Wszystkie diody powinny świecić czy raczej nic nie powinno się dziać?
PS. GOŚCIU wejdź na 3 stronę i zobacz końcowe posty... ;D

Portret użytkownika mirley

Bez przycisków

Gdy nie ma przycisków to lampka po włączeniu działa w trybie płynnych przejść 900 kolorów, ze średnią szybkością animacji. Powinna migać dioda D1 a diody D2 i D3 powinny zaświecić na kolor fioletowy(różowy). Jak zmodyfikować program do tego aby na starcie działało innaczej opisałem już wcześniej w odpowiedziach wyżej.

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika gosc

UPS!

Zapomniałem dodać że układ nie jest jeszcze zaprogramowany... :D Moja wina... ;P

Portret użytkownika gosc

Zmieniłem szybkość na 6 i

Zmieniłem szybkość na 6 i nie zauważyłem różnicy... Nie wiem czy dobrze się rozumiemy, chodzi mi o to że podczas płynnego przejścia animacji jak dam maksymalną szybkość "+" to kolory zmieniają się co około 2 sek. a ja mam na myśli żeby zmieniały się o wiele częściej...

Portret użytkownika mirley

Jeśli mikrokontroler nie

Jeśli mikrokontroler nie jest zaprogramowany to ma się dziać dokładnie to co widzisz że się dzieje :) Ciężko to przewidzieć ale raczej nic się nie powinno świecić

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika mirley

Największa szybkość to

Największa szybkość to gdy zmienna "szybkosc" = 1. Przeskok do następnego koloru następuje wtedy co ok 32ms, czyli przejście całej palety w trybie animacji = 0 zajmuje ok. 30s. Dla "szybkosc" = 40 przejście do następnego koloru trwa ok 1,2s

Jeśli trzeba jeszcze szybciej to wymagana jest modyfikacja dzielnika aby flaga w przerwaniu była wywoływana częściej a nie co 32ms.

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika gosc

Witam, To znowu ja. :D

Witam,
To znowu ja. :D Złożyłem ten projekt "na pająka" w nieco okrojonej wersji (bez diody i switchow). Mam teraz problem z programowaniem tzn. przy programowaniu program wywala mi błąd "Difference at XXXXX" (gdzie XXXXX to chyba numery odpowiednich komorek np. 00120 albo 00260) i w tym miejscu konczy sie program na uC. Wyjatek stanowil jeden raz gdzie zaprogramowalem normalnie i po ponownym podlaczeniu układu pod zasilanie mignely mi diody i po chwili zgasly. I tu moje pytanie: Czy da sie z tym cos zrobic? Jesli tak to co?

Portret użytkownika mirley

Wynikiem takiego działania

Wynikiem takiego działania może być tylko złe zaprogramowanie uC, więc należy:
1. Sprawdzić czy kabel programujący jest sprawny i czy nie jest za długi (najlepiej nie więcej niż 1-1,5m)
2. Czy zasilanie jest prawidłowe
3. Czy montaż jest wykonany zgodnie ze schematem (diody mają rezystory tak jak na schemacie)
4. Ewentualnie uruchomić kompa ponownie
5. Poruszać kablem bo może w środku nie łączyć a gdy mierzymy to akurat przewodzi :)
6. Przeinstalować Bascoma lub inny używany program

Układ po włączeniu powinien zacząć świecić po ok 1-2s

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika Merior

Kwarc

Witam!
Zabieram się do budowy Twojego projektu, jednak mam problem, a raczej dylemat. Czy lampka będzie pracować prawidłowo przy kwarcu 14.7456Mhz - 16Mhz nie mieli w sklepie ;( I czy ew. trzeba będzie coś zmienić w programie - bo jedyne co mi się wydaje to komendę $crystal = 16000000. Tylko na jaką wartość w moim przypadku? Przelicza się na Hz? Podejrzewam że to będzie tak $crystal = 14745600. Mam rację?

Z góry dziękuję i pozdrawiam!

Merior

Portret użytkownika mirley

Kwarc

Masz rację pisząc że 14,7456MHz to 14745600Hz. Nie przejmuj się tym tak bardzo bo nawet gdy zostawisz linijkę $crystal = 16000000 bez zmian to wszystko powinno chodzić bez problemu, zmienią się tylko opoźnienia i reszta powinna chodzić poprawnie. Dla świętego spokoju możesz napisać $crystal = 14745600. Gdyby nie działało to zostaw taką częstotliwość jaką ustawiłem :)

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika Futrzak

REset po nacisnieciu przycisku SB

Witam

Co może to powodować że naciskając przycisk SB układ tak jakby się resetuje jak zwolnię
przycisk to wraca do ustawień początkowych. Płytka sprawdzona na pewno nie ma błędów w montażu.

Portret użytkownika mirley

Jedynym powodem tego może

Jedynym powodem tego może byc błąd w montażu albo złe zaprogramowanie mikrokontrolera (może wystąpił jakiś błąd podczas programowania). Czy modyfikowałeś program? W orginalnym programie portd ustawiony jest jako wejścia więc nic nie powinno się dziać złego. Ostatnim pododem może być uszkodzony procesor ale to mało prawdopodobne

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika Hiszpan

Witam, mam taki problem:

Witam,
mam taki problem: zrobiłem wszystko tak jak na stronie ale kondensatory mam 33pF a kwarc 14Mhz i nie mam stabilizatora ale napięcie mam z USB.
Zaprogramowałem układ bez żadnych problemów ale po podłączeniu zasilania dioda D1 mruga a diody D2 i D3 świecą cały czas na zielono a przyciski reagują inaczej niż w opisie. Proszę o pomoc!
Z góry dziękuje.

Portret użytkownika mirley

A jak długo pozostawiłeś

A jak długo pozostawiłeś włączony układ? Powinno wszystko działać nawet przy rezonatorze 14MHz. Czy diody podłączyłeś tak jak na schemacie?(kolory).

Napisałeś że dioda D1 miga a to oznacza że wszystko powinno działać. Przyciski działają na "odwrot niz na schemacie", sa odwrocone o 180 stopni na porcie (+ jest w miejscu SR itd), przeczytaj wcześniejsze wpisy.

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika futrzak

Witam Układ

Witam

Układ zaprogramowany oryginalnym wsadem (hex) ze strony nie modyfikowany. Programowanie przebiegło prawidłowo, weryfikacja zaprogramowanego układu wychodzi OK. Układ poprawnie zmontowany. Procesor raczej sprawny, próbowałem na drugim (nówka sztuka) i ta sama sytuacja po wciśnięciu przycisku SB układ sie resetuje. Jakieś sugestie dodatkowe ??

Pozdrawiam

Portret użytkownika mirley

Fuse bity masz poprawnie

Fuse bity masz poprawnie ustawione? Zakładam że tak. Ostatnia mozliwość to zwarcie między pinami PD2 (nożka 6) i XTAL1 (nożka 5). Po nacisnięciu przycisku zwierało by to wyprowadzenie rezonatora do masy i jednoczaśnie uniemozliwi generowanie zegara, co w końcowym efekcie da reset (po puszczeniu przycisku). Sprawdź bardzo dokładnie czy między pinami nie ma pozostałości miedzi lub kuleczki cyny itp. Innych sugestii niestety nie mam

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika sharky

fajne

super sprawa;] jeszcze musze dopracowac w programie jak to zrobic zeby wybieralo mi losowo kolorki na początku i przelaczali sie plynnie miedzy nimi.
uklad zrobilem na pajączku tak jak to bylo na "elektrodzie" pokazane:P
prawde mowiac to zainspiriwalem sie tym projektem.
dzieki wszystkim za cenne rady:)
ps. jakby ktos mogl dac jeszcze raz ostatnia rade: jak zrobic zeby byly te kolory losowane i plynnie przelaczaly sie pozniej.
probowalem pare razy zmienic cos ale nie udawalo mi sie:)

pozdrawiam, sharky

Portret użytkownika mirley

Kolory

W drugim trybie pracy działają losowe przejścia, na zasadzie losowania niezależnie dla każdego koloru zmiany jego aktualnego stanu. Losowanie koloru a nastepnie przechodzenie płynne do niego, da podobny efekt ale zmniejszy przypadkowaość losowania.

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika Merior

Kondensatory przy stabilizatorze.

Mam pytanie odnośnie kondensatorów. Czy one na 100% mają być 470uF i 100uF? Już druga 470-tka mi wypłynęła :/ Nie bardzo wiem co może być tego powodem. Stawiam na zasilanie ale pewien nie jestem. Pierwszy wypłynął przy ładowarce do siemensa 5v (realne ok. 7v) Drugi wystrzelił przy 12v z zasilacza komputerowego (słyszałem że te już są stabilizowane, ale kondensator by od tego strzelił?)

Z góry dziękuję
Merior

Portret użytkownika Merior

Kondensatory przy stabilizatorze.

Dodam tylko że przy drugim wypadku mierzyłem napięcie na ścieżkach Vin i GND. Po załączeniu oczywiście 12v, zaraz po wyłączeniu 3-4v i powoli spada. Na ścieżkach Vout i GND po załączeniu było tak jak miało być 5v. Powinienem zmienić kondensatory na większe napięcie (tu mam 50v) pojemność, czy to może od przegrzania przy lutowaniu?

Merior

Portret użytkownika mirley

Kondensatory

Kondensatory przy stabilizatorze mogą być zastosowane w bardzo szerokich granicach, ja wlutowałem takie jakie mi się wyciągły z pudełka. Zawsze stosuje 100uF i 47uF albo 100uF i 10uF lub inna kombinację. Nie ma prawa nic wylecieć, chyba że są wlutowane na odwrot (zła polaryzacja). Napięcie kondensatorow ma być większe od przewidywanego zapięcia występującego w tym punkcie obwodu (między nożkami kondensatora)

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika gosc

Kondensatory

100uF i 47uF? Bo ja mam wlutowane na wejście 470uF a na wyjściu 100uF (białym paskiem z pustym kwardacikiem do +, drugą nóżką do GND. Czy mam za duży kondensator przy wyjściu, bo słyszałem że mogę tym wzbudzić stabilizator, ale nie wiem jaki to ma związek z tym pierwszym kondensatorem. :/

Portret użytkownika mirley

Kondensatory

Ten biały "kwadracik" a raczej prostokącik to minus. Dla pewności na nowym kondensatorze, dłuższa nożka to +. Wartości masz dobre

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika gosc

Kondensatory

Y.. Aha xD Dzięki. A ten 100nF mi nie strzelił, mimo że tym białym paskiem jest podlączony do wyjścia a drugą do masy. Pozmieniałem i po 5min działania nic nie strzeliło ^^ Sukces ;) Dzięki wielkie!
Pozdrawiam
Merior

Portret użytkownika Michał

Układ nie działa:(

Witam!!!

Mój problem polega na tym ze zmontowałem całośc. Zaprogramowałem uC Programowanie przebigło bez problemów werfikacja Ok zasilanie około 5V i 5V z zasilacza PC. A wiec do r. rzeczy po podłaczniu zasiania nic sie nie dzieje zadna dioda nie swieci po włożeniu układu odwrotnie (Znaczy sie zle) Diody swieca na kolor biały. Aha Dałem rezonator 14.318H1K i ceramiki z oznaczeniem 20JC czyli chyba 20pF
Prosze o pomoc!

Portret użytkownika mirley

Układ

Przede wszystkim wkładanie na odwrót mikrokontrolera nie wniesie nic poza ewentualnym jego spaleniem :)

Po pierwsze czy zasilanie 5V z zasilacza komuterowego jest podłączone do satbilizatora 7805? Jeśli tak to proszę sprawdzić jakie jest napięcie między nóżkami 10 i 20 mikrokontrolera, bo stabilizator w takich warunkach napewno nie działa prawidłowo.

Po drugie czy fuse bity są poprawnie ustawione, bo w przeciwnym razie mikrokontroler będzie działał 16 razy wolniej na zegarze wewnetrznym i diody mogą się zaświecić dopiero po dłuższej chwili.

Po trzecie wnioskuję że kwarc jaki zaastosowałeś to 14,318MHz bo H1K na końcu nie jestem wstanie zidentyfikować

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika Przybor

Zasilanie z PC nie jest

Zasilanie z PC nie jest podłaczone przez stabilizator jest bezposrednio pod układ napiecie to prawie równe 5V,Co do Fuse Bitów to wydaje mi sie ze wszystko ok ustawiłem ale zmontowałem programator bez Rezonatora i układu juz nie widzi (w prog Częstotliwość kwarcu ma znaczenie? bo chetnie bym podlutował i zobaczył)
a co do rezonatora w układzie to wylutowałem go z płyty głównej Komputera, Wiec nie jestem pewien czy to ta czestotliwosc.

Portret użytkownika mirley

Jeżeli programator nie

Jeżeli programator nie zobaczy mikrokontrolera z podłączonym twoim kwarcem 14.318 to można podejrzewać że on jest winny wszystkim problemom i należy go wymienić. Jeżeli jest możliwość to kup w sklepie kwarc 16MHz i wtedy ten problem odpadnie

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika gosc

RGB

Witam, moje pytanie brzmi czy układ po złożeniu działa w trybie automatycznych przejść zaraz po podłączeniu zasilania czy trzeba wcisnąć kombinacje klawiszy odpowiednio według instrukcji.?Jest to dla mnie istotne.Zależy mi na tym aby układ zaczynam animacje płynnych przejśc zaraz po włączeniu zasilania.

Portret użytkownika mirley

Re: RGB

Zaraz po włączeniu zasilania układ pracuje w trybie 900 kolorow (przejścia płynne ustalone). Żeby to zmienić i żeby układ startował od innego koloru i rodzaju animacji należy zmodyfikować warunki początkowe w programie. Opisywałem to już wiele razy. Prosze przejrzeć odpowiedzi pod opisem na wcześniejszych stronach a wyczerpująca odpowiedź się znajdzie. W razie dalszych wątpliwości proszę pytać

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika Vagott

Reczne sterowanie kolorem.

Witam serdecznie!
Czy moglbym prosic o jakies porady jak w najprostrzy sposob wykonac lampke na jednej diodzie RGB, ktorej kolorem bedzie sterowac sie za pomoca potencjometrow?

Pozdrawiam.

Portret użytkownika mirley

Sterowanie kolorem

W najprostszy sposób to można zrobić na przyciskach. To znaczy 6 przycisków każdy kolor + i -. Drugim wyjściem jest ewentualnie impulsator i 3 przyciski ale musiał bym to sprawdzić czy pójdzie tak jak myśle. Jeżeli chciałbyś faktycznie na potencjometrach to najprościej zmienić mikrokontroler na ATMEGA 8 bo ma przetworniki analogowo cyfrowe. Nie wiem jednak jak bedzie wyglądała obsługa diod rgb (sterowanie pwm) i przetwornika bo nigdy tego nie robiłem.

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika White

Problem

Witam,
Mój problem z lampką jest następujący: Wszystko zgodnie ze schematem, wykorzystałem tylko przyciski +/- pamiętam o ich przestawieniu 180* reszta wd. schematu.Fuse bity ustawione według rysunku dioda wspólna Anoda program także.A efekt tego taki: Dioda włącza się prawidłowo po 2-3s zapala się kolor fioletowo różowy ale lekko miga i nic sie nie dzieje stoi w miejscu.Po dołączeniu kolejnych przycisków pzrechodzi w stan zielony,czerwony morski ale pomigo tego nic. Zdarza się ze mruga jak sie robie jasniej i takie tam bugi.
Po włączeniu powinna polecieć ale stoi w miejscu na fiol-roż.Co teraz?
z góry dzięki za odp.

Portret użytkownika mirley

Czy dioda D1 jest

Czy dioda D1 jest podłączona? Jeśli nie to dołącz ją do układu, bo jej miganie świadczy o poprawnym działaniu animacji. Jaki masz rezonator kwarcowy? Z twojego opisu wynika że wszystko działa poprawnie

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika White

Problem

Rezonator 16Mhz tak jak powinien być, dioda D1 nie podłączona na stałe ale podłączałem żeby sprawdzić i no nie powiem bo zamigała potem zaczęła świecić ciągle następnie bardzo szybko.Ale program ciągle stoi w miejscu nic sie nie zmienia cały czas ten sam kolor.Fioletowo różowy.

Portret użytkownika White

Problem

Przeanalizowałem to jeszcze raz i wprowadzam poprawkę.Masz rację lampka wydaje się jakby działała tylko przy zmianie koloru zawsze jeden kolor miga przyspieszyłem animacje i okazało się ze przechodzą kolory tylko migają niestety.Rezonator nowy 16Mhz Fusbity przestawiałem według rysunku.Zasilanie +5V bezpośrednio na układ miałem swoje źródło 5V więc nie potrzebowałem tego ze schematu.

Portret użytkownika mirley

Najpierw sprawdź miernikiem

Najpierw sprawdź miernikiem czy przyciski nie są przypadkiem cały czas zwarte do masy lub nie są typu "normalnie zwarte" (N.C.) lub całkowicie najlepiej odłącz przyciski.

Jeśli dalej nie działa to w pętli głównej programu:

Do
 If Flaga = 1 Then                                          'co 32ms
   Flaga = 0
 
   Gosub Przyciski     <<<<<<<<<---------- TO USUŃ NA CHWILĘ
 
   ......

Usuń zaznaczoną linijkę, skompiluj program, ponownie wgraj do mikrokontrolera. Zablokuje to możliwość korzystania z przycisków. Jeśli zacznie działać to znaczy że masz zwarte na stałe do masy linie przycisków + i - co w efekcie daje przycisk stop. Podłącz diodę D1 tak jak pisałem wcześniej. Ma ona migać cały czas a świecić ciągle tylko w trybie zatrzymania animacji

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika White

Problem

Z góry dziękuje za twoje błyskawiczne odpowiedzi, doceniam to.Przyciski sprawdzałem zanim je wlutowałem wogóle więc są na pewno dobre ale jak już zauważyłem w poscie wyżej lampka rusza i animacja jest tylko dlaczego mruga jeden kolor??Powiedzmy świeci się niebieski i czerwony na samym początku to jeden z nich ciągle mruga i z biegiem upływu animacji podczas zmiany koloru każdy kolejny tylko jeden kolor miga.

Portret użytkownika mirley

Z tego co piszesz wygląda

Z tego co piszesz wygląda jakbyś nie ustawił fusebitów i było włączone dzielenie częstotliwości przez 8. Przy zmianie koloru bedzie wtedy efekt jak opisujesz to znaczy: Gdy kolor jest jednolity np. Niebieski to świeci ciągle, ale gdy zaczyna się włączać drugi kolor to miga aż do pełnego zaświecenia

Sprawdź jeszcze raz fusebity, już wiele osób uruchomiło tą lampkę i działała bez zarzutu. Spróbuj też ponownie zaprogramować mikrokontroler, może wystąpił jakiś błąd którego przypadkiem nie zauwarzyłeś

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika White

Problem

Powstał kolejny problem, chciałem ustawić po raz kolejny te fusebity i wcisnąłem przypadkowo po prawej stronie write coś tam i sie zablokowały fusebity i nie mogę nic wgrać do procka.Wyskakuje błąd readLa coś tam .Jak to odblokować wie ktoś może?A przy popzrednim programowaniu zna pewno ustawiałem wd. screena.

Portret użytkownika mirley

Nie mam pojęcia co to

Nie mam pojęcia co to oznacza bo jak się od ładnych paru lat interesuje mikrokontrolerami takie coś nigdy mi nie wyskoczyło. Jeśli możesz przestawiać fusebity dalej to ustaw "Lockbits" na 11 (No memory lock features enabled) i powinno pomoc. Jeżeli nie możesz nic ustawić więcej to niestety nie mogę w niczym pomoc bo nie wiem co dokładnie zrobiłeś

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika SquiZZlo

Witam Mirley! Mam troche

Witam Mirley! Mam troche inne pytanie niz wszyscy przedmowcy. Zainspirowany Twoim pomyslem postanowilem zrobic sobie wlasna lampke RGB. Nie chcialem kopiowac kodu, gdyz ucze se programowac mikroprocesory w jezyku C i uznalem, ze bedzie to doskonaly sprawdzian moich umiejetnosci. Napisalem wiec swoj programowy PWM, i napotkalem na nastepujacy problem: Przy wypelnieniu 50% koloru czerwonego i zielonego, efekt widzialny nie jest kolorem zoltym, tak jak bym tego chcial, ale jasno-zielonym. Kolor zolty uzyskalem dopiero przy wypelnieniu okolo 85% czerwonego i 15% zielonego. Mniej wiecej tak samo dzieje sie dla koloru "magenta" - powinienem go uzyskac przy wypenieniu 50% koloru czerwonego i niebieskiego, ale i tutaj jest inaczej. Jedyny poprawny kolor ("cyan") otrzymuje przy wypelnieniu 50% koloru zielonego i niebieskiego - czyli wtedy, gdy kolor czerwony jest zupelnie wylaczony. Chcialem zapytac, czy podobnie bylo w Twoim projekcie, i czy w zwiazku z tym zastosowales jakies przeliczenia, aby zlikwidowac ta nieliniowosc? Jezeli nie, to, jak sądzisz, co moze byc przyczyna tego zjawiska? Bo ja widze tylko dwie mozliwosci - albo moja dioda jest jakas dziwna, albo prad plynacy przez jej czesc odpowiedzialna za kolor czerwony ma tak duzy wplyw na subiektywne postrzeganie koloru. Probowalem jednak dac mniejszy rezystor na odpowiednia nozke - jezeli nawet byl jakis efekt, to go nie dostrzeglem. Wszelkie Twoje sugestie beda bardzo mile widziane. Mam diode RGB ze wspolna anoda, moj uC to ATMEGA8 zasilany z 7805, przy rezystorach 460 ohm przez nozki koloru zielonego i niebieskiego plynie prad 2.1 mA, a przez czerwony 3.7 mA (kazdy mierzony przy wypelnieniu 100%) Dzieki z gory za pomoc!

Portret użytkownika mirley

Witam Mimo świadomości

Witam

Mimo świadomości problemu ktory opisujesz, wogole sobie dałem z nim spokoj. Dla mnie przy budowie liczył się efekt wizualny a nie zrobienie określonych kolorow. Przede wszystkim bedzie trzeba zlinaryzować jakoś krzywą czułości oka (link) ale do tego jeszcze jednocześnie rożne kolory diod mają rożne charakterystyki. Napewno będziesz musiał przez każdą diodę puścić inny prąd aby wszystkie kolory były widziane jednakowo. Jeszcze osobiście zwiększył bym prąd płynący przez diody tak aby był większy od 10mA i zobaczył czy coś się zmieni. Sproboj dać takie rezystory jak ja u siebie. Wydawało mi się że jasność wtedy na oko jest podobna dla wszystkich kolorow. Więcej nie mogę niestety pomoc ale temat jest ciekawy. Napisz o efektach swoich testow

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika Adam

Zmiana kodu żródłowego

Witam
Nie znam się na programowaniu dlatego zwracam się z prośbą i przerobienie kodu źródłowego tak aby współpracował z pilotem.
Coś na zasadzie tego układu Twojego autorstwa [url=http://mirley.firlej.org/odbiornik_rc5]. Zastanawiałem się nad wykonaniem tamtego układu i podłączenia jego wyprowadzenia zamiast przełączników, ale nie wiem czy jest sens komplikować sobie układ. Czy istnieje możliwość takiej zmiany kodu lampki, żeby od razu można było sterować nią za pomocą pilota ? Gdzie wtedy trzeba podłączyć wtedy odbiornik podczerwieni, jakiego użyć i jakie elementy będą jeszcze potrzebne ? (podłączyć dodatkowo jakieś oporniki i kondensatory czy nie ?) Z góry dziękuję za pomoc :)
Myślę że taka modyfikacja przyda się wielu osobom.
Pozdrawiam

Portret użytkownika mirley

Taka zamiana jest napewno

Taka zamiana jest napewno możliwa ale wymaga trochę testow i zastanawiania się a ponadto należało by zastosować większy mikrokontroler bo program do lampki zajmuje prawie całą pamięć flash attiny2313. Najprościej na dzień dzisiejszy to wydaje mi się zastosować układ o ktorym wspomniałeś. Nie mogę teraz napisać takiego programu obsługującego pilot ze względu na brak czasu.

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika White

Pomoc

Proszę o pomoc, już II attiny2313 przestało mi działać.Ustawiłem Fusebity i wcisnołem Write fusebit i wyskoczył błąd readLB i nic nie moge zrobić, ani wgrać programu ani odczytać a ni nic ustawić o co chodzi?? Pomoże ktoś.?