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



Teraz jest 12 gru 2024, o 16:14


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 21 ] 
Autor Wiadomość
PostNapisane: 13 lis 2011, o 20:27 
Offline
Użytkownik

Dołączył(a): 04 paź 2011
Posty: 60
Lokalizacja: Bieszczady/Krosno
Pomógł: 4

Witam
A tak napisałem pierwszy programik który ma zapalać diody i wyszło że gasi zapalone diody.
Szukałem rozwiązania i chyba nie rozumiem kiedy jest wejście a kiedy wyjście w internecie jest tyle opisów że zgłupiałem.
Proszę o pomoc.

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


Pozdrawiam Augustyn



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 lis 2011, o 21:12 
Offline
Użytkownik

Dołączył(a): 05 lis 2011
Posty: 81
Pomógł: 0

a jak wgl ma dzialac ten program tzn w jaki sposob maja sie te diody zapalac ?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 lis 2011, o 21:18 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 04 paź 2011
Posty: 8587
Pomógł: 337

z tego co widzę to pokolei ... zastanawiam się czemu nie w petli for ich obsługa bo te delaye to ....

_________________
Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 lis 2011, o 21:25 
Offline
Użytkownik

Dołączył(a): 05 lis 2011
Posty: 81
Pomógł: 0

tzn ja mysle ze jezeli maja sie zapalac po kolei to dac petle poki wszystkei sie nei swieca to przesuniecie



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 lis 2011, o 21:32 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 04 paź 2011
Posty: 8587
Pomógł: 337

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


ja bym sie tak pobawił trochę :)

_________________
Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



Ostatnio edytowano 13 lis 2011, o 22:35 przez atneladmin, łącznie edytowano 1 raz
test kolorowania składni


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 lis 2011, o 00:14 
Offline
Moderator
Avatar użytkownika

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

augustyn1 napisał(a):
Witam
A tak napisałem pierwszy programik który ma zapalać diody i wyszło że gasi zapalone diody.


Hmm no gasi zapalone diody bo trzeba spojrzeć jak są one dołączone do procesora ;) Schemat, schemat.

Jeśli podłączone są katodą do pinów portu natomiast anoda przez rezystor do VCC to chyba nie dziwne, że stan niski na wyjściu pinu powoduje zapalenie się diody. W tym przypadku wszystkich diod naraz po poleceniu:

Kod:
DDRA = 0xFF;


(przy okazji to całkiem poprawne polecenie bo za jednym zamachem ustawia wszystkie piny PORTA jako wyjścia, gdyż wpisujesz jedynki do rejestru kierunku DDRA)

Jednak po resecie, wszystkie bity w różnych rejestrach są wyzerowane, zatem także w rejestrze wyjściowym PORTA także są wyzerowane, dlatego bezpośrednio po tym rozkazie zapalają ci się wszystkie diody - ponieważ na pinach, które zostały ustawione jako wyjścia pojawiły się stany niskie z bitów rejestru PORTA ;) teraz jaśniej ???

A dalej twój program co realizuje ? Ano po kolei wystawia na kolejne piny stan wysoki:

Kod:
PORTA |= led1;


prawda ? czyli do bitu PA0 wpisuje wartość 1, czyli na tym pinie pojawia się stan wysoki a zarazem na katodzie diody LED tak ??? więc teraz to już chyba nie dziwne, że dioda gaśnie ;) i tak dalej robisz z kolejnymi.

Zatem jeśli chcesz aby po starcie programu wszystkie były najpierw zgaszone to po ustawienie pinów jako wyjścia, ustaw także od razu na wszystkich pinach stan wysoki:

Kod:
DDRA = 0xFF;
PORTA = 0xFF;


a później w tej swojej pętli zamiast wystawiać po kolei stany wysokie - wystawiaj stany niskie żeby zapalać diody czyli tak:

Kod:
PORTA &= ~led1;


i teraz zadziała tak jak chcesz ;) .... ale przypominam jeszcze raz - zawsze trzeba zacząć od spojrzenia na schemat jak są diody LED podłączone prawda ?

_________________
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: 14 lis 2011, o 15:23 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 04 paź 2011
Posty: 8587
Pomógł: 337

swoją drogą geshi ładnie koloruje składnie :)

_________________
Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 lis 2011, o 15:59 
Offline
Moderator
Avatar użytkownika

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

SunRiver napisał(a):
swoją drogą geshi ładnie koloruje składnie :)


