Czujnik ultradźwiękowy Arduino: jak mierzyć odległości
Dzięki Arduino możesz łatwo mierzyć odległości za pomocą czujnika ultradźwiękowego. W tej praktycznej wskazówce pokażemy, jak to zrobić.
Czujnik ultradźwiękowy Arduino: jak mierzyć odległości
Oprócz Arduino potrzebna jest płyta pilśniowa z niektórymi kablami zworek i ultradźwiękowy moduł pomiarowy HC-SR04, aby można było mierzyć odległości.
- Podłącz styk „Trigger” modułu do styku 13, a styk „Echo” do styku 12 Arduino. Podłączyć również ultradźwiękowy moduł pomiarowy HC-SR04 do 5 V i masy.
- Zdefiniuj „wyzwalacz” jako wyjście i „echo” jako wejście. Potrzebujesz również długich zmiennych „czas trwania” i „odległość”.
- Najpierw wyłącz wyzwalacz (»digitalWrite (wyzwalacz, LOW);«) i poczekaj 2 mikrosekundy (»delayMicroseconds (2);«). Następnie włącz wyzwalacz (»digitalWrite (wyzwalacz, WYSOKI);«), odczekaj 10 mikrosekund (»delayMicroseconds (10);«) i wyłącz go ponownie (»digitalWrite (wyzwalacz, LOW);«). Skorzystaj z tego, aby obliczyć czas trwania (»czas trwania = pulsIn (echo, WYSOKI);«) i wreszcie rzeczywistą odległość (»odległość = (czas trwania / 2) / 29, 1;«).
- Dzięki tej zmiennej możesz kontynuować obliczanie według własnego uznania.
Arduino: Przykładowy kod czujnika ultradźwiękowego
Na zdjęciu widać kod, którego możesz użyć, jeśli chcesz profesjonalnie korzystać z HC-SR04. Możesz również skopiować kod tutaj:
- #include #define trigger 13 #define echo 12 #define led_1 11 #define led_2 10 int value_tone; długi czas trwania, odległość; LiquidCrystal lcd (7, 6, 5, 4, 3, 2); void setup () {Serial.begin (9600); pinMode (wyzwalacz, WYJŚCIE); // Pin HCMR04 pinMode (echo, WEJŚCIE); // Pin trybu pin HC-SR04 (led_1, WYJŚCIE); // LED pinMode (led_2, OUTPUT); // LED pinMode (9, WYJŚCIE); // buzzer lcd.begin (16, 2); } void loop () {digitalWrite (trigger, LOW); delayMicroseconds (2); digitalWrite (wyzwalacz, WYSOKI); delayMicroseconds (10); digitalWrite (wyzwalacz, LOW); czas trwania = pulseIn (echo, WYSOKI); odległość = (czas trwania / 2) / 29, 1; if (odległość = 200 || odległość <= 0) {Serial.println („Poza zakresem”); } else {Serial.print (odległość); Serial.println („cm”); } lcd.clear (); lcd.setCursor (1, 0); lcd.print („Odległość:”); lcd.print (odległość); lcd.print („cm”); if (odległość 0) {value_tone = mapa (odległość, 0, 200, 0, 5000); tone (9, value_tone); } else {} opóźnienie (500); }
W kolejnej praktycznej wskazówce pokażemy, jak skonfigurować moduł GSM w Arduino.