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



Teraz jest 24 lut 2025, o 17:15


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 63 ]  Przejdź na stronę 1, 2, 3  Następna strona
Autor Wiadomość
 Tytuł: Obsługa diody
PostNapisane: 23 lip 2013, o 10:14 
Offline
Użytkownik

Dołączył(a): 23 lip 2013
Posty: 83
Pomógł: 0

Witam!
Otóż mam pewien ciekawy przypadek z diodą. Dopiero zaczynam swoją przygodę z programowaniem, więc proszę zrozumieć, że pytam o taką błahostkę. W tej chwili bawię się najprostszym przypadkiem, czyli włączaniem i wyłączaniem pojedynczej diody. Znalazłem kilka diod i podłączyłem czerwoną, gdyż zauważyłem, że na rezystorze jaki posiadam-220R współpracuje najlepiej (gdy włączam i wyłączam diodę co 1s to rzeczywiście jest to 1s). Okazuje się, że chce ona współpracować tylko, gdy jest podłączona do mikrokontrolera anodą, tzn. wystawiam stan wysoki na nóżkę mikrokontrolera. Dla ułatwienia załączę obrazek od P. Mirka. http://1.bp.blogspot.com/-Qp1xbF87pnE/U ... vr_big.jpg , działa mi w przypadku pierwszym, natomiast w drugim już nie. I obojętne jest czy chcę by świeciła na stałe czy też chcę by mrugała. Obojętne też czy w kodzie użyję dwóch linijek czy też zrobię to z definicjami dla preprocesora. Nie jest to zbyt uciążliwe, bo robiąc przykład z książki P. Kardasia musiałem jedynie zmienić definicje dla preprocesora, tak by włączanie diody odpowiadało stanowi wysokiemu. Jednak jako, że jestem osobą dociekliwą to chcę znaleźć przyczynę tego problemu. Co może nią być?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 lip 2013, o 10:17 
Offline
Nowy
Avatar użytkownika

Dołączył(a): 10 lip 2013
Posty: 12
Pomógł: 0

Wrzuć kod i info do której nogi podłączasz. To nie może nie działać :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 lip 2013, o 10:22 
Offline
Użytkownik

Dołączył(a): 19 gru 2012
Posty: 712
Lokalizacja: Opole
Pomógł: 23

A jak podłączasz odwrotnie wystawiając stan niski na pinie procesora i podłączasz do katody a do anody idzie VCC przez ten twój rezystor to co się dzieje? Moze pokaż kod bo takie połączenie musi działać. No i oczywiście pytanie jakie zasilanie doprowadzasz do diody.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 lip 2013, o 10:23 
Offline
Moderator zasłużony dla forum.atnel.pl
Avatar użytkownika

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

erykko napisał(a):
Znalazłem kilka diod i podłączyłem czerwoną, gdyż zauważyłem, że na rezystorze jaki posiadam-220R współpracuje najlepiej (gdy włączam i wyłączam diodę co 1s to rzeczywiście jest to 1s


Trochę powiało Sci-Fi, szybkość reakcji (zauważalna dla ludzkiego oka) diody nie zależy od jej koloru a od częstotliwości ustawionej w kodzie.

Chcesz powiedzieć że dioda podłączona katodą do pinu mikrokontrolera nie daje oznak życia na zmianę impulsów?

_________________
http://www.jaglarz.info



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 lip 2013, o 10:34 
Offline
Użytkownik

Dołączył(a): 23 lip 2013
Posty: 83
Pomógł: 0

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

Tak wygląda ten najbardziej zaawansowany kod i dioda nie daje oznak życia. A gdy podłączę anodę do PC7 wtedy śmiga aż miło.

Kody umieszczamy przy pomocy syntax=c - Zielony J.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 lip 2013, o 10:37 
Offline
Użytkownik

Dołączył(a): 19 gru 2012
Posty: 712
Lokalizacja: Opole
Pomógł: 23

Ok a katode jak podłączasz?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 lip 2013, o 10:40 
Offline
Użytkownik

Dołączył(a): 23 lip 2013
Posty: 83
Pomógł: 0

Zgodnie z rysunkiem, czyli katoda diody, anoda diody, rezystor i VCC.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 lip 2013, o 10:43 
Offline
Użytkownik

Dołączył(a): 19 gru 2012
Posty: 712
Lokalizacja: Opole
Pomógł: 23

VCC jakie napięcie? i VCC przez rezystor do anody?

Dla przypomnienia oznaczenia nóżek diody, u Ciebie tak samo? http://www.robotyka.net.pl/wp-content/uploads/led.jpg



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 lip 2013, o 10:47 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 03 kwi 2013
Posty: 381
Lokalizacja: Łowisko
Pomógł: 32

Jeżeli diodę chcesz zapalać stanem wysokim, to zmień w programie tylko dwie linijki z makrodefinicją
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

tylko teraz należy pamiętać o prawidłowym podłączeniu diody tj. anodą przez rezystor do uC a katodą do masy

_________________
невозможно ?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 lip 2013, o 10:47 
Offline
Użytkownik

Dołączył(a): 23 lip 2013
Posty: 83
Pomógł: 0

No tak, dłuższa nóżka to plus (anoda). A napięcie to 5V podawane z programatora USB.

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

D_C napisał(a):
Jeżeli diodę chcesz zapalać stanem wysokim, to zmień w programie tylko dwie linijki z makrodefinicją
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

tylko teraz należy pamiętać o prawidłowym podłączeniu diody tj. anodą przez rezystor do uC a katodą do masy

Ten sposób mi działa. Napisałem o tym wyżej.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 lip 2013, o 10:50 
Offline
Użytkownik

Dołączył(a): 19 gru 2012
Posty: 712
Lokalizacja: Opole
Pomógł: 23

Jakiego procesora używasz? Jeżeli jest to Atmega32 to zobacz czy pójdzie Ci na porcie B

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


Moze po prostu jest to spowodowane tym że na PORCIE C jest załączony JTAG.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 lip 2013, o 10:53 
Offline
Użytkownik

Dołączył(a): 23 lip 2013
Posty: 83
Pomógł: 0

Dzięki, popróbuję, aczkolwiek JTAG-a wyłączyłem.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 lip 2013, o 10:57 
Offline
Moderator
Avatar użytkownika

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

1. Weź miernik w rękę (woltomierz)

2. ustaw pin PC7 jako wyjście

3. wystaw na niego stan NISKI

4. dalej pętla główna

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


i teraz zmierz sobie miernikiem czy masz na tym pinie wciąż ZERO (GND) ;) jeśli masz - to nie ma możliwości aby dioda nie świeciła ...

gdzieś robisz jakiś TOTALNIE czeski błąd i dlatego wywołuje to u wszystkich wyżej taką konsternację i zadawanie pytań ;)

Być może nie zapisujesz projektu przed kompilacją
Być może nie masz ustawionej opcji autosave
Być może coś źle podłączasz

Niestety TYLKO takie mogą być odpowiedzi i musisz szukać gdzie ten błąd robisz - bo nie ma takiej możliwości żeby dioda w jeden sposób świeciła a w drugi nie ...

_________________
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: 23 lip 2013, o 11:13 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 03 kwi 2013
Posty: 381
Lokalizacja: Łowisko
Pomógł: 32

a jeżeli chcesz sobie migać diodą, to spróbuj się pobawić zapisem tego typu, bo po co marnować pamięć ;)
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: 23 lip 2013, o 11:30 
Offline
Użytkownik

Dołączył(a): 23 lip 2013
Posty: 83
Pomógł: 0

Bawię się i na razie nie mam pomysłu... A powyższy kod też już testowałem. Wszystko ładnie śmiga, ale na jednym sposobie. Bawiłem się miernikiem, że aż kabel urwałem hehe. Nawet jak dam kod Pana Mirka to wygasza mi diodę podłączoną 1 sposobem, ale nie zapala, gdy podłączę tym drugim.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 lip 2013, o 11:33 
Offline
Użytkownik

Dołączył(a): 19 gru 2012
Posty: 712
Lokalizacja: Opole
Pomógł: 23

No ale miernik prawidłowo Ci wskazywał? 5V a po sekundzie 0V? Bo to ważne moze jest tak jak Mirek pisze. Atmega jest na płytce stykowej czy zestaw startowy? Próbowałeś ze zmianana PIN B7?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 lip 2013, o 11:33 
Offline
Użytkownik

Dołączył(a): 12 mar 2013
Posty: 34
Pomógł: 0

warto też pamiętać:

Cytuj:
22.27.2.1 void _delay_ms (double __ms)
Perform a delay of __ms milliseconds, using _delay_loop_2().
The macro F_CPU is supposed to be defined to a constant defining the CPU clock
frequency (in Hertz).
The maximal possible delay is 262.14 ms / F_CPU in MHz.
When the user request delay which exceed the maximum possible one, _delay_ms()
provides a decreased resolution functionality. In this mode _delay_ms() will work with
a resolution of 1/10 ms, providing delays up to 6.5535 seconds (independent


cytat z avr-libc user manual 1,6,5

_________________
/*Animus aeger semper errat*/



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 lip 2013, o 12:37 
Offline
Użytkownik

Dołączył(a): 23 lip 2013
Posty: 83
Pomógł: 0

Wilu88 napisał(a):
No ale miernik prawidłowo Ci wskazywał? 5V a po sekundzie 0V? Bo to ważne moze jest tak jak Mirek pisze. Atmega jest na płytce stykowej czy zestaw startowy? Próbowałeś ze zmianana PIN B7?

Po kolei. Miernik, pokazywał w porządku. Atmega na płytce stykowej. zmieniałem piny na DDRA, bo na B mam programator akurat i żadnych zmian nie zauważyłem, więc na razie bawię się tym drugim połączeniem.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 lip 2013, o 13:02 
Offline
Użytkownik

Dołączył(a): 19 gru 2012
Posty: 712
Lokalizacja: Opole
Pomógł: 23

No ot jeśli miernik pokazywał raz 5V raz 0V no to winą może być tylko dioda albo rezystor. Mam nadzieję że próbowałeś innych otworów na płytce. Prześlij jeszcze zdjęcie jak to wygląda na płytce.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 lip 2013, o 13:29 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 13 paź 2011
Posty: 581
Pomógł: 17

Najprostszy sposób.
Połącz 2 diody równolegle do PC7(tylko jedną połącz katodą, drugą anodą)
Z drugiej strony obojętnie czy do GND czy do VCC.

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

Powinny świecic na zmiane
Obrazek
OCZYWIŚCIE DIODY SZEREGOWO Z REZYSTORAMI !(Na schemacie ich brakło)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 lip 2013, o 13:37 
Offline
Moderator zasłużony dla forum.atnel.pl
Avatar użytkownika

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

xamrex, dolna dioda nie będzie NIGDY świecić bo masz anodę do masy. ;-)

_________________
http://www.jaglarz.info



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 lip 2013, o 13:49 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 13 paź 2011
Posty: 581
Pomógł: 17

No rzeczywiście..
To chyba ze zmęczenia wypisuję takie herezje :D
Tak to miało być
Obrazek



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 lip 2013, o 14:28 
Offline
Użytkownik

Dołączył(a): 23 lip 2013
Posty: 83
Pomógł: 0

Wrzucam zdjęcia. W 1 przypadku działa, w 2 nie. Chyba dziś już nie będę się tym bawił, bo i tak kilka godz. poświęciłem na programowanie i mam chyba na dziś nadmiar elektroniki :)
Obrazek

Obrazek

[ UWAŻAJ ! i zapamiętaj bo na przyszłość tak wstawione zdjęcia przez kociego imageszaka - zostaną skasowane :( - mirekk36 - obejrzyj jak się dodaje zdjęcia na naszym forum

topic44.html

]


Przy okazji mam pytanie, ponieważ jutro chciałbym rozpocząć zabawę z wyświetlaczem. Czy można podłączyć wyświetlacz bez potencjometru do ustawiania kontrastu? Akurat nie mam w domu, a chciałem coś niecoś porobić na wyświetlaczu, gdyż teraz potrzebna mi jest podstawowa znajomość jęz. C, obsługa wyświetlacza oraz timerów. Na inne projekty przyjdzie czas później:)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 lip 2013, o 14:32 
Offline
Użytkownik

Dołączył(a): 10 lip 2013
Posty: 93
Lokalizacja: Puławy
Pomógł: 0

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


I teraz jak zamienić te operatory, to trzeba także zmienić zasilanie tej diody, bo teraz do procka wchodzi napięcie czyli od + przez rezystor i diodę do procesora, a jak zmienimy stan pinu to będzie wychodzić napięcie ale do minusa(od procesora przez diodę rezystor i do minusa). Więc trzeba wpiąć nóżkę rezystora do minusa (GND) oraz zamienić nóżkę diody wchodzącą do procka. (albo zrobić schodowy: ) i wtedy taki zapis:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
będzie działał.



Ostatnio edytowano 23 lip 2013, o 14:39 przez ZgłebiaczTajników, łącznie edytowano 3 razy

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 lip 2013, o 14:36 
Offline
Moderator
Avatar użytkownika

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

erykko ----> no i widzisz WSZYSTKO JASNE ;)

MATKO JEDYNA - jak ty wpinasz te elementy w stykówkę ;) ????

wiesz jak działa STYKÓWKA ? ;)

nie obraź się że się uśmiecham ... no ale to nie złośliwie - tylko TEMAT się ciągnie przez 80000 postów a ty dopiero na końcu zdjęcia pokazujesz i widać co robisz masakrycznie ...

zobacz sobie tutaj:

http://www.youtube.com/watch?feature=pl ... T6M#t=774s

CZAS = 12:55

podałem ci link do konkretnego już miejsca w tym poradniku - OBEJRZYJ to DOKŁADNIE ;)

------------------------ [ Dodano po: 7 minutach ]

Podpowiem ci tylko że:

1. w I-szym przypadku (fotka) dioda działa BEZ REZYSTORA - strasznie męczysz procka :( oby nie padł PIN

2. w II-gim przypadku - TYLKO REZYSTOR jest podłączony do pinu ;) ... a dioda ? równie dobrze mógłbyś ją wyjąć albo odwrotnie włożyć

_________________
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: 23 lip 2013, o 14:51 
Offline
Użytkownik

Dołączył(a): 10 lip 2013
Posty: 93
Lokalizacja: Puławy
Pomógł: 0

Zgłupiałem ; ) - przerażająca ilość zmiennych - mój post wyżej jest o [... cenzura... mirekk36 ;) ] potłuc chociaż działa.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 lip 2013, o 14:55 
Offline
Użytkownik

Dołączył(a): 19 gru 2012
Posty: 712
Lokalizacja: Opole
Pomógł: 23

erykko No widzisz podesłałbyś zdjęcie na samym początku i miałbyś odpowiedź po minucie co jest nei tak :P Tak jak Mirek napisał marsz do obejrzenia filmiku i sprawdzenia jak przebiegają scieżki w płytce stykowej.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 lip 2013, o 14:57 
Offline
Moderator
Avatar użytkownika

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

ZgłebiaczTajników napisał(a):
Zgłupiałem ; ) - przerażająca ilość zmiennych - mój post wyżej jest o [... cenzura... mirekk36 ;) ] potłuc chociaż działa.


ale co ty opowiadasz - no dobrze podpowiadasz - tyle tylko że po prostu erykko FIZYCZNIE robi babola w połączeniach i dlatego mu nie działa - opisałem wyżej dlaczego ... trzeba zrozumieć działanie płytki stykowej ;)

_________________
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: 23 lip 2013, o 15:03 
Offline
Użytkownik

Dołączył(a): 23 lip 2013
Posty: 83
Pomógł: 0

Mea culpa. Mój ogromny błąd, rzeczywiście. Myślałem, że te ścieżki nie są połączone.

@ZgłebiaczTajników, podobny kod do Twojego już mam, jako że robię po kilka kodów do każdego zagadnienia by dobrze je zrozumieć.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 lip 2013, o 15:23 
Offline
Moderator
Avatar użytkownika

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

Najważniejsze - że sprawa wyjaśniona

Mission Succesful ;)

_________________
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  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 63 ]  Przejdź na stronę 1, 2, 3  Następna strona

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 3 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:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO