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 gosc

w przypadku tranzystorów

w przypadku tranzystorów mosfet buz11 jakich oporników użyć przy podłączeniu ich bramek do pinów? 1kohm?? czy w ogóle ich nie stosować??

Portret użytkownika mirley

Rezystory

Możesz użyć 3k3 lub 10k tak dla bezpieczeństwa ale nie jest to konieczne. Pez oporników też powinno działać :))

-

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 fifi

Mam pytanie co do tego

Mam pytanie co do tego programu. Po zaprogramowaniu i uruchomieniu układu w jakim on trybie pracuje?? 900 kolorów albo w tym gdzie jest więcej kolorów. Zrezygnowałem z przełączników bo nie były mi potrzebne żadne ustawienia chciałem po prostu żeby płynnie zmieniało kolory i w sumie zmienia ale jakoś mało tych kolorków mam. Cały cykl trwa może 2 minuty i znowu od początku te same kolory lecą a no nigdy nie ma różowego czy też białego o których jest w temacie napisane. Co do przełączników to rozumie ze ich zadaniem jest w momencie naciśnięcia go zwiera on którąś z nóg układu do masy tak?? Bo jeżeli np zrobie zwarcie 2 nogi do masy to wg tego powinien przejść od razu do koloru czerwonego a tego nie robi więc nie wiem za bardzo jak to działa... Proszę o info....

Portret użytkownika Marcin

W tych przyciskach chodzi o

W tych przyciskach chodzi o zwarcie masy z którąś z końcówek układu tak jak właśnie myślisz. Tylko kombinuj z tymi końcówkami układu bo u mnie przyspieszanie animacji jest na innej końcówce niż na schemacie. Nie wiem czego to jest wina. Ale pamiętaj żebyś masy nie zwarł z inna końcówka niż od PD0 do PD4 a są to nóżki 2,3,6,7,8. Właśnie, nie dało by się zmienić programu tak aby lampka startowała z innego programu? np tego w którym jest więcej kolorów:)

Portret użytkownika Marcin

Mirley tylko nie pomyśl że

Mirley tylko nie pomyśl że krytykuje twoją lampkę!! jest fajna i ma bajery!! I jak naj bardziej myśle o niej pozytywnie. Ale każdy ma jakieś widzi misie:-)

Portret użytkownika mirley

Kolory, przyciski

Żeby lampka startowała od innego trybu trzeba zmodyfikować warunki początkowe programu:

'************ Warunki Poczatkowe ***************
'***********************************************
Pozycja = 0
Dzielnik2 = 0
Szybkosc = 10 
Stopbit = 1
Animacja = 0
'*******  Warunki Poczatkowe Koniec  ***********

Zmienna Szybkosc określa dzielnik częstotliwości z jaką zmieniają się kolory. Może mieć wartość od 1 do 40, przy czym najszybsza zmiana występuje dla 1. Zmienna Animacja określa rodzaj animacji z jaką startuje lampka. Dla trybu losowych zmian ustawcie wartośc na 1.

Po zmianie program trzeba oczywiście ponownie skompilować i wrzucić do procka.

Odnośnie przycisków to zwarcie do masy musi nastąpić na conajmniej 180ms aby przycisk zadziałał gdy przechodzi po raz pierwszy ze stanu rozwartego do zwartego. Podczas trzymania działanie zależy od tego co zostało wciśniete.

Ps. Sposób animacji kolorów w trybie 1 został wymyślony na zasadzie "a co by było gdybym sobie takie losowe przejścia zrobił" natomiast w trybie 0 kolory zmieniają się jak paleta kolorów w programie colourpaint. Po prostu sprawdziłem jak tam zmieiają sie liczby R, G i B odpowiadające natężeniom barw i podobnie napisałem. W trybie 0 nigdy nie świecą 3 diody więc kolor biały jest niemożliwy do osiągnięcia.

-

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 Marcin

Przeprogramowałem i

Przeprogramowałem i startuje od trybu losowego:) podoba mi się to programowanie:) Teraz gdy nacisnę przyciski G,+, i -, to lampka przejdzie w stan animacji??? Pytam bo jeszcze nie mam zamontowanych przycisków:)

Portret użytkownika fifi

