Serwisy partnerskie:
Close icon
Serwisy partnerskie

Wiele czujników ultradźwiękowych z Arduino

Article Image
Pełny poradnik jak połączyć wiele czujników ultradźwiękowych z Arduino.
1. Praktyczny Kurs Arduino - przewodnik po artykułach składających się na kurs 2. Czym jest Arduino? 3. Porównanie Arduino z Raspberry Pi 4. Instalacja sterownika Arduino w systemie Windows 5. Generowanie pliku hex w Arduino 6. Jak wgrać bootloader w Atmega328? 7. Rozpoczęcie pracy z oprogramowaniem Arduino 8. Rozpoczęcie programowania w Arduino 9. Programowe resetowanie Arduino 10. Wprowadzenie do Arduino UNO 11. Wprowadzenie do Arduino NANO 12. Wprowadzenie do Arduino Pro Mini 13. Wprowadzenie do Arduino Mega 2560 14. Wprowadzenie do Arduino Due 15. Wprowadzenie do Arduino Lilypad 16. Wprowadzenie do ATmega328 17. Biblioteka Arduino dla Proteusa 18. Projekt płytki drukowanej Arduino UNO dla Proteus ARES 19. Biblioteka Arduino Lilypad dla Proteusa 20. Odczyt z portu szeregowego Arduino 21. Projektowanie układów LCD z Arduino 22. Łączenie klawiatury z Arduino 23. Wartość ADC na LCD przy użyciu Arduino 24. Symulacja czujnika ultradźwiękowego w Proteusie 25. Połączenie czujnika ultradźwiękowego z Arduino 26. Wiele czujników ultradźwiękowych z Arduino 27. Czujnik temperatury 18B20 z Arduino 28. Jak używać 18B20 w Proteus ISIS? 29. Łączenie LM35 z Arduino w Proteusie 30. Współpraca siedmiosegmentowego wyświetlacza z Arduino w Proteusie 31. Łączenie czujnika PIR z Arduino 32. Współpraca czujnika płomienia z Arduino 33. Interfejs NRF24L01 z Arduino 34. NRF24L01+ i Arduino - Response Timed Out 35. Połączenie RFID RC522 z Arduino 36. Komunikacja Bluetooth z Arduino przy użyciu HC05 37. Sterowanie serwomotorem za pomocą Arduino w Proteusie 38. Projekt sterowania sygnalizacją świetlną przy użyciu Arduino 39. Przewijanie tekstu na matrycy LED 8×8 z użyciem Arduino 40. Inteligentny system oszczędzania energii 41. Komunikacja USB pomiędzy Androidem i Arduino 42. Automatyka domowa z użyciem XBee i Arduino 43. Domowy system bezpieczeństwa oparty na GSM 44. Wysyłanie SMS-ów za pomocą Arduino UNO i SIM900 45. Odbieranie SMS-ów za pomocą komend AT przy użyciu Arduino 46. Projekt rozpoznawania głosu przy użyciu EasyVR Shield 47. Rozpoczęcie pracy z programem EasyVR Commander 48. Połączenie EasyVR z Arduino UNO 49. Błąd szkolenia - niepowodzenie rozpoznawania w EasyVR 50. Połączenie XBee z komputerem 51. Wprowadzenie do modułu XBee 52. Interfejs XBee z Arduino 53. Rozpoczęcie pracy z kamerą Pixy 54. Jak zainstalować oprogramowanie kamery Pixy - PixyMon 55. Aktualizacja firmware kamery Pixy do najnowszej wersji 56. Jak wytrenować kamerę Pixy za pomocą komputera 57. Sterowanie kierunkiem obrotu silnika prądu stałego za pomocą Arduino 58. Sterowanie prędkością obrotów silnika prądu stałego za pomocą Arduino 59. Sterowanie kierunkiem obrotu silnika krokowego za pomocą Arduino 60. Sterowanie prędkością obrotów silnika krokowego za pomocą Arduino 61. Pobieranie danych z serwera internetowego za pomocą Arduino Wi-Fi 62. Wprowadzenie do Arduino YUN 63. Dostęp do serwera Linux Arduino YUN za pomocą Putty
Rozwiń cały spis treści Zwiń spis treści

