Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 29 lis 2024, o 16:48


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 128 ]  Przejdź na stronę Poprzednia strona  1, 2, 3, 4, 5  Następna strona
Autor Wiadomość
PostNapisane: 28 sty 2014, o 20:02 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27315
Lokalizacja: Szczecin
Pomógł: 1041

charsz napisał(a):
PS. Hardkorowy mirku od zapedzania do prac domowych rozwalil mnie na lopatki
PS2. To ten od silowania sie z callbackami?


No tak przedawkowałem piguły atnelowskie i tak wyszło :lol:

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 sty 2014, o 21:50 
Offline
Użytkownik

Dołączył(a): 10 sie 2013
Posty: 66
Lokalizacja: Szczecin
Pomógł: 7

Mirku. Czepnę się tylko drobnostki, choć całokształt podziwiam. W poradniku Magic Led part 04 około 0:34:03 wspominasz,że instrukcje ASM typu Call i Ret zajmują 2 cykle zegara. Są to najdłuższe instrukcje ASM o czasie trwania 4 cykli. Pochodne od Call czyli Rcall Icall trwają 3 cykle. To taka wzmianka na poczet przyszłych poradników ze wstawkami ASM. Pozdrawiam.

_________________
Build:succeeded or up-to-date, 0 failed, 0 skipped



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 sty 2014, o 22:05 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27315
Lokalizacja: Szczecin
Pomógł: 1041

daro2020 napisał(a):
Mirku. Czepnę się tylko drobnostki, choć całokształt podziwiam. W poradniku Magic Led part 04 około 0:34:03 wspominasz,że instrukcje ASM typu Call i Ret zajmują 2 cykle zegara. Są to najdłuższe instrukcje ASM o czasie trwania 4 cykli. Pochodne od Call czyli Rcall Icall trwają 3 cykle. To taka wzmianka na poczet przyszłych poradników ze wstawkami ASM. Pozdrawiam.


no tak - rzeczywiście z rozpędu mówiłem ... i powiem szczerze, że nawet nie pasowało mi to - bo ret szczególnie tam powodował wydłużenie końcówki bitu ;) ... tak to jest jak się z pamięci leci czasem

więc bardzo słuszna uwaga ... i dziękuję

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 30 sty 2014, o 21:41 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 kwi 2013
Posty: 65
Pomógł: 0

Może to głupie pytanie będzie, możecie mnie pojechać ale ja tego nie rozumie :?

Mamy kod:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Liczby 1,2,4,8,16,32,64,128 to konkretne bajty, ok, w 8-miu linijkach mamy r,b,g każde 8 bitów odpowiada za jasność świecenia pojedynczego koloru w obudowie diody, mamy też linijkę w której wpisujemy który kolor ma świecić bądz nie i z jaką jasnością

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Nie wiem jak się ma te 255 do if ( b & 128 ); i do pozostałych linijek kodu pierwszej ramki danych "g"
Pewnie jakieś podstawy się kłaniają ale czy może ktoś wytłumaczyć?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 30 sty 2014, o 21:49 
Offline
Użytkownik

Dołączył(a): 24 kwi 2013
Posty: 454
Pomógł: 30

Dawid2379 napisał(a):
Liczby 1,2,4,8,16,32,64,128 to konkretne bajty...

Nie tyle bajty, co maski bitów.

if ( b & 128 ) sprawdza czy pierwszy bit liczby b, która jest jedno bajtowa jest równy jeden.
if ( b & 64 ) -------||----- drugi -------------------------||-------------------------- itd.



Ostatnio edytowano 30 sty 2014, o 21:58 przez ciamciak, łącznie edytowano 3 razy

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 30 sty 2014, o 21:49 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 10 sty 2014
Posty: 446
Lokalizacja: DKL
Pomógł: 53

Jeden bajt to osiem bitów. Np g = 174 (dec) = 10101110 (bin) teraz w każdym z if-ów robimy maskowanie AND kolejno:
128 = 10000000, wynik operacji TRUE, czyli wysyłamy 1,
64 = 01000000, wynik FALSE, wysyłamy 0,
32 = 00100000, wynik operacji TRUE, wysyłamy 1
.....
W ten oto sposób wysyłamy do magic led-ów liczbę dla g = 174