Po przeprogramowaniu (

Po przeprogramowaniu ( zmieniłem wartość animacji na 1 )jest taki problem że zanim diody się zaświecą mija 10 sekund od momentu podpięcia zasilania.

Portret użytkownika mirley

Kolor poczatkowy

Dlatego na początku nic nie świeci bo żaden kolor nie wylosował się aby się rozjaśnić. Możesz to zmienić dodając w warunkach początkowych trzy linijki:

Rled = x
Gled = x
Bled = x

gdzie x oznacza wartośc (0-100) natężenia poszczególnych barw na starcie.

Przyciski tak jak pisałeś wcześniej działają odwrotnie czyli przycisk R jest w miejscu +, G w miejscu - (odwrócone o 180 stopni) Właśnie sobie o tym przypomniałem że po złożeniu lampki musiałem zmienić to w programie bo mi się nie podobał + z lewej strony :)

Jeżeli uwzględnisz ten fakt to działanie przycisków będzie takie jak w tabelce na stronie

-

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 fifi

No teraz to jestem pod

No teraz to jestem pod wrażeniem. Mój układzik bardzo fajnie zmienia kolorki i jest ich bardzo ale to bardzo dużo a do tego już nie włącza się po 10 sekundach ale startuje od zaraz ( ustawiłem sobie super kolor na start). Bardzo dziękuję za szybką pomoc i odpowiedz na moje pytania. Pozdrawiam

Portret użytkownika Marcin

jakie guziki przycisnąć

jakie guziki przycisnąć aby układ z tego zaprogramowania (czyli tego gdzie startuje od losowych) przeszedł w stan animacji??

Portret użytkownika mirley

Przyciski

+, - i R jednocześnie, według tabeli na stronie. Najpierw jednak zidentyfikuj który przycisk jest który :)

-

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 Marcin

W które miejsce dokładnie

W które miejsce dokładnie trzeba wkleić te linki w warunkach początkowych?

Portret użytkownika mirley

Warunki początkowe

Np zaraz po linijce Szybkosc = xx

-

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 fifi

Ściągnij plik "kod

Ściągnij plik "kod źródłowy" który jest trochę wyżej w plikach do pobrania (ten bez niczego jest dla wsp. anody a tam gdzie pisze dla katody jest dla katody:) ). Plik otwierasz w BASCOM za pomocą opcji "open". Szukasz etykiety "warunki początkowe" - est zaraz na początku więc za dużo szukać nie trzeba:). Co i jak można zmienić napisał autor więc powtarzać nie trzeba. Co do wartości natężenia koloru z jakimi ma startować nasze urządzenie to kopiujesz te trzy linijki tak zaraz pod "Animacja" i ustawiasz wartości. Później kompilujesz, wrzucasz do kostki i śmiga. Mam nadzieję że pomogłem:)

Portret użytkownika Marcin

Wklejam te linki pod

Wklejam te linki pod animacje wpisuje wartości i po skompilowaniu wyskakuje błąd... kombinowałem umieszczać te linki w różnych miejscach w warunkach początkowych i ciągle mi ten błąd wyskakiwał. I tu jest mój problem:)

Portret użytkownika Marcin

Wklejenie pod szybkością

Wklejenie pod szybkością też nic nie daje. program wskazuje na błąd ostatniej linijki programu czyli: '******** Inne Etykiety Koniec ************ zaznacza to na czerwono.

Portret użytkownika fifi

To już nie wiem czemu się

To już nie wiem czemu się tak dzieje mi od razu działało. A teraz pytanie do autora zauważyłem że np kolor niebieski czy turkusowy występuje duuuużo częściej niż np zielony, żółty czy też czerwony na którego praktycznie trzeba oczekiwać. Diody np przechodzą w kolor zielony a później znów robią się białe czy też niebieskie. Ten sam efekt jest gdy mam wpisane wartości początkowe czy też nie. Co może być przyczyną?? NA zdjęciach np mamy fajne ciepłe barwy a u mnie te kolory zapalają się dosłownie na chwilę i przechodzą w te niebieskie, białe itp które świecą znacznie dłużej.

Portret użytkownika mirley

Problemy z kodem

Właśnie dodałem do programu linijki które napisałem wcześniej. Wygląda to tak:

'************ Warunki Poczatkowe ***************
'***********************************************
Pozycja = 0
Dzielnik2 = 0
Szybkosc = 10
Stopbit = 1
Animacja = 0
Rled = 0
Bled = 100
Gled = 0
'*******  Warunki Poczatkowe Koniec  ***********