Witajcie przyjaciele, mam nadzieję, że dobrze się bawicie i cieszycie się życiem.

Dzisiaj napiszę o połączeniu wielu czujników ultradźwiękowych z Arduino.

W poprzednim poście, widzieliśmy połączenie czujnika ultradźwiękowego z Arduino, w którym połączyłem pojedynczy czujnik ultradźwiękowy, ale w projektach szczególnie związanych z robotyką, musimy połączyć wiele czujników ultradźwiękowych. Na przykład masz robota wykrywającego przeszkody. Teraz w celu wykrycia przeszkody przed robotem musisz umieścić jeden czujnik z przodu. Ale nie możesz wykryć żadnego obiektu obecnego po lewej lub prawej stronie robota, więc musisz umieścić dwa czujniki jeden po lewej i jeden po prawej stronie. Zatem w tym projekcie musisz użyć w sumie trzech czujników ultradźwiękowych, jeden z przodu, jeden po lewej i jeden po prawej stronie robota. Podobnie, w innym projekcie musiałem poruszać się robotem w labiryncie posiadającym ściany po stronie robota, a moim zadaniem było poruszanie się robotem prosto w obrębie tych ścian bez uderzania w nie. W tym przypadku użyłem również dwóch czujników ultradźwiękowych po obu stronach robota, a następnie zastosowałem algorytm PID w celu uniknięcia uderzenia w ściany. Tak więc, w skrócie, powszechną praktyką jest używanie wielu czujników ultradźwiękowych z Arduino i dzisiaj przyjrzymy się jak to zrobić.

O podstawach dot. czujnika ultradźwiękowego i jego działaniu pisałem w poprzednim poście, więc nie będę się zagłębiał w szczegóły. Jeśli jeszcze nie czytałeś to polecam najpierw przeczytać o współpracy czujnika ultradźwiękowego z Arduino.

Teraz zacznijmy od połączenia wielu czujników ultradźwiękowych z Arduino, co nie jest takie trudne.  

Połączenie wielu czujników ultradźwiękowych z Arduino

Pozwólcie, że najpierw jeszcze raz podsumuję działanie czujnika ultradźwiękowego. W przypadku czujnika ultradźwiękowego, to co musimy zrobić, to wygenerować sygnał wyzwalający na jego pinie wyzwalającym przez około 10 mikrosekund.

Gdy tylko czujnik ultradźwiękowy otrzyma ten sygnał wyzwalający, wysyła sygnał ultradźwiękowy.

Ten ultradźwiękowy sygnał następnie uderza w coś i odbija się z powrotem.

Teraz, aby sprawdzić ten sygnał odbijający, musimy odczytać pin Echo i sprawdzić jak długo pozostaje on WYSOKI, a na podstawie tego czasu obliczamy naszą odległość od obiektu.

Jest to proces dla pojedynczego czujnika ultradźwiękowego i jeśli używamy wielu czujników ultradźwiękowych, musimy po prostu powtórzyć całą procedurę dla wszystkich czujników, jeden po drugim.

W pierwszej kolejności wygenerujemy impuls wyzwalający dla pierwszego czujnika i odczytamy jego pin Echo i otrzymamy odległość, następnie wygenerujemy impuls wyzwalający dla drugiego czujnika i odczytamy jego pin Echo i tak dalej dla trzeciego.

Tak więc, tutaj będę używał trzech czujników ultradźwiękowych, a schemat obwodu jest pokazany poniżej:

Starałem się jak mogłem podczas projektowania tego rysunku, aby uczynić go prostym, ale ponieważ jest zbyt wiele przewodów, więc stał się trochę skomplikowany.

