Codice Arduino e video: modulo per l'evitamento degli ostacoli a infrarossi
Questo progetto dimostra come costruire un semplice sistema di evitamento degli ostacoli utilizzando un modulo sensore a infrarossi e un microcontrollore Arduino. È un ottimo progetto per principianti che vogliono imparare l'interfacciamento dei sensori e la programmazione di base. Le applicazioni di questa tecnologia sono numerose e possono essere adattate a diversi progetti.

Ad esempio:
- Navigazione robotica:Programma un robot per evitare autonomamente gli ostacoli.
- Automazione domestica intelligente:Crea un sistema per rilevare oggetti in un'area specifica e attivare azioni di conseguenza.
- Sistema di sicurezza:Progetta un sistema di rilevamento delle intrusioni di base che ti avvisi quando qualcosa entra in un'area monitorata.
Hardware/Componenti
Il progetto utilizza un modulo di evitamento ostacoli a infrarossi pronto all'uso, un microcontrollore Arduino e alcuni fili di collegamento. Il modulo a infrarossi contiene a sua volta un emettitore a infrarossi, un ricevitore e un amplificatore operazionale (op-amp) per elaborare il segnale (nel video a :22). Presenta inoltre due LED: uno che indica l'alimentazione e l'altro che segnala il rilevamento di ostacoli (nel video a :37).
Il modulo ha tre pin: VCC (alimentazione), GND (massa) e un pin di uscita. Un potenziometro permette di regolare la distanza di rilevamento, che varia da pochi centimetri fino a circa 10 centimetri (nel video a 00:51).
Guida al cablaggio
Il cablaggio è semplice. Collega il pin VCC del modulo a infrarossi al pin 5V dell'Arduino, il pin GND al pin GND dell'Arduino e il pin di uscita a un pin di ingresso digitale dell'Arduino (nel codice di esempio viene usato il pin 8).

Spiegazione del codice
Il codice Arduino è piuttosto semplice. La parte cruciale è impostare la modalità corretta del pin e leggere l'uscita del sensore. Il codice usa il pin 8 come ingresso (pinMode(8, INPUT);) (nel video alle 06:10). IldigitalRead(8)La funzione legge lo stato di questo pin, che è HIGH quando non viene rilevato alcun ostacolo e LOW quando è presente un ostacolo (nel video a 06:15). Il codice poi stampa "Obstacle on the way" o "All clear" sul monitor seriale di conseguenza (nel video a 06:29).
void setup() {
Serial.begin(9600);
pinMode(8, INPUT); // Set pin 8 as input
}
void loop() {
int detect = digitalRead(8); // Read pin 8
if (detect == LOW) {
Serial.println("Obstacle on the way");
} else {
Serial.println("All clear");
}
delay(300);
}
Progetto/Dimostrazione dal vivo
Il video dimostra la funzionalità del sistema di evitamento degli ostacoli. Il presentatore mostra come il potenziometro regola la portata di rilevamento (nel video a 00:57). L'output del monitor seriale mostra chiaramente i messaggi "Ostacolo sul percorso" e "Nessun ostacolo", corrispondenti alla presenza o all'assenza di un ostacolo (nel video a 07:07). La portata massima di rilevamento è di circa 10 centimetri (nel video a 03:30).
Capitoli
- [00:06] Introduzione all'evitamento degli ostacoli a infrarossi
- [00:22] Panoramica del modulo e dei componenti
- [00:51] Regolazione del potenziometro e distanza di rilevamento
- [01:19] Come funziona il sensore a infrarossi
- [02:29] Dimostrazione del rilevamento degli ostacoli
- [05:57] Spiegazione del codice: configurazione e ciclo
- [06:55] Demo di caricamento del codice e del monitor seriale
- [07:35] Ulteriori applicazioni e progetti futuri
/*
* 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);
}
Cose di cui potresti avere bisogno
-
Amazon
-
eBay
-
AliExpressAcquista il modulo di evitamento ostacoli IR da AliExpresss.click.aliexpress.com
Risorse e riferimenti
Nessuna risorsa ancora.
File📁
File Fritzing
-
Tastiera a membrana 1x4
1x4 Membrane Matrix Keypad.fzpz0.01 MB