Kompilacja przebiegła bez problemu. Błąd kompilacji może być spowodowany tym że niechcący coś zostało skasowane z kodu lub jakaś literka dopisana. Ściągnij ponownie kod źródłowy odemnie ze strony i wklej warunki początkowe w przedstawionej postaci. Musi działać

Odnośnie częstości pojawiania się barw to jest to wina tego że losowane są przejścia dla każdej barwy osobno. Istnieje przez to duże prawdopodobieństwo że w jakimś stopniu zaświecą sie trzy kolory przez to ogólnie częściej pojawiają się "np jasny niebieski, biały, lekko różowy". Dodatkowo generator pseudolosowy w BASCOMIE nie jest pewnie najdoskonalszym rozwiązaniem. Trzecim powodem jest fakt że chodziło mi głównie o pierwszy tryb pracy, czyli ustalone przejścia, więc pozostałe animacje zostały niedopracowane. Zdjęcia są relacją z trybu "Animacja = 0" czyli ustalonych przejść

W wolnej chwili i jeżeli dalej będzie zainteresowanie tym tematem zajmę się ulepszeniem tego programu. Pozostawie wtedy tylko jeden tryb pracy i postaram się jakoś ulepszyć mechanizm losowości

-

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 Marcin

Może ktoś mi wysłać

Może ktoś mi wysłać gotowy skompilowany program z jakimś kolorem początkowym . Dodałem te linki wyżej i nadal wyskakuje ten błąd. Na pewno dobrze wkleiłem te linki bo w szkole pisałem podobne programy i wiem jak trzeba to wpisywać. Może to wina mojego programu... Mirley BUZ11 ma trzy wyprowadzenia GATE DRAIN SOURCE. Driny wiem że to DRAIN Ale nie wiem które wyprowadzenie jest bramką a które źródłem. Pozdrawiam

Portret użytkownika Marcin

Znalazłem na necie

Znalazłem na necie wyprowadzenia BUZ11 wyglądają one ta:
1- 'G'-BAZA-BRAMKA
2- 'D': -KOLEKTOR-DRENY
3-'S': -EMITER - ŹRÓDŁO
Ale nadal mam problem z zaprogramowaniem z kolorem startowym

Portret użytkownika mirley

Kolor startowy

Przesyłam trzy pliki na twojego maila. Najpierw otwórz w BASCOMIE plik *.bas i skompiluj go. Jeśli wystąpi błąd to jest jakiś problem z bascomem. Zalecam wtedy ściągnąć ponownie najnowszą wersję ze strony producenta i przeinstalować. Pozostałe dwa pliki zawierają program z kolorem startowym niebieskim.

Odnośnie tranzystora to G-GATE-BRAMKA, D-DRAIN-DREN i S-SOURCE-ŹRÓDŁO

-

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 Marcin

Przeinstalowałem program

Przeinstalowałem program bascom na nieco starszy bo na wersję 1.11.8.1 bo taki miałem w pełnej wersji i kompilacja przechodzi bez problemu, czasem program nie chce się wgrać na procka ale to tylko czasem:) Układzik śmiga. Dzięki za wszelkie pomoce. Na pewno jeszcze się odezwę na tej stronce:)

Portret użytkownika Marin

I już mam następne

I już mam następne pytanko:) Mam zamiar do swojej lampki wstawić 6diud RGB lub nawet więcej. Ale taka ilość światła nie zawsze jest potrzebna wiedz chce wstawić jakiś potencjometr którym będzie się regulować jasność świecenia. I rozmyśliłem to tak: Tranzystor buz11 podpiąć do + zasilania i od niego dopiero podpiąć wspólny plus do diod RGB i podpiąć potencjometr który będzie regulował przepływ prądu w tym tranzystorze. Dobrze to wymyśliłem?:) nie zakłóci to pracy diód??

Portret użytkownika mirley

Regulacja

Po pierwsze uważam że powinieneś do takiego celu zastosować tranzystor MOSFET P i potencjometr podłączony jak regulowany dzielnik napięcia z suwakiem podłączonym do bramki. Przynajmniej ja bym spróbował to tak zrobić ale może się okazać że poziom zaświecenia jednego koloru będzie wpływał na inny. Lepszym rozwiązaniem może okazać się zastosowanie trzech tranzystorów na każdy kolor po jednym a i tak nie jestm pewien czy taki układ zda egzamin.