Wskazuję tutaj konfigurację pinów, aby ułatwić ci interfejs twoich czujników z Arduino. Konfiguracja pinów jest następująca:

  • Vcc wszystkich czujników będzie szło do +5 V Arduino.
  • GND wszystkich czujników będzie szło do GND Arduino.
  • Trig Pin pierwszego czujnika do Pinu 3 Arduino.
  • Echo Pin pierwszego czujnika do Pinu 2 Arduino.
  • Trig Pin drugiego czujnika do Pinu 4 Arduino.
  • Echo Pin drugiego czujnika do Pinu 5 Arduino.
  • Trig Pin trzeciego czujnika do Pinu 7 Arduino.
  • Echo Pin trzeciego czujnika do Pinu 8 Arduino.

Po podłączeniu pinów w sposób opisany powyżej, skopiuj poniższy kod i wgraj go do swojej płytki Arduino.

Po wgraniu kodu do Arduino, otwórz terminal szeregowy w oprogramowaniu Arduino, a zaczniesz otrzymywać odległości dla wszystkich trzech czujników.

#define trigPin1 3
#define echoPin1 2
#define trigPin2 4
#define echoPin2 5
#define trigPin3 7
#define echoPin3 8

long duration, distance, RightSensor,BackSensor,FrontSensor,LeftSensor;

void setup()
{
Serial.begin (9600);
pinMode(trigPin1, OUTPUT);
pinMode(echoPin1, INPUT);
pinMode(trigPin2, OUTPUT);
pinMode(echoPin2, INPUT);
pinMode(trigPin3, OUTPUT);
pinMode(echoPin3, INPUT);
}

void loop() {
SonarSensor(trigPin1, echoPin1);
RightSensor = distance;
SonarSensor(trigPin2, echoPin2);
LeftSensor = distance;
SonarSensor(trigPin3, echoPin3);
FrontSensor = distance;

Serial.print(LeftSensor);
Serial.print(" - ");
Serial.print(FrontSensor);
Serial.print(" - ");
Serial.println(RightSensor);
}

void SonarSensor(int trigPin,int echoPin)
{
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = (duration/2) / 29.1;

}

Kod jest dość podobny do tego, którego używaliśmy podczas łączenia pojedynczego czujnika ultradźwiękowego z Arduino, jedyne co tutaj zmieniliśmy to powtórzenia.

Wcześniej używaliśmy tej samej funkcji SonarSensor(), ale wywoływaliśmy ją tylko raz dla naszego pojedynczego czujnika połączonego z Arduino, ale teraz wywołujemy ją trzy razy dla wszystkich trzech czujników.

Jest to rodzaj ogólnego kodu. Możesz połączyć z nim więcej czujników, jeśli chcesz, a to, co musisz zrobić, to tylko wywołać tę funkcję dla następnego podłączonego czujnika.

To już wszystko na dzisiaj. Myślę, że na temat czujnika ultradźwiękowego napisaliśmy już wiele, więc nie będę już zamieszczał więcej poradników na temat tego czujnika, tylko zacznę pisać na temat jakiegoś innego czujnika. Powinieneś również zajrzeć do projektów Arduino dla początkujących.

Dzięki za przeczytanie.

Podziel się artykułem z przyjaciółmi i pomóż nam się rozwijać.

Artykuł Multiple Ultrasonic Sensor With Arduino opracowano w wersji polskiej na podstawie współpracy z portalem www.theengineeringprojects.com.

1. Praktyczny Kurs Arduino - przewodnik po artykułach składających się na kurs 2. Czym jest Arduino? 3. Porównanie Arduino z Raspberry Pi 4. Instalacja sterownika Arduino w systemie Windows 5. Generowanie pliku hex w Arduino 6. Jak wgrać bootloader w Atmega328? 7. Rozpoczęcie pracy z oprogramowaniem Arduino 8. Rozpoczęcie programowania w Arduino 9. Programowe resetowanie Arduino 10. Wprowadzenie do Arduino UNO 11. Wprowadzenie do Arduino NANO 12. Wprowadzenie do Arduino Pro Mini 13. Wprowadzenie do Arduino Mega 2560 14. Wprowadzenie do Arduino Due 15. Wprowadzenie do Arduino Lilypad 16. Wprowadzenie do ATmega328 17. Biblioteka Arduino dla Proteusa 18. Projekt płytki drukowanej Arduino UNO dla Proteus ARES 19. Biblioteka Arduino Lilypad dla Proteusa 20. Odczyt z portu szeregowego Arduino 21. Projektowanie układów LCD z Arduino 22. Łączenie klawiatury z Arduino 23. Wartość ADC na LCD przy użyciu Arduino 24. Symulacja czujnika ultradźwiękowego w Proteusie 25. Połączenie czujnika ultradźwiękowego z Arduino 26. Wiele czujników ultradźwiękowych z Arduino 27. Czujnik temperatury 18B20 z Arduino 28. Jak używać 18B20 w Proteus ISIS? 29. Łączenie LM35 z Arduino w Proteusie 30. Współpraca siedmiosegmentowego wyświetlacza z Arduino w Proteusie 31. Łączenie czujnika PIR z Arduino 32. Współpraca czujnika płomienia z Arduino 33. Interfejs NRF24L01 z Arduino 34. NRF24L01+ i Arduino - Response Timed Out 35. Połączenie RFID RC522 z Arduino 36. Komunikacja Bluetooth z Arduino przy użyciu HC05 37. Sterowanie serwomotorem za pomocą Arduino w Proteusie 38. Projekt sterowania sygnalizacją świetlną przy użyciu Arduino 39. Przewijanie tekstu na matrycy LED 8×8 z użyciem Arduino 40. Inteligentny system oszczędzania energii 41. Komunikacja USB pomiędzy Androidem i Arduino 42. Automatyka domowa z użyciem XBee i Arduino 43. Domowy system bezpieczeństwa oparty na GSM 44. Wysyłanie SMS-ów za pomocą Arduino UNO i SIM900 45. Odbieranie SMS-ów za pomocą komend AT przy użyciu Arduino 46. Projekt rozpoznawania głosu przy użyciu EasyVR Shield 47. Rozpoczęcie pracy z programem EasyVR Commander 48. Połączenie EasyVR z Arduino UNO 49. Błąd szkolenia - niepowodzenie rozpoznawania w EasyVR 50. Połączenie XBee z komputerem 51. Wprowadzenie do modułu XBee 52. Interfejs XBee z Arduino 53. Rozpoczęcie pracy z kamerą Pixy 54. Jak zainstalować oprogramowanie kamery Pixy - PixyMon 55. Aktualizacja firmware kamery Pixy do najnowszej wersji 56. Jak wytrenować kamerę Pixy za pomocą komputera 57. Sterowanie kierunkiem obrotu silnika prądu stałego za pomocą Arduino 58. Sterowanie prędkością obrotów silnika prądu stałego za pomocą Arduino 59. Sterowanie kierunkiem obrotu silnika krokowego za pomocą Arduino 60. Sterowanie prędkością obrotów silnika krokowego za pomocą Arduino 61. Pobieranie danych z serwera internetowego za pomocą Arduino Wi-Fi 62. Wprowadzenie do Arduino YUN 63. Dostęp do serwera Linux Arduino YUN za pomocą Putty
Rozwiń cały spis treści Zwiń spis treści
Firma:
Tematyka materiału: Kurs Arduino, pierwsze kroki, Projekty Arduino, Arduino UNO, Czujnik ultradźwiękowy, HC-SR04, Proteus
AUTOR
Źródło
www.theengineeringprojects.com
Udostępnij
Zobacz wszystkie quizy
Quiz weekendowy
Edukacja
1/10 Jak działa rezystor LDR?
Oceń najnowsze wydanie EdW
Wypełnij ankietę i odbierz prezent
UK Logo
Elektronika dla Wszystkich
Zapisując się na nasz newsletter możesz otrzymać GRATIS
najnowsze e-wydanie magazynu "Elektronika dla Wszystkich"