Kod Arduino i wideo: Moduł unikania przeszkód na podczerwień
Ten projekt pokazuje, jak zbudować prosty system unikania przeszkód przy użyciu modułu czujnika podczerwieni i mikrokontrolera Arduino. To świetny projekt dla początkujących uczących się interfejsowania czujników i podstawowego programowania. Zastosowania tej technologii są liczne i można ją dostosować do różnych projektów.

Na przykład:
- Nawigacja robotów: Zaprogramuj robota, aby autonomicznie unikał przeszkód.
- Automatyka domowa: Stwórz system wykrywający obiekty w określonym obszarze i wyzwalający odpowiednie działania.
- System bezpieczeństwa: Zaprojektuj podstawowy system wykrywania włamań, który ostrzega, gdy coś wejdzie na monitorowany obszar.
Sprzęt/Komponenty
Projekt wykorzystuje łatwo dostępny moduł unikania przeszkód na podczerwień, mikrokontroler Arduino oraz przewody łączące. Sam moduł podczerwieni zawiera nadajnik podczerwieni, odbiornik oraz wzmacniacz operacyjny (op-amp) do przetwarzania sygnału (na filmie w 00:22). Posiada również dwie diody LED: jedną sygnalizującą zasilanie i drugą sygnalizującą wykrycie przeszkody (na filmie w 00:37).
Moduł ma trzy piny: VCC (zasilanie), GND (masa) oraz pin wyjściowy. Potencjometr umożliwia regulację odległości wykrywania, od kilku centymetrów do około 10 centymetrów (na filmie w 00:51).
Schemat podłączenia
Podłączenie jest proste. Podłącz pin VCC modułu podczerwieni do pinu 5V Arduino, pin GND do pinu GND Arduino, a pin wyjściowy do cyfrowego pinu wejściowego Arduino (w przykładowym kodzie użyto pinu 8).

Wyjaśnienie kodu
Kod Arduino jest dość prosty. Kluczową częścią jest ustawienie odpowiedniego trybu pinu i odczytanie wyjścia czujnika. Kod używa pinu 8 jako wejścia (pinMode(8, INPUT);) (na filmie w 06:10). Funkcja digitalRead(8) odczytuje stan tego pinu, który jest WYSOKI, gdy nie wykryto przeszkody, i NISKI, gdy przeszkoda jest obecna (na filmie w 06:15). Kod następnie wypisuje „Obstacle on the way” lub „All clear” na monitorze szeregowym (na filmie w 06:29).
void setup() {
Serial.begin(9600);
pinMode(8, INPUT); // Ustaw pin 8 jako wejście
}
void loop() {
int detect = digitalRead(8); // Odczytaj pin 8
if (detect == LOW) {
Serial.println("Obstacle on the way");
} else {
Serial.println("All clear");
}
delay(300);
}
Projekt na żywo/Demonstracja
Film demonstruje działanie systemu unikania przeszkód. Prezenter pokazuje, jak potencjometr reguluje zasięg wykrywania (na filmie w 00:57). Wyjście monitora szeregowego wyraźnie pokazuje komunikaty „Obstacle on the way” i „All clear”, odpowiadające obecności lub brakowi przeszkody (na filmie w 07:07). Maksymalny zasięg wykrywania wynosi około 10 centymetrów (na filmie w 03:30).
Rozdziały
- [00:06] Wprowadzenie do unikania przeszkód na podczerwień
- [00:22] Przegląd modułu i komponentów
- [00:51] Regulacja potencjometru i odległość wykrywania
- [01:19] Jak działa czujnik podczerwieni
- [02:29] Demonstracja wykrywania przeszkód
- [05:57] Wyjaśnienie kodu: Setup i Loop
- [06:55] Wgrywanie kodu i demonstracja monitora szeregowego
- [07:35] Dalsze zastosowania i przyszłe projekty
/*
* This is the Arduino code for the Infrared Obstacle Avoidance module.
* Watch the video for details and demo: https://youtu.be/T3Li128GBlM
*
* Written by Ahmad Nejrabi for the Robojax Video channel, www.Robojax.com
* Date: December 28, 2017, in Ajax, Ontario, Canada
* Permission granted to share this code, given that this
* note is kept with the code.
* Disclaimer: This code is "AS IS" and for educational purposes only.
* This code has been downloaded from https://robojax.com
*/
void setup() {
Serial.begin(9600);
pinMode(8, INPUT);// set pin as input
}
void loop() {
// Written for Robojax on December 28, 2017
int detect = digitalRead(8);// read obstacle status and store it into "detect"
if(detect == LOW){
Serial.println("Obstacle on the way");
}else{
Serial.println("All clear");
}
delay(300);
}
Rzeczy, których możesz potrzebować
-
Amazon
-
Allegro
-
AliExpressPurchase IR obstacle avoidance module from AliExpresss.click.aliexpress.com
Zasoby i odniesienia
Brak zasobów.
Pliki📁
Plik Fritzing
-
1x4 Membrane Matrix Keypad
1x4 Membrane Matrix Keypad.fzpz0.01 MB -
VS1838B Infrared receiver
VS1838B_part.fzpz
Inne pliki
-
4 Channel Infrared Obstacle Detection LM393 datasheet
robojax-4-channel-infrared-obstacle_LM339.pdf1.36 MB