Najlepiej będzie jeśli zostawisz układ z sześcioma diodami RGB a w programie będziesz ustawiał ich jasność. Na początku spróboj zmienić w programie fragment:

 Incr Licznik
 If Licznik = 100 Then Licznik = 0

zastępując liczbę 100 wartością z przedziału 100-200. Jeśli będzie ciemniej świecić i nie migotać to można by pomyśleć o programowym ustawianiu jasności.

-

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 wieczor

Potencjometr

Jak można by zrealizować zmianę barw poprzez regulacje potencjometrem?

Portret użytkownika Marcin

zmieniałem If Licznik na

zmieniałem If Licznik na 150 żadnej zmiany nie było dopiero przy 200 było widać migotanie diody ale nadal jasność była ta sama. Mirley możesz podać jakiś model tranzystora mosfet p i jak trzeba podpiąć jego wyprowadzenia aby zrobić to ściemnianie wyżej wymienione? Może nie zda to egzaminu ale spróbować warto:)

Portret użytkownika Piotr 171

pytanie

ja mam ciągle problemy z zaprogramowaniem ciągle mi nie wykrywa procka porobiłem kilka zdjęć tego co zrobiłem mógł by ktoś kto się zna na tym ja bym mu te zdjęcia wysłał i morze by wypatrzył błąd

Portret użytkownika Marcin

Mirley jest tu najlepszy w

Mirley jest tu najlepszy w pomocy. Wyżej masz opisane co powinieneś sprawdzić gdy ci nie wykrywa procka też miałem te problemy. Jaki masz programator?

Portret użytkownika Piotr 171

stk 200

stk 200

Portret użytkownika Marcin

I taki sam masz ustawiony w

I taki sam masz ustawiony w bascomie?? Czytałem gdzieś że trzeba mieć w systemie windows zainstalowaną jakąś dowolną drukarkę pod LPT. Ja Zainstalowałem HP LaserJet 2000. I działa bez problemu a bez drukarki jeszcze nie próbowałem.

Portret użytkownika Marcin

Mirley przedstawiłem

Mirley przedstawiłem chłopakom na elektrodzie twoją lampke zerknij tu http://www.elektroda.pl/rtvforum/topic1095404-60.html i patrz na post 25 Wrz 2008 22:09. Chyba nie jesteś o to zły?? jeżeli tak to to usunę.

Portret użytkownika mirley

Tranzystor i Licznik

Jeżeli chodzi o tranzystor MOSFET P to może być IRF9540 (19A) lub IRF9510 (4A) a jeśli takiego nie ma w sklepie to wpisz na google "P-MOSFET" lub "MOSFET P" i się znajdzie jakiś z pewnością

Odnośnie programu to spróboj jeszcze jednej sztuczki a mianowicie zmien kilka linijek w sterowaniu kolorami czyli we fragmencie:

 If Animacja = 1 Then
       Incr Pozycja
       If Pozycja >= xxxxx Then
         Pozycja = 0
         Rand_r = Rnd(3)
         Rand_g = Rnd(3)
         Rand_b = Rnd(3)
       End If
 
       If Rand_r = 1 Then If Rled < yyyyy Then Incr Rled
       If Rand_r = 2 Then If Rled > 0 Then Decr Rled
 
       If Rand_g = 1 Then If Gled < yyyyy Then Incr Gled
       If Rand_g = 2 Then If Gled > 0 Then Decr Gled
 
       If Rand_b = 1 Then If Bled < yyyyy Then Incr Bled
       If Rand_b = 2 Then If Bled > 0 Then Decr Bled
     End If

W miejscu oznaczonym jako xxxxx wstaw np. 25 a w yyyyy 50 wtedy jasność wszystkich barw powinna spaść do połowy ale zmiejszy się też ilość kolorów do połowy. Licznik o którym była mowa wcześniej daj na 100 to jego domyślnej wartości.

Odnośnie programatora o którym teraz mowa to w bascomie trzeba ustawić STK200/STK300 Programmer i wszystko śmiga. Nie trzeba żadnych sterowników od drukarki. Działa odrazu po zainstalowaniu windowsa i bascoma. Należy dokładnie sprawdzić wszystkie połączenia i pamiętać o podłączeniu zasilania do programatora STK200, podłączeniu rezonatora kwarcowego do mikrokontrolera i oczywiście zasileniu mikrokontrolera (z tego samego zasilacza co programator). Masa płytki z procesorem powinna być połączona z masą programatora.

