http://www.mrscuole.net/anxapic/
http://www.mrscuole.net/anxapic/
Corso introduttivo sui
microcontrollori
A. S. 2009 – 2010
http://www.mrscuole.net/anxapic/
Anxapic18 demo-Board
Un semplice esempio d’uso dei sensori (sistema) a ultrasuoni SFR08
Nicola Amoroso
[email protected]
na_SFR08
1
http://www.mrscuole.net/anxapic/
http://www.mrscuole.net/anxapic/
Un semplice esempio d’uso dei sensori (sistema) a ultrasuoni SFR08
L'SRF08 e' un sensore ad ultrasuoni di grande sensibilità e precisione.
Riesce ad individuare ostacoli e oggetti, anche molto piccoli, fino ad una
distanza di 6 metri. Grazie alla presenza di un potente microcontrollore,
tutte le funzioni di rilevamento e calcolo sono gestite direttamente dal
http://www.mrscuole.net/anxapic/
Anxapic18 demo-Board
sensore, per ottenere la lettura e' sufficiente fare una interrogazione
tramite protocollo I2C e il sensore ci restituirà la distanza direttamente
fotoresistivo che consente la lettura, sempre tramite protocollo I2C, dell'intensità
luminosa ambientale. [ http://www.robot-italy.com/
<Sensori/Ultrasuoni> ] .
Questo semplice esempio è una occasione per conoscere un po’ meglio la nostra
demoboard per controllori a 8..20 pin ed è anche utile per conoscere un semplice
sistema per il rilevamento di distanze.
na_SFR08
2
http://www.mrscuole.net/anxapic/
http://www.mrscuole.net/anxapic/
in microsecondi, millimetri o pollici. L'SRF08 e' anche dotato di un sensore
http://www.mrscuole.net/anxapic/
Un semplice esempio d’uso dei sensori (sistema) a ultrasuoni SFR08
La nostra demoBoard ha due connettori a
90° per il collegamento di “device” I2C. Il
connettore [1] lo utilizzeremo per il
collegamento del display seriale/I2C LCD
4x20 della Devantech Ltd. [ http://www.robotitaly.com/ <Display & Led/LCD Seriali> ] mentre il
nostro sensore, mediante opportuno adatta
tore lo collegheremo sul connettore [2]
[1]
[2]
na_SFR08
[2]
http://www.mrscuole.net/anxapic/
Adattatore collegato sul connettore
http://www.mrscuole.net/anxapic/
Anxapic18 demo-Board
Il sensore inserito nell’adattatore
3
http://www.mrscuole.net/anxapic/
http://www.mrscuole.net/anxapic/
Un semplice esempio d’uso dei sensori (sistema) a ultrasuoni SFR08
Sulla nostra demoBoard utilizzeromo un microcontrollore a 20 pin, il 16F690;
per il nostro semplice esempio potevamo utilizzare un controllore con un numero
inferiore di pin e caratteristiche HardWare meno spinte, purchè abbia il modulo
HardWare per la gestione del bus I2C, ad esempio anche il Pic16F88 può andar
http://www.mrscuole.net/anxapic/
Anxapic18 demo-Board
bene. Abbiamo questo controllore a 20 pin disponibile e questo utilizzeremo.
Pic16F690. Dopo aver analizzato il Data Sheet del controllore e definito i vari
pin di I/O necessari al nostro lavoro, configuriamo opportunamente i Jumpers
della demoBoard. Le slides seguenti mostrano le opportune configurazioni da
abilitare.
na_SFR08
4
http://www.mrscuole.net/anxapic/
http://www.mrscuole.net/anxapic/
La nostra demoBoard beve essere opportunamente configurata per l’utilizzo del
http://www.mrscuole.net/anxapic/
Un semplice esempio d’uso dei sensori (sistema) a ultrasuoni SFR08
Consultare anche la documentazione della demoBoard AnxaPic18, sezione Jumpers
1
2
Jumper Led power [J43] Close
2
Jumper set RX [J38], TX [J37] XBEE Wireless Open
Jumper set Vcc ON/OFF [J41] XBEE Wireless Open
3
Jumper set Pull-Resistor I2C Bus [J33] [J34] Close
4
Jumper set RA3 [J7] Reset Pin Close
5
Jumper set Ext-interrupt Pin [J18] RA2 Close
7
Jumper set Analog pin input[J13] Open
8
Jumper set Bus 1-Wire [J11] Open
9
Jumper set RB0 ICSPDAT [J12] Close
Jumper set RA1ICSPCLK [J20] Close
4
5
10
7
9
3
10
na_SFR08
Jumper set Ext Clk Osc1 [J23] Close
Jumper set Ext Clk Osc2 [J24] Close
5
http://www.mrscuole.net/anxapic/
http://www.mrscuole.net/anxapic/
8
1
http://www.mrscuole.net/anxapic/
Anxapic18 demo-Board
http://www.mrscuole.net/anxapic/
Un semplice esempio d’uso dei sensori (sistema) a ultrasuoni SFR08
Consultare anche la documentazione della demoBoard AnxaPic18, sezione dip-switch
Set Pin Buzzer RC5
http://www.mrscuole.net/anxapic/
Anxapic18 demo-Board
Set Pin System Led RC3
Set Pin I2C SDA RB4
I dip RX e TX non
vengono considerati per
il nostro esempio
na_SFR08
6
http://www.mrscuole.net/anxapic/
http://www.mrscuole.net/anxapic/
Set Pin I2C SCL RB6
http://www.mrscuole.net/anxapic/
Un semplice esempio d’uso dei sensori (sistema) a ultrasuoni SFR08
Il sensore (sistema) a ultrasuoni SFR08
Nello studio degli oggetti in movimento, questo sensore si comporta come uno strumento di misura in
grado di campionare la distanza di un oggetto ad intervalli di tempo regolari. Questo sensore è
praticamente un piccolo sonar capace di emettere una successione di impulsi ultrasonici e di ricevere
http://www.mrscuole.net/anxapic/
Anxapic18 demo-Board
gli impulsi riflessi dall’oggetto in movimento.
Il tempo intercorso tra l’emissione e la ricezione degli impulsi, viene utilizzato dal sistema di
tempo. Il segnale emesso è costituito in genere da un treno di impulsi viaggianti alla velocità del
suono nell'aria (340 m/s circa). L'emissione avviene tramite un apposito trasduttore elettroacustico di
tipo piezoceramico. L'onda riflessa è rilevata da un analogo trasduttore la cui funzione è quella di
riconvertire i segnali acustici in segnali Elettrici.
na_SFR08
7
http://www.mrscuole.net/anxapic/
http://www.mrscuole.net/anxapic/
elaborazione dei dati per determinare la posizione dell’oggetto e darne la relativa rappresentazione nel
http://www.mrscuole.net/anxapic/
Un semplice esempio d’uso dei sensori (sistema) a ultrasuoni SFR08
Il sensore (sistema) a ultrasuoni SFR08
Per comprendere e utilizzare in modo efficace il nostro sistema si raccomanda di leggere attentamente
la documentazione fornita dal costruttore (venditore); suggeriamo di leggere i documenti “SFR08Product Specifications.pdf” e “Sonar-FAQ.pdf” prima di analizzare il nostro esempio.
http://www.mrscuole.net/anxapic/
Anxapic18 demo-Board
Il nostro sistema è completamente “trasparente”, effettua il rilevamento e il calcolo della posizione
dell’oggetto dopo che viene dato un “inizio conversione” (init ranging) dall’operatore; i risultati della
vengono opportunamente “puliti” (clear) e poi aggiornati con i risultati della conversione.
In modo analogo avviene il rilevamento della luminosità d’ambiente mediante opportuna fotocellula
presente nel sistema.
Fino a 16 sensori possono essere collegati sullo stesso bus I2C, ogni sensore deve essere
“programmato” con un indirizzo I2C diverso (0xE0, 0xE2, 0xE4, …).
na_SFR08
8
http://www.mrscuole.net/anxapic/
http://www.mrscuole.net/anxapic/
operazione vengono immagazzinati in opportuni registri. Ad ogni “inizio conversione” questi registri
http://www.mrscuole.net/anxapic/
Un semplice esempio d’uso dei sensori (sistema) a ultrasuoni SFR08
Il sensore (sistema) a ultrasuoni SFR08
Nel nostro esempio la distanza massima di rilevamento è stata impostata su 2 metri, il susseguente
tempo di conversione è di almeno 12 ms; dopo ogni inizio conversione bisogna attendere almeno 12
ms prima di leggere i risultati negli opportuni registri del nostro sistema (nel nostro esempio il tempo
http://www.mrscuole.net/anxapic/
Anxapic18 demo-Board
di attesa è di 15 ms).
“sistema SFR08” mediante la opportuna documentazione richiamata in precedenza.
Sulla nostra demoBoard per la visualizzazione dei risultati utilizziamo un display LCD 4x20 con
interfaccia I2C, per le modalità di utilizzo e impiego rimandiamo alla documentazione del costruttore
(Devantech_I2C_LCD4x20.pdf)
na_SFR08
9
http://www.mrscuole.net/anxapic/
http://www.mrscuole.net/anxapic/
Ricordiamo di analizzare il codice proposto dopo aver opportunamente compreso il funzionamento del
http://www.mrscuole.net/anxapic/
http://www.mrscuole.net/anxapic/
Anxapic18 demo-Board
Un semplice esempio d’uso dei sensori (sistema) a ultrasuoni SFR08
Esempio => main() function
na_SFR08
10
http://www.mrscuole.net/anxapic/
http://www.mrscuole.net/anxapic/
Per una migliore comprensione del codice consultare le documentazioni presenti nella cartella del progetto
http://www.mrscuole.net/anxapic/
http://www.mrscuole.net/anxapic/
Anxapic18 demo-Board
Un semplice esempio d’uso dei sensori (sistema) a ultrasuoni SFR08
Esempio => na_SFR08() function
na_SFR08
11
http://www.mrscuole.net/anxapic/
http://www.mrscuole.net/anxapic/
Per una migliore comprensione del codice consultare le documentazioni presenti nella cartella del progetto
http://www.mrscuole.net/anxapic/
Un semplice esempio d’uso dei sensori (sistema) a ultrasuoni SFR08
Esempio => na_LCD03() function
P1
na_SFR08
12
http://www.mrscuole.net/anxapic/
http://www.mrscuole.net/anxapic/
Per una migliore comprensione del codice consultare le documentazioni presenti nella cartella del progetto
http://www.mrscuole.net/anxapic/
Anxapic18 demo-Board
http://www.mrscuole.net/anxapic/
Un semplice esempio d’uso dei sensori (sistema) a ultrasuoni SFR08
Esempio => na_LCD03() function
P2
na_SFR08
13
http://www.mrscuole.net/anxapic/
http://www.mrscuole.net/anxapic/
Per una migliore comprensione del codice consultare le documentazioni presenti nella cartella del progetto
http://www.mrscuole.net/anxapic/
Anxapic18 demo-Board
http://www.mrscuole.net/anxapic/
http://www.mrscuole.net/anxapic/
Anxapic18 demo-Board
Un semplice esempio d’uso dei sensori (sistema) a ultrasuoni SFR08
Esempio => na_iodevice() function
na_SFR08
14
http://www.mrscuole.net/anxapic/
http://www.mrscuole.net/anxapic/
Per una migliore comprensione del codice consultare le documentazioni presenti nella cartella del progetto
Scarica

na_SFR08() - mrscuole.net