To faktycznie są postawy operacji na liczbach, mam nadzieję ze ten przykład co nieco ci rozjaśni.

_________________
Migracja z punktu B do punktu C
Pozdrawiam



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 30 sty 2014, o 21:58 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 10 mar 2013
Posty: 739
Lokalizacja: Poznań
Pomógł: 84

W ten sposób sprawdzasz konkretny bit czy jest zero czy jeden
np.

if(255 & 128)

da ci wynik true ponieważ wartość ósmego bitu liczby 255 to jeden

__1xxxxxxx
__10000000
&
------------
__10000000

jeśli by na pozycji 128 (bit ósmy) było zero wynikiem byłaby wartość false (zero)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 30 sty 2014, o 22:02 
Offline
Użytkownik

Dołączył(a): 22 gru 2012
Posty: 256
Lokalizacja: Rumia
Pomógł: 22

Dodam tylko, że dobrze jest mieć pod ręką ściągę z "tablicami prawdy" http://pl.wikipedia.org/wiki/Tablica_prawdy dzięki temu od razu byś zobaczył czemu tak są skonstruowane warunki.

_________________
http://www.marcingibas.pl



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 30 sty 2014, o 22:04 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27315
Lokalizacja: Szczecin
Pomógł: 1041

Dawid2379 napisał(a):
możecie mnie pojechać ale ja tego nie rozumie


to nie jest forum na e... żeby coś takiego miało tu miejsce jak widzisz, skąd taki pomysł - zobacz, każdy chętnie tłumaczy ;)

ja tylko dodam, że kłaniają się tu podstawowe operacje bitowe i warto zajrzeć do Bluebooka do rozdziału o operacjach bitowych, o przesunięciach itp .... ok ?

ale jeśli po tych wyjaśnieniach wyżej i zajrzeniu do książki jeszcze będzie coś nie jasne to ŚMIAŁO pytaj - to warto zrozumieć

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 30 sty 2014, o 22:06 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 kwi 2013
Posty: 65
Pomógł: 0

Aaaaaa czyli generalnie cała ta operacja ma za zadanie wysłać liczbę ośmiobitową od 0 do 255 a WS2812 już wysteruje jasność świecenia danym kolorem? Zależnie od stanu ośmiu bitów (czy 1 czy 0) WS2812 odczyta jako liczbę która "mówi" mu z jaką jasnością ma świecić dany kolor, tak samo z pozostałymi dwiema diodami, tak to widzę, chociaż wiem że nie wyrażam się profesjonalnie.

Edit:
No tak muszę wrócić do książki bo coś mi się pokręciło...



Ostatnio edytowano 30 sty 2014, o 22:09 przez Dawid2379, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 30 sty 2014, o 22:09 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 10 sty 2014
Posty: 446
Lokalizacja: DKL
Pomógł: 53

Dawid2379 napisał(a):
....tak samo z pozostałymi dwiema diodami....
kolorami :)
Resztę dobrze pojąłeś :)

_________________
Migracja z punktu B do punktu C
Pozdrawiam



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 30 sty 2014, o 22:11 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27315
Lokalizacja: Szczecin
Pomógł: 1041

Dawid2379 napisał(a):
Aaaaaa czyli generalnie cała ta operacja ma za zadanie wysłać liczbę ośmiobitową od 0 do 255


No dokładnie tak (tylko pamiętaj jedna dioda WS2812 to w środku 3 diody R, G i B. Potrzeba więc trzech wartości PWM) ;) ... i dlatego sprawdzamy bit po bicie żeby w zależności od jego stanu wysłać albo zero albo jeden w omówiony w poradniku sposób ;) aż poleci łącznie 8 bitów mówiących o wartości PWM dla pierwszej zielonej diody (pierwszy wagonik z drugiej części poradnika - zajrzyj na tą animację) .... Potem dokładnie to samo z wysłaniem PWM dla czerwonej i znowu potem dla niebieskiej diody

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 30 sty 2014, o 22:12 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 kwi 2013
Posty: 65
Pomógł: 0

Kolorami kolorami miałem na myśli :) to tak jak napisałem że bajty a miały być bity, coś mi się stykówka pali troszkę :lol:

------------------------ [ Dodano po: 1 minucie ]