Jeżeli problemy z programowaniem dalej będą się powtarzać to polecam zrobić prosty kabelek programujący i sprawdzić czy na nim wszystko idzie. Cały opis jak to zrobić znajduje się w artykule dostępnym tutaj

-

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

Elektroda

Nie ma sprawy dzięki za reklamę :))

-

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 Marcin

Nie ma za co. Z tymi xxx i

Nie ma za co. Z tymi xxx i yyy to się pobawię gdy będę mieć troszkę czasu. Jaki zasilacz muszę zastosować do 6diud. Mam 7V 300mA i do tego stabilizator na 5V. Pociągnie ten zasilacz tyle diud??

Portret użytkownika mirley

Zasilanie

Mam pewne obawy co do 300mA. 6x3 struktury led daje razem 18. W impulsie każda z nich może pobierać ok 40mA co może dać nawet 720mA. Zastosowane rezystory umożliwiają pobieranie takiego prądu. Szczerze mówiąc nie mierzyłem ile pobiera lampka z dwoma diodami. Testuj i sprawdzaj możesz podłączyć do zasilacza komputerowego i zmierzyć jaki prąd jest pobierany przez całą lampkę przy kolorze białym.

-

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 Marcin

Ja też właśnie mam te

Ja też właśnie mam te obawy ale muszę czekać na dostawę diud w sklepie. A obecnie posiadam jedną SMD, ona chyba będzie mieć inny pobór niż normalna więc pomiary mi na razie nie pomogą ale gdy tylko dorwę te diody to to zmierzę i napiszę wynik pomiaru:)

Portret użytkownika Marcin

Mirley mam mosfeta IRF9610.

Mirley mam mosfeta IRF9610. Jak go podłączyć aby zrobić to ściemnianie?:)

Portret użytkownika mirley

Mosfet

Najpierw ściągnij sobie kartę katalogową dostępną tutaj. Tam na rysunku 18b (Fig. 18b) jest schemat układu pomiarowego. Na tym schemacie w "przerywanej" ramce znajduje się układ z tranzystorem nazwany "Current Regulator" (regulator prądu). Zrob ten układzik z "przerywanej" ramki a następnie wykorzystaj schemat, ktory niedawno umiesciłem w opisie lampki mowiący o podłączeniu wielu diod. Jak dobrze pamiętam to masz diody ze wspolna katodą więc musisz wszystko odwrocić do gory "nogami". Układ regulatora prądu umieść między +5V a źrodła tranzystorow sterujacych diodami.

Tego co ci napisałem nie sprawdzałem w praktyce i nie wiem czy zadziała. Pokombinuj trochę i napisz o efektach. Sprawdź jeszcze modyfikacje programu o ktorej wcześniej pisał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 Marcin

Mam diodę ze wspólną

Mam diodę ze wspólną anodą:) Ale uruchomiłem ten regulator i działa ale przy większym ściemnieniu animacja staje się nie płynna i przeważa kolor niebieski a jest to spowodowane chyba tym że napięcie za tym regulatorem nie jest stabilne. I po zapalaniu każdego koloru osobno na każdym kolorze za regulatorem jest inne napięcie. Wypróbuje użyć LM350 jest to stabilizator regulowany za nim napięcie powinno być stałe:) opisze wtedy jaki będzie efekt. Jutro zrobię zmiany w programie w procku i napisze co się po tym zmieni

Portret użytkownika mirley

Diody i Regulator

Możesz też zastosować 3 tranzystory w regulatorze (połączone bramkami), powinno pomoc. Każda dioda pobiera inny prąd i wywołuje inny spadek napięcia

-

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 Marcin

Niestety zepsuł mi się

Niestety zepsuł mi się samochód i muszę trochę zaoszczędzić wiedz zostawiam ściemnianie zrobione na IRF9610 podpiętym pod wspólny plus diody. Jeżeli znajdę jutro czas to zrobię zmiany w programie. Mirley czym pomalować wytrawioną płytkę aby nie śniedziały ścieżki?

Portret użytkownika mirley

Płytka

Płytkę można pomalować roztworem kalafonii w spirytusie lub rozpuszczalniku

-

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 Marcin

Witam po przerwie. Zrobiłem

