Cod Arduino și Video: Modul de evitare a obstacolelor cu infraroșu
Acest proiect demonstrează cum să construiești un sistem simplu de evitare a obstacolelor folosind un modul cu senzor infraroșu și un microcontroler Arduino. Acesta este un proiect excelent pentru începătorii care învață despre interfațarea senzorilor și programarea de bază. Aplicațiile acestei tehnologii sunt numeroase și pot fi adaptate la diverse proiecte.

De exemplu:
- Navigare robotică: Programează un robot să evite obstacolele în mod autonom.
- Automatizare inteligentă a locuinței: Creează un sistem pentru a detecta obiecte într-o anumită zonă și a declanșa acțiuni în consecință.
- Sistem de securitate: Proiectează un sistem de bază de detectare a intruziunilor care te alertează atunci când ceva intră într-o zonă monitorizată.
Hardware/Componente
Proiectul folosește un modul de evitare a obstacolelor cu infraroșu ușor disponibil, un microcontroler Arduino și câteva fire de conectare. Modulul cu infraroșu conține în sine un emițător infraroșu, un receptor și un amplificator operațional (op-amp) pentru a procesa semnalul (în video la 00:22). Are, de asemenea, două LED-uri: unul care indică alimentarea și altul care indică detectarea obstacolelor (în video la 00:37).
Modulul are trei pini: VCC (alimentare), GND (masă) și un pin de ieșire. Un potențiometru îți permite să ajustezi distanța de detectare, variind de la câțiva centimetri până la aproximativ 10 centimetri (în video la 00:51).
Ghid de Cablare
Cablarea este simplă. Conectează pinul VCC al modulului cu infraroșu la pinul de 5V al Arduino, pinul GND la pinul GND al Arduino și pinul de ieșire la un pin de intrare digital pe Arduino (pinul 8 este folosit în codul de exemplu).

Explicația Codului
Codul Arduino este destul de simplu. Partea crucială este setarea modului corect al pinului și citirea ieșirii senzorului. Codul folosește pinul 8 ca intrare (pinMode(8, INPUT);) (în video la 06:10). Funcția digitalRead(8) citește starea acestui pin, care este HIGH când nu este detectat niciun obstacol și LOW când este prezent un obstacol (în video la 06:15). Codul apoi afișează „Obstacol pe drum” sau „Totul este clar” în monitorul serial în consecință (în video la 06:29).
void setup() {
Serial.begin(9600);
pinMode(8, INPUT); // Setează pinul 8 ca intrare
}
void loop() {
int detect = digitalRead(8); // Citește pinul 8
if (detect == LOW) {
Serial.println("Obstacol pe drum");
} else {
Serial.println("Totul este clar");
}
delay(300);
}
Proiect/Demonstrație Live
Videoclipul demonstrează funcționalitatea sistemului de evitare a obstacolelor. Prezentatorul arată cum potențiometrul ajustează raza de detectare (în video la 00:57). Ieșirea monitorului serial arată clar mesajele „Obstacol pe drum” și „Totul este clar”, corespunzând prezenței sau absenței unui obstacol (în video la 07:07). Raza maximă de detectare este de aproximativ 10 centimetri (în video la 03:30).
Capitole
- [00:06] Introducere în evitarea obstacolelor cu infraroșu
- [00:22] Prezentarea modulului și a componentelor
- [00:51] Ajustarea potențiometrului și distanța de detectare
- [01:19] Cum funcționează senzorul cu infraroșu
- [02:29] Demonstrația detectării obstacolelor
- [05:57] Explicația codului: Setup și Loop
- [06:55] Încărcarea codului și demonstrația monitorului serial
- [07:35] Aplicații suplimentare și proiecte viitoare
/*
* 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);
}
Lucruri de care ai putea avea nevoie
-
Amazon
-
eBay
-
AliExpressPurchase IR obstacle avoidance module from AliExpresss.click.aliexpress.com
Resurse și referințe
Încă nu sunt resurse.
Fișiere📁
Fișier Fritzing
-
1x4 Membrane Matrix Keypad
1x4 Membrane Matrix Keypad.fzpz0.01 MB -
VS1838B Infrared receiver
VS1838B_part.fzpz
Alte fișiere
-
4 Channel Infrared Obstacle Detection LM393 datasheet
robojax-4-channel-infrared-obstacle_LM339.pdf1.36 MB