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



Teraz jest 27 lip 2026, o 14:17


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 11 ] 
Autor Wiadomość
PostNapisane: 17 cze 2013, o 21:37 
Offline
Nowy

Dołączył(a): 17 cze 2013
Posty: 2
Pomógł: 0

Witam,

Chce zmierzyć odległość sonarem HC-SR04 pod atmega8, niestety nie wiem za bardzo jak to zrobić. Nie wiem co powinno być wykonywane w przerwaniu INT1.

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


Kody umieszczamy przy pomocy syntax=c - Zielony J.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 cze 2013, o 21:53 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 13 maja 2012
Posty: 174
Lokalizacja: Gliwice
Pomógł: 19

Cześć,

polecam użyć do tego celu wejście ICP1. Tutaj był poruszany ten temat http://forum.atnel.pl/topic3090.html



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 cze 2013, o 22:45 
Offline
Nowy

Dołączył(a): 17 cze 2013
Posty: 2
Pomógł: 0

Wykombinowałem coś takiego (niestety dalej nie 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.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 cze 2013, o 15:26 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 13 maja 2012
Posty: 174
Lokalizacja: Gliwice
Pomógł: 19

Poniżej masz kod dla atmegi8 ( kod pochodzi z linku który wcześniej podałem po bardzo niewielkich modyfikacjach). Zobacz czy działa Ci na tym. Pozmieniaj sobie tylko biblioteki do wyświetlacza bo widzę, że masz inne.

echo - PB0
trigger - PB3

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: 18 cze 2013, o 17:11 
Offline
Użytkownik

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

Witam

Sam z ciekawości zechciałem odpalić ten kod na swojej ATmedze 32. Program się kompiluje jednak zamiast odległości po przetrzymaniu przycisku zwiększa się tylko licznik wyświetlany na ekranie i tyle. Dla jakiej częstotliwości jest ten kod? Bo rozumiem że reszta rejestrów pasuje do Atmegi 32?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 cze 2013, o 18:44 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 13 maja 2012
Posty: 174
Lokalizacja: Gliwice
Pomógł: 19

Atmega32 ma ICR1 na PD7 a nie PB0 tak jak ma to miejsce w atmedze8, może to przez to.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 cze 2013, o 18:51 
Offline
Użytkownik

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

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


Mój kod wygląda tak. Na pokąłdzie Atmega32 taktowana wewnętrznym 8 Mhz wyświetlacz podłączony na porcie B. W efekcie na ekranie w momencie naciśnięcia przycisku inkrementuje sie zmienna licznik_switch tyle że jedno przyciśniecie przycisku zwiększa np o 10 reaguje na przytrzymanie klawisza. natomaist dwie dolne wartosci na wyświetlaczu są równe 0.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 cze 2013, o 20:12 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 13 maja 2012
Posty: 174
Lokalizacja: Gliwice
Pomógł: 19

Wybacz, nie sprawdziłem w nocie procesora tylko pisałem z pamięci. Atmega32 oczywiście ICP1 ma na nodze PD6 a nie PD7



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 cze 2013, o 20:32 
Offline
Użytkownik

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

No i teraz jakieś efekty są :) Po ustawieniu przeszkody 10 cm od czujnika na LCD przy zmiennej PulseWidth mam 541 a licznik_us 270. Czyli aby otrzymać wynik w cm muszę jeszcze to jakoś przerobić? w nocie znalazłem informacje o dzieleniu czasu przez 58. No ale to nie bardzo by się zgadzało gdyż licznik_us ma wartość 270 prędzej by pasowało dzielenie PulseWidth



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 cze 2013, o 20:52 
Offline
Użytkownik

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

Wilu88 poczytaj tutaj i będziesz wiedział :

http://sunduino.elektroda.eu/wordpress/ ... kowe-ping/



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

Dołączył(a): 04 lut 2013
Posty: 257
Lokalizacja: Racibórz
Pomógł: 0

Ja także mam problem z obsługą HC-SR04 na moim procesorze Atmega16 taktowanym kwarcem 16Mhz i proszę o pomoc w modyfikacji kodu tego poniżej,o sam sobie z tym nie poradzę.

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


Nie chcę zakładać nowego wątku na temat tego samego czujnika odległości co tu dlatego proszę o pomoc:-)



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

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