mirekk36 napisał(a):
Dawid2379 napisał(a):
Aaaaaa czyli generalnie cała ta operacja ma za zadanie wysłać liczbę ośmiobitową od 0 do 255


No dokładnie tak (tylko pamiętaj jedna dioda WS2812 to w środku 3 diody R, G i B. Potrzeba więc trzech wartości PWM) ;) ... i dlatego sprawdzamy bit po bicie żeby w zależności od jego stanu wysłać albo zero albo jeden w omówiony w poradniku sposób ;) aż poleci łącznie 8 bitów mówiących o wartości PWM dla pierwszej zielonej diody (pierwszy wagonik z drugiej części poradnika - zajrzyj na tą animację) .... Potem dokładnie to samo z wysłaniem PWM dla czerwonej i znowu potem dla niebieskiej diody



Tak tak panie Mirku tutaj łapie o co kaman, dziękuje:)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 31 sty 2014, o 20:01 
Offline
Nowy

Dołączył(a): 31 sty 2014
Posty: 20
Pomógł: 1

Witam no i wkoncu dolaczylem tez do forum. Tak ze tez probuje z Magic ledami jak narazie napisalem wszystko tak jak w poradnikach Mirka. Program ladnie sie kompiluje, ale wgrywam to na Atmege8 z kwarcem 16 MHz i diody ruszyly :) ale cuda sie wyswietlaja ( poprostu jak chca a przewaznie zielona ). Dodam ze mam diody WS2812B te 4 pinowe. Czy to wina diod?, czy moze atmega8 jakos inaczej z czasami wyrabia. Wydaje sie mi ze to drugie. Jak tak to czekam na nastepne poradniki.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 31 sty 2014, o 20:30 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 kwi 2013
Posty: 65
Pomógł: 0

Witam coś mi się dzieje w eclipse, jakieś dziwne błędy mi pokazuje, już się zdenerwowałem skopiowałem od nowa go a przed tym również od nowa zainstalowałem WinAVR, bo konsola pokazywała że tam coś jest nie tak. W ogóle od początku nie zawsze za pierwszym razem wgrywał wsad do uC zazwyczaj za drugim. teraz to wygląda tak:

Obrazek

No i na razie próbuje skompilować testowy projekt Magic Led:

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 31 sty 2014, o 21:40 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27315
Lokalizacja: Szczecin
Pomógł: 1041

ja tam się nie dziwię - szczególnie jak widzę - jak wielu początkujących z iście szatańską lubością rozkoszuje się zmianą domyślnego folderu instalacji WinAVR ;) a po co tam w standardowym folderze ?

C:\WinAVR-20100110

ja tam wolę dać w innym folderze, który będzie zawierał spacje a nawet czasem polskie znaczki ... i wtedy dopiero dokopię biednemu WinAvr - niech się męczy w jakimś tam

Program files(x86)

;) co tam poradniki ? ... ja zrobię po swojemu - to nic że nie będzie działać ;) ale za to będzie po mojemu bo przecież to nie ma znaczenia i tamto też nie ma znaczenia ;)

eeeeeeh

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 31 sty 2014, o 21:45 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 kwi 2013
Posty: 65
Pomógł: 0

Właśnie instaluje Indigo po kolei jak w poradniku:)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 31 sty 2014, o 21:46 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27315
Lokalizacja: Szczecin
Pomógł: 1041

tak samo po kolei WinAvr
ale najpierw odinstaluj WinAvr całkowicie
a potem od nowa w i domyślnym folderze

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 31 sty 2014, o 23:12 
Offline
Nowy

Dołączył(a): 10 sty 2014
Posty: 10
Pomógł: 0

Witajcie ;]
Wziąłem, że tak powiem na tapetę kod użytkownika sieja, zacząłem zmieniać poszczególne parametry żeby zrozumieć jak to działa i co nie co powiedzmy, że skumałem. Pozwoliłem sobie dopisać do kodu komentarze tak jak ja to rozumiem i prosiłbym o wytłumaczenie tych linijek, których nie rozumiem, a mianowicie:

