ultimo aggiornamento 16 marzo 2012



 

Allegato al fascicolo n°22 troviamo il primo sensore per il Robot RoboZak, si tratta di un sensore di luce, questo è composto principalmente da una fotoresistenza che modifica il suo valore di resistenza al variare della luminosità ambientale
Il sensore è dotato di un
connettore simile a quelli dei servomotori, questo andrà inserito nella scheda di controllo utilizzando gli apposti ingressi analogici, per il controllo si utilizza la scheda di controllo del Robot RoboZak denominata MR-C3024 dotata di un processore ATMEL ATMega 128L con un clock di  7.4MHz, con memoria interna supportata da una memoria aggiuntiva EEPROM da 64k*8 per Robo-Script e per programmi Robo-Basic.

Caratteristiche

Campo operativo più di 80 Lux
Tensione alimentazione 5V
Dimensioni 12.9mm x 14.6mm
Peso 5,8g
Lunghezza cavo 322 mm


Schema elettrico del sensore
(non ufficiale)

homotix

PCBA

OurPCB

scheda_robozak_componenti.jpg scheda_robozak_rame.jpg

 

 

Per un esempio di utilizzo vedere il programma SPIDERLIGHT.BAS riportato nel fascicolo 51


Programma
SPIDERLIGHT.BAS

Il programma riportato sotto può essere utilizzato per leggere il valori letti dal sensore


Programma
Lettura_fotocellula.bas

'======================================
' Lettura_fotocellula.bas
' di Adriano Gandolfo
' www.adrirobot.it
'======================================
'Definizione variabili
DIM luce AS INTEGER

'Inizializzazione LCD e
LCDINIT
PRINT "&$"
DELAY 500

lettura:
luce=AD(0) 'Il valore letto dalla porta 0 è salvato nella variabile luce
PRINT "1Lettura sensore#$"
DELAY 100
PRINT "2Valore="
PRINT FORMAT(luce,DEC,2) ' Viene mostrato il valore letto
PRINT "#$"
DELAY 100
GOTO lettura

 

Istruzioni in roboBasic per la lettura e scrittura porte digitali/analogiche

IN p, v
L'istruzione IN legge il valore digitale (0 o 1) dalla porta indicata dal parametro p. Tale valore viene memorizzato nella variabile v.
Esempio:
IN 32, x - Legge il valore presente sulla porta digitale 32 (ossia la porta AD0, utilizzata in modalità digitale) e lo memorizza nella variabile x.

x = AD(p)
L’istruzione AD viene utilizzata per ‘leggere’ il valore presente sulle diverse porte AD della scheda di controllo MR-C3024. Quando si collega un sensore a una delle otto porte, il valore di tensione elettrica su quest’ultima varia in base all’interazione del sensore con l’ambiente. Sebbene ogni sensore utilizzi un diverso ‘stimolo’ per attivarsi, per la scheda di controllo non vi è nessuna differenza, tranne il rilevamento di una diversa tensione elettrica. Il parametro p rappresenta il numero di porta AD (da 0 a 7) che viene letta, alla quale deve essere collegato il sensore. La variabile x, invece, viene utilizzata per memorizzare il valore restituito dall’istruzione AD. Il valore letto è un BYTE e può variare, quindi, tra 0 e 255. Se il sensore non rileva nulla (nel caso del sensore luminoso, ad esempio, c’è la totale assenza di luce) il valore restituito è pari a 255. Se invece il sensore rileva la condizione più ‘estrema’ possibile (considerando ancora il sensore di luce, quindi, vi è la massima condizione di luminosità) il valore restituito è pari a 0. I valori compresi tra 0 e 255 corrispondono a situazioni di rilevamento intermedie. Se alla porta AD non è collegato nessun sensore e si tenta comunque di leggerla, viene restituito il valore 255. Come al solito, è necessario dichiarare una variabile prima di utilizzarla, mediante l’apposita istruzione DIM.
Esempi:
Y = AD(5) - Memorizza nella variabile Y il valore letto sulla porta AD numero 5.
J = AD(3) - Memorizza nella variabile J il valore letto sulla porta AD numero 3.

OUT p, v
L'istruione OUT scrive il valore digitale specificato dal parametro v (0 o 1), sulla porta digitale indicata dal parametro p. Sulla scheda di controllo MR-C3024 non esistono porte specificatamente digitali: piuttosto le normali porte possono essere utilizzate in modalità digitale. Le porte AD da 0 a 7, corrispondono alle porte digitali da 32 a 39, la porta a cui si collega il LED, invece, alla porta digitale 52.
Esempio:
OUT 52, 0 - Scrive il valore 0 sulla porta a cui è collegato il LED (0 accende il LED, 1 lo spegne).

 

Altro metodo per la lettura del sensore è quello di utilizzare il programma RZ1 Basic , ecco come fare:

Segnalazione della pagina come argomento caldo del FORUM

 

Elenco revisioni
16/03/2012 Aggiornato pagina
07/01/2011 Aggiornato pagina
19/05/2008 Inserito riferimento alla NEWLETTER n°26 del 15/5/08 di Robozak
06/05/2008 Emissione preliminare
Private Policy Cookie Policy Termini e Condizioni