Tak tylko te pojedyncze linijki kodu wrzucam w znacznikach code bo troszkę lepiej widać ;) .... ale generalnie fajnie już wygląda to GeShi. Mój informatyk pracował ostatnio nad wszczepieniem tego no i w końcu się udało i ładnie się prezentuje teraz jak mówisz.

_________________
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: 14 lis 2011, o 19:41 
Offline
Użytkownik

Dołączył(a): 04 paź 2011
Posty: 60
Lokalizacja: Bieszczady/Krosno
Pomógł: 4

Witam
Ćwiczenia są wykonywane na zestawie ATB 1.02. Teraz już wszystko rozumie. Jeszcze muszę rozgryźć kod kolegi SunRiver i podziałać coś w pętli.
Robię przymiarkę do Led 3D 4x4x4 i muszę nauczyć się programować to jest teraz cel. Pierwsze co to muszę opanować proste mruganie itp rzeczy.
Przykładzik działa super.
Dzięki za pomoc.
Pozdrawiam Augustyn



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 lis 2011, o 20:33 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 04 paź 2011
Posty: 8587
Pomógł: 337

Sorki augustyn1: ale z rozpedu nikt nie zauważył , że pętle machnołem w C++ :)
ale w GCC będzie wygladać podobnie tylko inaczej zdefiniujesz sobie porty:)

co do LED Cube to jest łatwiejsze niż Ci się wydaje , na początek proponował bym ci taki kod:

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



Takie coś 3x3x3 na szybko zmajstrowałem jakis czas temu jako lampke nocna dla córci :)

Kod oczywiście w c++ odpala na M16/32/324/644 oraz małych 168/328 w trybie arduino.

_________________
Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 lis 2011, o 20:39 
Offline
Moderator
Avatar użytkownika

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

No tak warto ćwiczyć od podstaw, a kod kolegi SunRiver może być troszkę trudniejszy do rozgryzienia ponieważ pochodzi on wprost z platformy Arduino, więc nie spotkasz w AVR GCC wszystkich takich poleceń jak w tym kodzie. Będzie trzeba je przerobić na to co dostępne w C czyli proste przesunięcia bitowe, np:

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


Teraz będziesz się mógł cieszyć kolejnym zapalaniem i gaszeniem diod LED na zmianę ;)

No chyba że odpalisz platformę Arduino - bo to także możliwe - to wtedy kod można pisać w tamtejszym narzeczu C++ bez problemu ;)

_________________
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: 14 lis 2011, o 21:00 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 04 paź 2011
Posty: 8587
Pomógł: 337

A tu jest filmik z testu na stole operacyjnym :)

http://www.sunriver.psp29.opole.pl/filmiki/DSCF9890.AVI

ładnie widać jak działa kod z poprzedniego postu i do czego był potrzebny ten specjalistyczny przyrząd :)

Obrazek

_________________
Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 lis 2011, o 09:23 
Offline
Użytkownik

Dołączył(a): 04 paź 2011
Posty: 60
Lokalizacja: Bieszczady/Krosno
Pomógł: 4

Witam
Filmik bardzo fajny. Przyrządy już dawno są wykonane na 4x4x4 oraz 8x8x8. Elementy są zakupione na 4x4x czekają na montaż.
Ważne są podstawy programowania i tego muszę się nauczyć. Jednak pozostanę w AVR GCC.
Dzięki.
Pozdrawiam Augustyn



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 lis 2011, o 15:53 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 04 paź 2011
Posty: 8587
Pomógł: 337

Augustyn:

W zasadzie to maleństwo 3x3x3 jak pisalem zrobiłem na lampke dla córci -- migotała jej przy łużeczku jak miala roczek :)
teraz ma 4 latka i dalej ja lubi stą róznicą te teraz jest zamknieta w obudowie po "śnieżnej kuli" a plytka zmniejszona do minimum
i całosc zasilane z 3ch szt R6 :)

w sumie to kod ten łatwo przerobić na GCC gdyz samo Arduino kożysta z kompilatora WinAVR tyle ze ma swoje biblioteki
ze specyficznymi rozkazami mającymi ułatwić pisanie programów ...

Obecnie chciałbym zmajstrować Cuba 16x16x16 RGB tylko jest jeden mały problem ....

kto to polutuje :)

Wrazie problemów z oprogramowaniem chętnie pomogę :)

_________________
Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 lis 2011, o 20:52 
Offline
Użytkownik

Dołączył(a): 04 paź 2011
Posty: 60
Lokalizacja: Bieszczady/Krosno
Pomógł: 4