1. void setpixel(int num, int color) - tutaj tworzymy funkcję, która zawiera dwie liczby całkowite tak?
2. if(i == num) - ?
3. Dlaczego wysyłając po kolei "wagoniki" color-250, color-200 itp kolejne diody święcą coraz słabiej skoro color-250 powinien być ciemniejszy niż kolejny color-200 itp? Coś na odwrót rozumuję chyba ;d
4. setpixel(a-3, 255); - tutaj zmieniałem poszczególne parametry i nie widziałem różnicy w działaniu programu, tzn w świeceniu linijki
Wybaczcie dociekliwość ale analizując kod zawsze się czegoś mogę nauczyć ;]
pozdrawiam
Tomek.

sieja napisał(a):
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.





Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 31 sty 2014, o 23:37 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 10 mar 2013
Posty: 739
Lokalizacja: Poznań
Pomógł: 84

Wyrażenie
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


jest funkcją pętli o sterowanym przebiegu
sterowanie odbywa się przez parametry zawarte w nawiasach półokrągłych

(int i=0 - deklaracja wraz z definicją zmiennej która będzie użyta do sterowania przebiegiem pętli
i<10 - warunek jak długo pętla będzie się wykonywać tutaj dopóki zmienna i będzie mniejsza od 10
i++ - określa co stanie się ze zmienną i po przebiegu jednego obiegu pętli )

a instrukcje do wykonania (ciało funkcji) w tej pętli umieszczone są w nawiasach klamrowych (bloku)
tak ja to rozumuję :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 31 sty 2014, o 23:56 
Offline
Nowy
Avatar użytkownika

Dołączył(a): 31 sty 2014
Posty: 24
Lokalizacja: Leżajsk
Pomógł: 1

BROWAReq napisał(a):
Witajcie ;]
1. void setpixel(int num, int color) - tutaj tworzymy funkcję, która zawiera dwie liczby całkowite tak?
2. if(i == num) - ?
3. Dlaczego wysyłając po kolei "wagoniki" color-250, color-200 itp kolejne diody święcą coraz słabiej skoro color-250 powinien być ciemniejszy niż kolejny color-200 itp? Coś na odwrót rozumuję chyba ;d
4. setpixel(a-3, 255); - tutaj zmieniałem poszczególne parametry i nie widziałem różnicy w działaniu programu, tzn w świeceniu linijki
Wybaczcie dociekliwość ale analizując kod zawsze się czegoś mogę nauczyć ;]
pozdrawiam
Tomek.

sieja napisał(a):
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



Tak na szybko analizując ten kod:

1. Tak, to jest definicja funkcji, która jako parametry (argumenty) przyjmuje dwie liczby całkowite
2. Ta linijka oznacza: "Jeżeli zmienna 'i' ma taką samą wartość (czyli jest równe) jak zmienna 'num' "
3. Dobrze rozumujesz, tylko ten kod działa od końca, pierwsza z linijek zaświeca najciemniejszą diodę (color-250), która jest w tyle za tą najjaśniejszą (color) idącą do przodu. Nie umiem tego dobrze opisać.
4. Pierwszy parametr przekazuje do funkcji numer aktualnej diody, który idzie od 1 do 29. W tym wypadku a-3 jak dla mnie jest trochę bez sensu, sprawi że if wewnątrz setpixel() kilka razy się nie wywoła ;) Drugi argument natomiast odpowiada wartości koloru niebieskiego (przedział 0-255)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 lut 2014, o 02:08 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 15 sty 2014
Posty: 129
Lokalizacja: Londyn
Pomógł: 0

W moim przypadku bez argumentu a-3 diody zapalały się dopiero od 3 w górę
Dlatego tak to skorygowałem
Jak będę miał chwile czasu i procek pod ręka spróbuje nakręcić filmik do tego kodu

255 jest najwyższa wartością 3 bajty 255 rozświetlą diode na biało
Łącząc red green i blu w maksymalnej ich mocy
Wysyłając same zero dioda będzie zgaszona

Diody zapalana sa jedna po drugiej od punktu a do b a zatem najpierw wysyłamy diode najbardziej przygaszoną -250 potem ciut mniej przygaszoną -200 itd
Daje to efekt jak na filmie

Podeśle jeszcze ciut inny kod w odwrotnej kolejności tzn dioda a raczej ich grupa będzie wracała spowrotem dając ten sam efekt "węża"

------------------------ [ Dodano po: 5 minutach ]

" send_rgb(0,0,0); // tutaj można ustawić np. kolor i moc stałego podświetlenia linijki //
"
Tak
Bez tej linijki diody by sie wszystkie zapalały a my chcemy tylko kilka diod
Dlatego najpierw gasimy wszystkie diody jako ze wagoniki jadą jeden po drugim dlatego musimy gasić diody za wężem

Spróbuje dokładnie objaśnić do na kodzie z komentarzami



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 lut 2014, o 07:10 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27315
Lokalizacja: Szczecin
Pomógł: 1041

sieja napisał(a):
Tak
Bez tej linijki diody by sie wszystkie zapalały a my chcemy tylko kilka diod
Dlatego najpierw gasimy wszystkie diody jako ze wagoniki jadą jeden po drugim dlatego musimy gasić diody za wężem


.... i dlatego wkrótce poznamy CAŁKIEM inne podejście do programowania linijek świetlnych ;)

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 lut 2014, o 12:16 
Offline
Użytkownik

Dołączył(a): 27 sty 2014
Posty: 194
Lokalizacja: Jantar
Pomógł: 3

Ja w ramach pracy domowej wyskrobałem coś takiego:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



Dzięki tym definicjom moge robić tak:

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



Pozdrawiam. Mam nadzieję na dobrą ocene. :lol:

Kody wklejamy przy pomocy syntax=c - Różowy J.

_________________
Bluebook, Greenbook



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 lut 2014, o 12:35 
Offline
Użytkownik

Dołączył(a): 22 gru 2012
Posty: 256
Lokalizacja: Rumia
Pomógł: 22

No ja to wyskrobałem coś bardziej zaawansowanego ;) :)

ws2812_color_def.h
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


main.c

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Skorzystałem z funkcji rand(); w celu wyświetlania losowego koloru z tablicy no i spróbowałem pozbyć się delaya.
Bawiłem się też zapalaniem losowym diod, ale przy moich trzech diodach ta losowość była znikoma :) , nawet nie było sensu kręcić filmiku.

_________________
http://www.marcingibas.pl



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 lut 2014, o 13:43 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27315
Lokalizacja: Szczecin
Pomógł: 1041

Nooo panoowie ;) coraz bardziej podobają mi się zadania domowe ;) ... idzie to wszystko w fajnym kierunku

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 lut 2014, o 13:53 
Offline
Użytkownik

Dołączył(a): 27 sty 2014
Posty: 194
Lokalizacja: Jantar
Pomógł: 3

Czyli pały nie ma. :)

_________________
Bluebook, Greenbook



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 lut 2014, o 14:03 
Offline
Moderator zasłużony dla forum.atnel.pl
Avatar użytkownika

Dołączył(a): 18 lip 2012
Posty: 3206
Lokalizacja: Kraków - obok FAB5 ATMEL'a
Pomógł: 91

Alan Bejnarowicz napisał(a):
Czyli pały nie ma. :)


Nauczyciel jeszcze ocen nie wystawił ;-)

_________________
http://www.jaglarz.info



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 2 lut 2014, o 23:18 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 05 sie 2012
Posty: 35
Pomógł: 4

Dobry wieczór,
ja z kolei pochwalę się co ja zmajstrowałem :)
Płytka zawiera procesor ATTINY85, 9 diod WS2812 oraz gniazdo do programowania.
Jak widać całość działa, częstotliwość ustawiona na wewnętrzny oscylator RC 8MHz.

ObrazekObrazek



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 2 lut 2014, o 23:30 
Offline
Użytkownik

Dołączył(a): 29 lis 2012
Posty: 1074
Lokalizacja: Sochaczew
Pomógł: 21

A ja mam jedno pytanie. Jeśli uda mi się to obsłużyć z bascoma (a wierzę że uda się) i napiszę dodatkowo z 800 linii kodu to jak to się będzie miało do obsługi tych diod? Nigdzie nie użyję wait , ale będą skoki do podprogramów. To czas do obsługi tych diod rozjedzie mi się strasznie, tak? Jeśli moje rozumowanie jest ok, to przy większych projektach nie da się zastosować tych diod?

Wysłane z mojego LG-P760 przy użyciu Tapatalka



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 128 ]  Przejdź na stronę Poprzednia strona  1, 2, 3, 4, 5  Następna strona

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 1 gość


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO