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



Teraz jest 7 mar 2026, o 05:04


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 9 ] 
Autor Wiadomość
PostNapisane: 4 sty 2015, o 17:09 
Offline
Użytkownik

Dołączył(a): 28 lis 2013
Posty: 173
Lokalizacja: Pszczyna
Pomógł: 0

Witam,
Czy ma ktoś jakiś pomysł jak zrobić obsługę dwóch czujników ultradźwiękowych na przerwaniach INT0 i INT1?.
Jak zmierzyć tam długość trwania impulsu.

_________________
http://matkowalik.pl/



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 sty 2015, o 17:50 
Offline
Użytkownik

Dołączył(a): 05 sie 2014
Posty: 69
Lokalizacja: Kraków
Pomógł: 11

topic2655.html
topic3090.html

Musisz użyć przerwania INT. Jak zbocze zmieni się na narastające, zaczynasz używać Timera, który zlicza Ci impulsy do czasu, kiedy zbocze zmieni się na opadające.


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 sty 2015, o 18:47 
Offline
Użytkownik

Dołączył(a): 28 lis 2013
Posty: 173
Lokalizacja: Pszczyna
Pomógł: 0

Mam teraz taki kod, ale niezbyt działa.

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


wyświetla liczbę coś ok 700 i w tych okolicach.(na ICP mam dobrze diałający jeden lecz ja potrzebuje dwóch)

_________________
http://matkowalik.pl/



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 31 sie 2015, o 22:24 
Offline
Nowy

Dołączył(a): 26 sie 2015
Posty: 3
Pomógł: 0

@KoWaL
jak u Ciebie wygląda na ICP?

Próbuję takie coś, ale nie do końca mi chodzi i szukam wskazówki (zwłaszcza dla początkującego :) ) :

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

POPRAW WSTAWIANIE LISTINGÓW topic7402.html ....>>> SunRiver <<<



Ostatnio edytowano 1 wrz 2015, o 11:44 przez Petre, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 31 sie 2015, o 22:28 
Offline
Użytkownik

Dołączył(a): 15 lut 2012
Posty: 224
Lokalizacja: Opole
Pomógł: 24

Zobacz tutaj: topic12715.html



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 wrz 2015, o 07:25 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 31 sty 2015
Posty: 182
Pomógł: 0

No jeszcze przedstawię mój przykładowy kod (atmega8 8MHz) na obsługę jednego czujnika HC-SR04. Do Pinu PD4 podpięty jest Triger a do PD2 Echo. Dla wizualizacji wyników pomiaru do portów PB0, PB1 i PC5 podpięte są diody LED.
Można go jeszcze skrócić i to mocno zwłaszcza jak chodzi o uruchamianie i zatrzymywanie timerów no ale działa pięknie :)

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: 1 wrz 2015, o 12:14 
Offline
Nowy

Dołączył(a): 26 sie 2015
Posty: 3
Pomógł: 0

@Maciek_L

sprawdzałem , fajnie działa Twój kod :)
Ty działasz co widziałem na INTach ja chciałem takie coś odpalić na ICP, ale ni hu hu. Do 56cm zlicza (podaje wartości jako 560 itd), ale powyżej już wyrzuca wartości z minusem (ciekawe bo ma typ unsigned) i nie wiem czy to wina, ze coś źle ustawiłem czy po prostu nie powinno się tego robić na ICP tylko INT (tak jak to Ty masz zrobione).



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 wrz 2015, o 12:34 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 31 sty 2015
Posty: 182
Pomógł: 0

Powiem szczerze, że na ICP nie próbowałem. Wiem tyle, że przykładowo Atmega8 ma INT0 oraz INT1 więc nawet na niej udałoby mi się obsłużyć 2 czujniki HC-SR04. Jeżeli bardzo zależy na ICP to ktoś inny musi się wypowiedzieć (ewentualnie coś pozmieniać w moim kodzie lub zaproponować jakiś inny) :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 wrz 2015, o 19:49 
Offline
Nowy

Dołączył(a): 26 sie 2015
Posty: 3
Pomógł: 0

Ok chyba znalazłem zasadniczy błąd :
PulseWidth nie może być typu int. Wielkość przekracza jego wartość.
Po zmianie na uint16_t jest już lepiej.



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

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