ARDUINO
Sensore anticollisione ad infrarossi

ultimo aggiornamento 29 novembre 2018


 

Indice

Descrizione

Questo modulo si può trovare con il codice SG035-SZ oppure FC-51, esso rileva un ostacolo posto di fronte al sensore, l'accensione del led presente sul modulo segnala la presenza dell'ostacolo, allo stesso tempo il pin OUT viene portato a livello basso.

Potete trovare il modulo sensore presso la ICstation.com con codice 2432 Obstacle Avoidance Infrared Sensor Module Reflection Photoelectric Sensor Board for Tracking Smart Car.  Il costo si aggira sui 2€

homotix

Il modulo rileva un oggetto ad una distanza compresa tra i 2 e i 30 cm, con un angolo di rilevamento di 35°, la distanza può essere regolata tramite il trimmer, ruotando in senso orario la distanza aumenta; ruotando in senso antiorario la distanza di rilevamento diminuisce.
Il modulo utilizza utilizza una coppia di diodi infrarossi (uno emittente e uno ricevente) che funzionano per riflessione, sono quindi importanti la forma e la riflettività del bersaglio.  Anche il colore influenza il funzionamento, la distanza di rilevamento sarà minima nel caso l'oggetto sia nero, e massima nel caso sia di colore bianco.
Il connettore di uscita del modulo sensore presenta la porta denominata OUT che può essere collegata direttamente alla porta I/O di un microcontrollore, L'uscita è in grado di pilotare direttamente un relè a 5 V ; Collegamento: VCC-VCC; GND-GND; OUT-IO.
La stabilità del segnale è garantita utilizzando un comparatore LM393.
Il modulo sensore può essere alimentato con una tensione compresa tra 3-5 V DC , la presenza della tensione è segnalata dal relativo led rosso.
Per il fissaggio è presente un foro per una facile installazione fissa, diametro massimo della vite è di 3 mm.

Caratteristiche

Alimentazione:

3,0 V - 6,0 V

Corrente di funzionamento:

a 3,3 V: ~ 23 mA a 5,0 V: ~ 43 mA

Tensione di uscita: 

0-2.3 V [2.3V è completamente immerso in acqua]

Tipo sensore:

uscita digitale

Angolo di rilevamento:

35 °

Livello di uscita attivo

uscita Livello logico basso quando viene rilevato un ostacolo
Livello logico alto quando non viene rilevato ostacolo

Gamma di rilevamento:

2 cm - 30 cm (regolabile tramite trimmer)

Imballaggio:

sacchetto sigillato antistatico

Dimensioni del PCB

31 mm (L) x 14 mm (L)

Dimensione complessiva

4,5 cm (L) x 1,4 cm (L), 0,7 cm (A)

Schema elettrico del sensore

LM393 Low-Power, Low-Offset Voltage, Dual Comparators

Piedinatura Datasheet Foto dell'integrato

Diodo emittente ad infrarosso, 940 nm
Piedinatura Datasheet Foto del diodo

Diodo ricevente ad infrarosso, 940 nm
Piedinatura Datasheet Foto del diodo

Schema del circuito di prova

Per testare il sensore si utilizzano i seguenti componenti

Arduino Nano o UNO Sensore anticollisione IR
Cavetti per Breadboard di vari colori Convertitore Expander seriale Bus I2C
con PCF8574 con Display LCD 

I pin utilizzati sono i seguenti

Pin Arduino/Nano Sensore anticollisione IR Modulo display
A4 (SDA)   SDA
A5 (SCL)   SCL
D2 OUT  
+5V VCC VCC
GND GND GND

Programma di prova

Il programma di test visualizza nella finestra del monitor seriale oppure sul display LCD se il sensore rileva un ostacolo posto di fronte. Questa situazione è anche evidenziata dall'accensione del relativo led presente sulla scheda Arduino UNO o Nano utilizzato per il test. La distanza cui è rilevato l'ostacolo può essere regolata agendo sul trimmer posto sul modulo.

Programma 
Schema circuito di prova

/*
  Test_sensore_IR.ino
  Lo sketch mostra con accensione del led sulla scheda Arduino e 
  con messaggio su display la presenza di un ostacolo
  di fronte al sensore.

  Sono utilizzati i seguenti pin
  Pin +5V           -> Alimentazione modulo I2C per Display e sensore
  Pin GND           -> GND
  Pin Diditale D2   -> Out sensore
  Pin Analogico A4  -> SDA modulo I2C LCD
  Pin Analogico A5   -> SCL modulo I2C LCD


  Creato il 27/12/2017 da Adriano Gandolfo
  Sito web http://www.adrirobot.it
  Blog http://it.emcelettronica.com/author/adrirobot
  Pagina Facebook https://www.facebook.com/Adrirobot-318949048122955
  Istagram https://www.instagram.com/adrirobot/
  This example code is in the public domain.
*/

int LED = 13; // Utilizzo del led a bordo scheda Arduino
int isObstaclePin = 2;  // Pin a cui è collegato il sensore IR
int isObstacle = HIGH;  // HIGH = non trovato ostacolo

// Impostazione display LCD tramite I2C
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);

void setup() {
  pinMode(LED, OUTPUT);
  pinMode(isObstaclePin, INPUT);
  Serial.begin(9600);

  lcd.begin();
  lcd.backlight();
  lcd.setCursor(0, 0);
  lcd.print("Test sensore IR");
  lcd.setCursor(0, 1);
  lcd.print("www.adrirobot.it");
  delay (3000);
  lcd.clear();
}

void loop() {
  isObstacle = digitalRead(isObstaclePin);
  if (isObstacle == LOW)
  {
    Serial.println("Trovato ostacolo");
    digitalWrite(LED, HIGH);
    lcd.clear();
    lcd.setCursor(0, 0);
    lcd.print("Trovato ostacolo");
  }
  else
  {
    Serial.println("Strada libera");
    digitalWrite(LED, LOW);
    lcd.clear();
    lcd.setCursor(0, 0);
    lcd.print("Strada libera");
  }
  delay(200);
}

 

Elenco revisioni

29/11/2018

Aggiornato pagina

28/12/2017

Emissione preliminare
Private Policy Cookie Policy