Witam
SunRiver samo lutowanie to nie problem tylko trochę cierpliwości.
Po pierwsze trzeba zrobić przyrząd do wyginania nóżek diody w odpowiednich kierunkach.
Po drugie trzeba wykonać szybki tester do diagnozowanie połączeń aby się nie okazało że po zlutowaniu gdzieś w środku jest zimny lut.

Kiedy zobaczyłem ten filmik chyba ponad cztery lata temu
http://www.youtube.com/watch?v=4MGKhFIu ... playnext=1
pomyślałem to jest nie do wykonania.
Dziś już jestem trochę mądrzejszy i wiem że jeszcze trzeba się uczyć.
A tu proszę filmik z Cube 8x8x8 z bardzo fajną animacją
http://www.youtube.com/watch?v=6mXM-oGg ... re=related
i coś dla ZAWODOWCÓW !!
http://www.youtube.com/watch?v=Qk_03gXv ... re=related

Pozdrawiam Augustyn



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 lis 2011, o 21:03 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 04 paź 2011
Posty: 8587
Pomógł: 337

http://www.youtube.com/watch?v=qRlr784q ... re=related

ja to się od kilku miesiecy biore za takie cos :) mam już gotowy napęd

ale brak czasu ... :(

ale takie cos to już masakra przy lutowaniu
http://www.youtube.com/watch?v=mKCQ_QAx ... re=related

_________________
Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 lis 2011, o 22:22 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 04 paź 2011
Posty: 8587
Pomógł: 337

Augustyn: trochę mnie wzieło więc powoli dziergam kod do Kostki
4x4x4 ale z możliwością przerobienia na 8x8x8 lub 2 kolorową :)

narazie wygląda to tak:
jeszcze wiele pracy --- AVR GCC tym razem

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

_________________
Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 lis 2011, o 07:31 
Offline
Użytkownik

Dołączył(a): 04 paź 2011
Posty: 60
Lokalizacja: Bieszczady/Krosno
Pomógł: 4

Witam
Dzięki kolego SunRiver jest co analizować oraz jest mobilizacja do poskładania takiego cuda.
Pozdrawiam Augustyn



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 lis 2011, o 15:22 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 04 paź 2011
Posty: 8587
Pomógł: 337

Agustyn... to tylko część , kod już się rozbudował więc jak chcesz to ci moge całość udostępnić :)


Albo zrobie inaczej :

Chciałbym by sie kodowi przyglądnoł nasz naczelny wódz i ew wskazał błedy lub co można by zoptymalizować :)


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

_________________
Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 lis 2011, o 22:23 
Offline
Moderator
Avatar użytkownika

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

Trudno mi się odnieść tak do całości , bo spory kod i nie wszystkie includy są zawarte. Co do pytania w kodzie:

Kod:
               // Trzeba by tu zerknac bo coś mi tu generuje błedy
                //launch_effect(rand()%13);  // TRYB DEMO  -- przypadkowa kolejność


to warto byłoby podać/pokazać jakie błędy generują się w trakcie kompilacji ?

Ale tak na szybko co ja bym poprawił w sensie pierwszej optymalizacji to zmiana typów wielu zmiennych, bo np często używane są zmienne typu int, np "int i" po czym i używane jest w zakresie od 0 do 255 zatem wystarczyłby zwykły typ 8-bitowy "uint8_t i". Po pierwsze zaoszczędziłoby to zawsze troszkę RAM'u a po drugie w wielu przypadkach o ile istotna gdzieś jest szybkość zdecydowanie by się ona zwiększyła, gdyby operacje wykonywane były na zmiennej 8-bitowej zamiast 16-bitowej, co chyba jest zrozumiałe.

To tyle tak na gorąco.

_________________
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: 19 lis 2011, o 10:41 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 04 paź 2011
Posty: 8587
Pomógł: 337

W sumie Mirku to masz racje co do typów zmiennych , w sumnie to nawet niewiem czemu je tak deklarowałem na wyrost
moze dlatego że pierwsza faza to kostka 4x4x4 ale z mozliwością zrobienia 8x8x8 lub 4x4x4 2 kolorowej
w kazdym razie wiekszosc błedów juz poprawiłem , tylko w jednym miejscu mam mała sieczkę niemniej zamieszczę całosc wieczorem
jeszcze dziergam include efektów i tam mam najwiecej problemów

_________________
Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



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: 21 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Google [Bot] i 2 gości


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:  
cron
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO