Aktyw Forum

Zarejestruj się na forum.ep.com.pl i zgłoś swój akces do Aktywu Forum. Jeśli jesteś już zarejestrowany wystarczy, że się zalogujesz.

Sprawdź punkty Zarejestruj się

Zliczanie czasu impulsu (potrzebne do HC-SR04)

x21
-
-
Posty: 3
Rejestracja: 3 mar 2013, o 16:12

Zliczanie czasu impulsu (potrzebne do HC-SR04)

Postautor: x21 » 25 mar 2013, o 01:25

Witam, potrzebuje zmierzyć odległość za pomocą czujnika ultradźwiękowego HC-SR04, wiem, że żeby to zrobić trzeba pierw dać impuls o długości 10uS na pin Trig a następnie czujnik poda nam impuls na pinie Echo którego długość po podzieleniu przez 58 daje nam odległość w cm .(nota - http://www.arduino.com.pl/wp-content/up ... C-SR04.pdf)Problemem jest to, że nie wiem jak zmierzyć czas tego impulsu . Znalazłem nawet kod na Arduino, czy mógłby ktoś przetłumaczyć i wytłumaczyć mi go na C do użycia na AVR najlepiej Atmega 8/16 ale jeśli nie będzie to możliwe mogę użyć innego . Z góry dziękuje . Pozdrawiam .

Kod: Zaznacz cały

nclude <LiquidCrystal.h> int TX = 0; //port nadajnik Ultrasonic int RX = 1; //port odbiornik Ultrasonic int CM; //odległość w cm long TIME; //długość powrotnego impulsu w uS LiquidCrystal lcd(8, 9, 4, 5, 6, 7); void setup() { lcd.begin(16,2); pinMode(TX, OUTPUT); pinMode(RX, INPUT); } void loop() { pomiar_odleglosci(); lcd.clear(); lcd.setCursor(0,0); //w górnej linii LCD - czas lcd.print(TIME); lcd.setCursor(0,1); // w dolnej linii LCD - cm // szerokość odbitego impulsu w uS podzielone przez // 58 to odleglosc w cm - patrz dokumentacja lcd.print(TIME / 58); delay(100); } void pomiar_odleglosci () { // impuls 10 uS inicjalizujacy - patrz dokumentacja digitalWrite(TX, HIGH); delayMicroseconds(10); digitalWrite(TX, LOW); TIME = pulseIn(RX, HIGH); }
Ps: z obsługą LCD sobie poradzę chodzi tylko o fragment zliczający czas impulsu.

Awatar użytkownika
Wojtek
-
-
Posty: 867
Rejestracja: 21 lut 2003, o 18:21

Re: Zliczanie czasu impulsu (potrzebne do HC-SR04)

Postautor: Wojtek » 25 mar 2013, o 11:14


Wróć do „AVR/AVR32”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 41 gości