FC-51: IR Infrared Obstacle Detection Sensor Module 2-30cm

Похожие документы
I SENSORI DI PROSSIMITA

ACCENDERE E SPEGNERE UN DIODO LED

Per controllare un motore DC (funzionante in corrente continua) con Arduino, devi utilizzare il circuito integrato Ponte H (nel mio caso un L293NE

ARDUINO. Colleghiamolo al PC/MAC - FUNZIONA?

Corso di programmazione Arduino DI MALVEZZI DAVIDE

IL PROGETTO «TELECOMANDO» (sensore ad infrarossi)

FONDAMENTI DI ARDUINO

PRIMI PASSI CON ARDUINO

Far lampeggiare un led o forse un semaforo?

Facciamo lampeggiare un led

CORSO ARDUINO. Corso ASEV Giulio Fieramosca Stefano Panichi. Stefano Panichi e Giulio Fieramosca

SENSORI OTTICI - FOTORESISTENZE

Corso Arduino Maggio Riccardo Binetti Lezione 1 - Blinking LEDs with style

Lezione 6 su Arduino: I sensori di presenza PIR

Arduino: Programmazione

8^ parte: Pilotare Motori passo-passo unipolari usando l integrato ULN2003A. Author: Ing. Sebastiano Giannitto (ITIS M.

Termometro digitale. Ivancich Stefano

CORSO ARDUINO. Jacopo Belli Giulio Fieramosca Luca Mattii GOLEM Jacopo Belli Giulio Fieramosca Luca Mattii

CORSO ARDUINO. Giulio Fieramosca Stefano Panichi. Corsi GOLEM 2014

HP LED Driver Shield. EtherMania di Signorini Marco Via Cadore MALNATE (VA) P.I REA VA

CORSO ARDUINO. Corso ASEV Giulio Fieramosca Stefano Panichi. Stefano Panichi e Giulio Fieramosca

Arduino. Laboratorio Arduino Base. HackLab Terni. Laboratorio aperto a tutti di elettronica, scienza e arte. hacklabterni.

Corso Arduino Maggio Riccardo Binetti Lezione 1 - Blinking LEDs with style

Per vedere tutti i tutorial:

Corso Arduino Maggio Riccardo Binetti Lezione 2 - Il calore dell analogico

Macchina con Arduino Uno comandata tramite dispositivo Android e sensore ultrasuoni per fermarsi istantaneamente di fronte ad un ostacolo

Corso Base Arduino ed Elettronica

ELECTRONICS LAB [WITH ARDUINO]

CTU Presenta. Contest Automation con Arduino. IK0XBX - Francesco

LEGO Mindstorms e Arduino nella scuola secondaria di secondo grado: alcune esperienze didattiche. Pietro Bonora Liceo Scientifico A.B.

Relazione attività di laboratorio - Arduino

ARDUINO COLOR SENSOR TCS230 / TCS3200

14^ parte : Sensore a ultrasuoni HC SR04 e Arduino. Author: Ing. Sebastiano Giannitto (ITIS M.BARTOLO PACHINO)

8^ parte : Come pilotare i motori passo-passo unipolari. Author: Ing. Sebastiano Giannitto (ITIS M.BARTOLO PACHINO)

Display numerico con i LED

Tipologie dei dati nell SDK di Arduino come in un vero LP ad alto livello :

SEA Descrizione. Centralina Controllo Strip LED RGB

Introduzione a Arduino

virtua73 - Fotolia.com BARRE LUMINOSE A DIODI BARRE LUMINOSE LED A LED Alimentazione 12/24 Vcc

SENSORE AD ULTRASUONI HC-SR04 E ARDUINO

Descrizione caratteristiche cilindri elettrici serie ECC+

Cablaggio ponte H con integrato L293B

CORSO ARDUINO. Jacopo Belli Giulio Fieramosca Luca Mattii GOLEM Jacopo Belli Giulio Fieramosca Luca Mattii

Programmazione di Base Variabili Array Funzioni Strutture di controllo. Author: Ing. Sebastiano Giannitto (ITIS M.BARTOLO PACHINO)

Automobile Bluetooth

Comprendere il funzionamento dei convertitori Saper effettuare misure di collaudo

Sensori di Prossimità Guida Utente

6^ parte : Acquisizione della temperatura con LM35. Author: Ing. Sebastiano Giannitto (ITIS M.BARTOLO PACHINO)

Esperienze di spettrofotometria per la scuola, con arduino

OUT-LOOK sensore intrusione per interno/esterno Guida rapida (versione 1 28/05/2008)

INSEGUITORE SOLARE CON ARDUINO. Dispositivo che insegue il movimento solare realizzato con: 1. Arduino 2. 2 foto resistenze 3.

ARDUINO. Ing. Francesco Giurlanda

Corso Base Arduino ed Elettronica

Comprendere il funzionamento dei convertitori V/f Saper effettuare misure di collaudo

Programma di simulazione per Arduino

Ultrasonic Level Meter USM-02. (Estratto dal manuale operatore)

Università degli studi di Roma LA SAPIENZA

IL SUONO E GLI ULTRASUONI DI MARIANGELA MONE

CONTASECONDI CON DISPLAY A 7 SEGMENTI ARDUINO LIKE

Prof. Capuzzimati Mario - ITIS Magistri Cumacini - Como MICROCONTROLLORE

Programma di Robotica[LEGO EV3]

Controllo di una soglia analogica

INDICE INDICE AVVERTENZE M6002_01 04/ 07 3

In questo tutorial decodificheremo i segnali provenienti da un telecomando qualsiasi e utilizzeremo gli stessi segnali per comandare Arduino a

Telecontrollo escavatore LEGO con board Arduino

Per scrivere una procedura che non deve restituire nessun valore e deve solo contenere le informazioni per le modalità delle porte e controlli

MST_K12_FAN. Regolatore di velocita per ventole PC. Manuale d uso e d installazione

ELECTRONICS LAB [WITH ARDUINO]

Realizzate il circuito come indicato nello schema seguente:

Che cos è la barriera luminosa?

Il protocollo RS Introduzione. 1.2 Lo Standard RS-232

Sorgenti di luce Colori Riflettanza

Interruttore Tamper Interruttore luminosi led. Riflettori PIR

Il Theremin con il microcontrollore

IST-1395.CS01.01/A CE395CS / Istruzioni d uso Pag. 2/6

Controllare un nastro trasportatore fischertechnik con Arduino

Circuiti antirimbalzo

Ricevitore RX FM8SF 869,50 MHz

Sistema SRT - Unita centrale di raccolta dati

Ultrasonic Sensor Block

Fisica, tecnologia, scienze applicate: ulab2, un laboratorio portatile basato su arduino e due piccoli robot, LEMU e MOMOLAB, vanno a scuola

Arduino Uno INTRODUZIONE CONOSCENZE NECESSARIE

Cos'è Arduino? rilasciata con licenza di tipo open source.

Dipartimento di Ingegneria Industriale e dell Informazione. Laboratorio di acquisizione dati

TX-LRT-869. Long Range Terminator 869 MHz master unit Unità master sistema di terminazione di volo per SAPR. Manuale utente

Rossetto Flavio a.s. 2011/2012 classe 5E 2

Manuale di rapida installazione

Porte logiche. Caratteristiche delle porte logiche. Scalamento di tensione. Amplificazione di potenza. Interruttori allo stato solido

8^ parte: Pilotare Motori passo-passo bipolari usando l integrato SN754410NE. Author: Ing. Sebastiano Giannitto (ITIS M.

Gestione dell'interrupt con il microcontrollore ATMega328 (scheda Arduino)

Arduino - Tutorial #2 - Iniziamo a programmare

PROGRAMMA DI SCIENZE E TECNOLOGIE APPLICATE 2015/2016 Classe 2ª Sez. C Tecnologico

5. Esercitazioni di laboratorio

Progetti reali con ARDUINO

VELA-RX MOTORE 220V 500W

LED 1/2012 ORTOFLORICULTURA

Транскрипт:

FC-51: IR Infrared Obstacle Detection Sensor Module 2-30cm Giorgio De Nunzio Giovanni Marsella 0 Premessa: i raggi infrarossi (IR) Fig. 0 Lo spettro delle onde elettromagnetiche, in cui è presente la porzione dei raggi infrarossi (infrared) (da http://galileo.phys.virginia.edu/outreach/8thgradesol/radiationprotectionfrm.htm, immagine proveniente dall Uranium Information Centre, Melbourne, Australia) 1 Introduzione La presenza di un oggetto (per esempio, un ostacolo davanti a un robot) può essere rilevata mediante un sistema a raggi infrarossi costituito da un trasmettitore e un ricevitore IR. Più in dettaglio, un trasmettitore IR, o IR LED, invia un segnale a infrarossi ad una particolare lunghezza d onda compatibile con un ricevitore IR, il quale ha il compito di rilevarlo.

Ci sono diversi tipi di sensori IR per diverse tipologie di applicazioni. La tecnologia IR è usata, ad esempio, nei sensori di prossimità per rilevare un oggetto nelle immediate vicinanze, nei sensori di contrasto per individuare un percorso tracciato sul pavimento, o nei sensori di conteggio per contare oggetti che passino davanti a sensore. 2 Principio di funzionamento Fig. 1 Principio di funzionamento di un sensore IR con e senza un oggetto in prossimità. Il trasmettitore IR invia un segnale infrarosso che, in presenza di una superficie riflettente (soprattutto se di colore bianco), rimbalza in varie direzioni, compresa quella lungo la quale la radiazione colpisce il ricevitore IR, il quale cattura il segnale rilevando l oggetto, e segnalandolo attraverso uno dei suoi pin. Nel caso di una superficie assorbente (ad esempio di colore nero) il segnale IR è riflesso in minima parte, con la conseguenza che l oggetto è difficilmente rilevato dal sensore. 2.1 Trasmettitore IR e ricevitore IR Il trasmettitore IR è un particolare LED che emette radiazioni nel range di frequenz a dell infrarosso, invisibile a occhio nudo. Un LED infrarosso funziona esattamente come un LED nel visibile, tranne che per la lunghezza d onda emessa. La tensione di lavoro è di 3.3-5V DC e il consumo di corrente di circa 20mA. Il ricevitore IR, (un fotodiodo), è in grado di rilevare radiazioni infrarosse emesse da un trasmettitore IR. Esteticamente esso è simile ad un LED ma la capsula esterna può essere avvolta da un pellicola di colore scuro.

3 Sensore IR FC-51 Fig.2 Il Pin map del sensore FC-51. Il sensore usato in queste demo è il modello FC-51. Si tratta di un sensore economico facilmente reperibile su internet a meno di 2. 3.1 Configurazione dei Pin e schema elettronico Fig.3 Schema di un sensore IR FC-51. Il circuito integrato LM393 è un comparatore di tensione a collettore aperto (open-collector) il quale fornisce un uscita se è presente una resistenza di pull-up tra l uscita del IC (DO) e l alimentazione Vcc (R=10KΩ): l uscita DO è alta se l oggetto non è rilevabile, bassa se l oggetto è rilevabile. Il componente ha tre pin di connessione: 1. Vcc per l alimentazione 3.3-5V DC;

2. Gnd per il riferimento a massa; 3. Out per il segnale di uscita digitale del sensore. Il Power LED sul dispositivo si illumina quando esso è alimentato. L Obstacle LED si illumina quando si individua la presenza di un ostacolo. L uscita del sensore è alta (HIGH) se non è rilevato un ostacolo (il LED receiver non riceve segnali riflessi), è bassa (LOW) in caso di presenza di un ostacolo. Questo sensore rileva oggetti ad una distanza compresa tra 2 e 30cm. Mediante il trimmer potenziometrico è possibile calibrare la sensibilità in base all applicazione e alle condizioni ambientali (ad esempio la luminosità). Ruotando il potenziometro in senso antiorario, la distanza alla quale il sensore rileva l oggetto diminuisce, ruotandolo in senso orario tale distanza aumenta. E opportuno notare che si tratta di un dispositivo piuttosto rozzo, per cui può capitare che un ostacolo non sia rilevato se di colore scuro o se comunque assorbe le linghezze d onda IR, e che la precisione e la portata effettiva dipendono dalla qualità del sensore (molto variabile) e dal materiale di cui è fatto l oggetto da rilevare. 4 Alcune demo 4.1 Test IR sensor FC-51 mediante terminale seriale (Demo 01) Fig.4 Schema della demo 1.

Nella prima demo, mediante la connessione tra la porta seriale di Arduino e il PC, leggeremo l informazione sul rilevamento dell oggetto. Diamo uno sguardo ai passaggi richiesti da questa demo: 1. Colleghiamo il pin d uscita del sensore al pin digitale 2 di Arduino che chiameremo IR. 2. La funzione setup() è eseguita una sola volta prima della funzione loop. Inseriamo qui il codice di inizializzazione che abilita la porta seriale di Arduino e imposta il pin digitale 2 come un ingresso. 3. La funzione loop() è la funzione principale ed è ciclicamente ripetuta finché non si spegne la scheda Arduino. Convertiamo in linguaggio C il funzionamento del circuito elettronico analizzato in precedenza. Salviamo nella variabile detection il valore prelevato dal pin IR mediante la funzione digitalread: se il valore è basso allora c è un oggetto davanti al sensore, altrimenti non c è (o non è rilevabile). Ecco il codice: #define IR 2 int detection; void setup() { Serial.begin(9600); pinmode(ir, INPUT); void loop() { detection = digitalread(ir); if(detection == LOW){ Serial.print("There is an obstacle!\n"); else{ Serial.print("No obstacle!\n"); delay(500); // in ms 4.2 IR sensor FC-51 e LED (Demo 02) (dal sito [2]) Questa demo aggiunge l accensione del LED presente sulla scheda di Arduino quando è rilevato un ostacolo. Il pin di Arduino usato è diverso, ma solo per la diversa provenienza dell esempio applicativo. Qualunque pin digitale è utilizzabile.

Fig.5 Schema della demo 2. // IR Obstacle Collision Detection Module int LED = 13; // Use the onboard Uno LED int isobstaclepin = 7; // This is our input pin int isobstacle = HIGH; // HIGH MEANS NO OBSTACLE void setup() { pinmode(led, OUTPUT); pinmode(isobstaclepin, INPUT); Serial.begin(9600); void loop() { isobstacle = digitalread(isobstaclepin); if (isobstacle == LOW) { Serial.println("OBSTACLE!!, OBSTACLE!!"); digitalwrite(led, HIGH); else { Serial.println("clear"); digitalwrite(led, LOW); delay(200);

4.3 IR sensor FC-51 e LED (Demo 03) Fig.6 Schema elettrico della demo 3 In questa demo associamo un uscita ad ogni stato di funzionamento del sensore IR. I componenti richiesti sono (vedere anche la nota alla fine del paragrafo!): Sensore IR FC-51; 3 x LEDs verde; 3 x R=150Ω; 3 x LEDs bianco; 3 x R=100Ω; 3 x LEDs rosso; 3 x R=160Ω. Ricordate che i pin I/O sono in grado di assorbire/erogare 40mA max, in totale 200mA max (vedi il datasheet dell ATmega328P ). Diamo uno sguardo ai passaggi richiesti da questa demo:

1. Colleghiamo il pin d uscita del sensore al pin digitale 2 di Arduino. Definiamo i pin digitali dei LEDs come un array di pin, da 3 a 11 che chiamiamo LedPIN. 2. La funzione setup() è eseguita una sola volta prima del main loop. In aggiunta al codice di inizializzazione già visto, dichiariamo come output i 9 LED mediante un ciclo for. 3. La funzione loop() è la funzione principale ed è ciclicamente ripetuta finché non si spegne la scheda Arduino. Salviamo nella variabile detection il valore prelevato dal pin IR mediante la specifica funzione digitalread(). Questo valore può essere basso se c è un oggetto o alto se non c è. Diamo uno sguardo al codice: #define IR 2 // digital pin input for ir sensor int detection; int i; // array digital pin for: // green led(3,4,5) - white led (6,7,8)- red led (9,10,11) int LedPIN[] = {3, 4, 5, 6, 7, 8, 9, 10, 11; void setup() { pinmode(ir, INPUT); for(i = 0; i < 9; i++){ pinmode(ledpin[i], OUTPUT); void loop() { detection = digitalread(ir); if(detection == LOW){ % there is an object! BlinkLED(); else{ LedOFF(); void BlinkLED() { for(i = 0; i < 9; i++) { digitalwrite(ledpin[i], LOW); % turn all the LEDs off for(i = 0; i < 9; i++) { digitalwrite(ledpin[i], HIGH); % turn all the LEDs on void LedOFF() { for(i = 6; i < 9; i++) { digitalwrite(ledpin[i], LOW); for(i = 3; i < 6; i++) { digitalwrite(ledpin[i], LOW); for(i = 0; i < 3; i++) {

digitalwrite(ledpin[i], LOW); Nota: il codice è solo una delle possibili varianti: quando è presente un ostacolo, fa lampeggiare i nove LED, quando non vi è ostacolo, se sono accesi li spegne in sequenza, in gruppi di tre. Naturalmente, avendo a disposizione meno LED o volendo modificare il codice, è possibile realizzare un circuito che usi solo un LED (che lampeggi se c è ostacolo, sia spento altrimenti) o con un numero a piacere. Sitografia [1] http://www.playembedded.org/blog/it/2016/01/08/rilevare-un-ostacolo-con-il-sensore-ir-e-arduino/ [2] http://qqtrading.com.my/ir-infrared-obstacle-detaction-sensor-module-fc-5 [3] http://www.playembedded.org/blog/it/2016/02/29/un-contatore-di-oggetti-utilizzando-un-sensore-ire-arduino/