Witam po przerwie. Zrobiłem te zmiany w programie i diody świecą z tą samą jasnością, za to ilość kolorów chyba sie zmieniła i często się zdarza że na chwilkę gasną wszystkie kolory. Mirley może zrobić z lampki mini stroboskop:) jak zmienić program aby po naciśnięciu jakichś guzików lampka przeszła w kolor biały mrygający a mryganie można by przyspieszać lub zwalniac przyciskami +,-

Portret użytkownika mirley

Stroboskop

To że po modyfikacji bedzie mniej kolorow pisałem już wcześniej. Wtedy normalnym jest że częściej wypadają wszystkie rowne zero i gaśnie całość.

Co do stroboskopu to prostym rozwiązaniem będzie modyfikacja trzeciego trybu pracy:

  'trzeci tryb - losowy kolor
     If Animacja = 2 Then
       if Rled > 0 then
         Rled = 100
         Gled = 100
         Bled = 100
       else
         Rled = 0
         Gled = 0
         Bled = 0
       end if 
     End If

powinno dać to miganie z wypełnieniem 50%, sprawdź czy efekt jest zadowalający.

Coś lepszego będzie problem już tam zmieścić bo minilampka nie była zaprojektowana do takich dodatkowych modyfikacji i zastosowany ATTINY2313 ma mało miejsca na program :)

-

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 YORG

Klawiatura Lampki

Witam,zrobiłem tę lampkę z Twojej strony i mam pytanie: co może być przyczyną że u mnie przyciski działają odwrotnie niż Ty podajesz na stronie. Z pina 2 u mnie zwiększam szybkość,3 zmniejsza, itd. Tak że pin8 procka to u mnie SR a nie przyspieszanie +, czyli mam lustrzane odbicie tego co Ty podajesz. Mam wgrane dwa hex-y (ten twój i "ANODA") i w obydwu jest to samo. A może u ciebie jest pomyłka?

Portret użytkownika mirley

Klawiatura Lampki

Przyciski są odbiciem lustrzanym, bo zostało to zmienione, w programie troche po tym jak opisałem projekt na stronie. Powodem tego była trochę lepsza obsługa gdy plus jest z prawej strony (na to żeby zamontować przyciski od strony druku wpadłem poźniej i przez to mi się wszystko odwrociło )

-

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 YORG

No dziękuję za

No dziękuję za odpowiedź.Mógłbyś to jednak zmienić na schemacie bo budujący opierają się na nim w trakcie budowy.Ja miałem dwa przyciski pod ręką i zamontowałem je w miejsce "+" i "-".Sprawdzam układ i nie działa, włącza mi się tylko czerwone lub zielone zamiast przyśpieszać lub zwalniać.Programuję jeszcze raz i to samo. Wgrywam inny program znów to samo.Szukam błędu przy programowaniu,no kurde nie wszystko dobrze.Innym to działa to dlaczego mnie nie. Już to chciałem rozebrać,procka użyć do czegoś innego ale że nie rezygnuję tak łatwo dokupiłem pozostałe przyciski. Znów próbuję i o dziwo działa tylko przyciski poodwracane. Pytam na forum Elektrody i wszyscy wiedzą o złym opisie ale nikt tego nie ujawnia,widzę że ty też wiesz i nie zmieniłeś tego. Jeżeli początkujący też mieli podobny problem to na pewno tej lampki nie zrobili.Na schemacie powinno to być zmienione albo wyraźnie napisane że jest błąd,bo uważam że to błąd tym bardziej przy mikrokontrolerach.Jak sobie ktoś przyciski wlutuje to jego sprawa ale schemat powinien być Ok bo to podstawa.Układ budują młodzi początkujący i zniechęcają się po pierwszych nieudanych próbach.Ja to zbudowałem ponieważ jeden z kolegów prosił mnie o zaprogramowanie ATtiny i żeby mieć pewność że dobrze to zrobiłem zbudowałem PCB do sprawdzenia.Napisałem mu że to nie działa poprawnie a okazuje się że jednak tak

Portret użytkownika mirley

Klawiatura Lampki

Schemat już poprawiłem tylko jeszcze nie jest podmieniony na stronie. Nie wszystko da się przewidzieć przy projektowaniu a o wielu rzeczach zapomina się przy opisie. Po to właśnie zrobiłem możliwość pisania pytań pod każdym projektem

-

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 piotr171

przed zaprogramowaniem po

przed zaprogramowaniem po podłączeniu zasilania brak świecenia małej zielonej diodki jest błędem ?