Nelle prossime pagine ZAKINPROGRESS COMPONENTI

Documenti analoghi
Nello scorso fascicolo 8 ZAKINPROGRESS COMPONENTI

Nelle prossime pagine ZAKINPROGRESS COMPONENTI

Nelle pagine seguenti 6 ZAKINPROGRESS COMPONENTI

T E S T I A M O I S E N S O R I C O N R O B O P E N G U I N

I L Q U I N T O C D - R O M Il CD-Rom allegato a questo fascicolo contiene alcuni utili filmati relativi al montaggio di RoboPenguin, gli esempi di

Nelle prossime pagine 8 ZAKINPROGRESS COMPONENTI

Negli scorsi fascicoli ZAKINPROGRESS COMPONENTI

R O B O Z A K E L A K A M A T E

Nelle prossime pagine 6 ZAKINPROGRESS COMPONENTI

Nello scorso fascicolo hai ZAKINPROGRESS COMPONENTI

Nel primo CD-Rom di ZAKINPROGRESS COMPONENTI

IDENTIFICAZIONE DEI SERVOMOTORI

LE DUE ZAMPE A N T E R I O R I

Il programma presentato 8 ZAKINPROGRESS COMPONENTI

Termina in questo 6 ZAKINPROGRESS COMPONENTI

R O B O S C R I P T E L A S SCHEDA C H E D A

Dopo aver presentato ZAKINPROGRESS COMPONENTI

Dopo avere esaminato ZAKINPROGRESS COMPONENTI

R O B O Z A K : A T L E T A R O B O T I C O

C O M P L E T I A M O RO B O A R M

I L S O S T E G N O P E R RO R O B O A R M

IL SOSTEGNO PER ROBOARM

I L P R I M O SERVOMOTORE

SCHEDA TECNICA DI ROBOARM A 4 SERVO. Gradi di libertà: 4. Servomotori di tipo A: 1. Servomotori di tipo B: 2. Servomotori di tipo C: 1

Nello scorso fascicolo 8 ZAKINPROGRESS COMPONENTI

ZAKINPROGRESS COMPONENTI

I L Q U A R T O SERVOMOTORE

I L S E C O N D O SERVOMOTORE

In questo nuovo fascicolo ZAKINPROGRESS COMPONENTI

COSTRUISCI L'AERMACCHI MB 339 PAN - FRECCE TRICOLORI

COSTRUISCI L'AERMACCHI MB 339 PAN - FRECCE TRICOLORI

Harley-Davidson FLSTF Fat Boy

KTM SUPERDUKE

Prontuario per la programmazione di mbot. Versione V01

Harley-Davidson FLSTF Fat Boy

IL SECONDO MICROFONO DI I-D01

LA TELECAMERA CMOS DI I-D01

Harley-Davidson FLSTF Fat Boy

MANUALE D INSTALLAZIONE. Termostato ambiente EKRTW

Istruzioni per aggiornare il cablaggio ROTAX DD2 evo

CIRCOLARE TECNICA PRE-CONSEGNA

IL COMPLETAMENTO DELLA TESTA

Harley Davidson modelli Softail 2009

MANUALE DI MONTAGGIO HR25T

Kit luci di stop e di direzione Veicolo polifunzionale Workman GTX

BUDVR4PLUS - BUDVR16PLUS

CarBot ISTRUZIONI DI MONTAGGIO. CarBot

Array. // utente pippo $utente1 = array( username => pippo, password => pippo123, ruolo => amministratore );

SCdefault. 900 Monteringsanvisning

Ducati Istruzioni di Installazione. Display Pulsanti Regolazione. Pulsanti Frontali. Porta di Espansione

COMANDI COMBINATI MECCANICI PER MOTORSTOP DIESEL, FRIZIONE INSERITA, CON CAVO POMPA INTERNO AL TUBO E MODULO D ORDINE MODELLO CL 10D

Modifica FT-817 per alimentazione 817 Remote Manager

Centrale idroelettrica Istruzioni parti

Smart.IC2 V3 Manuale Rapido Installazione

Accessori Original BMW. Istruzioni di montaggio.

INSTALLAZIONE DEL SOFTWARE DI I-D01

Ducati Monster S4 e E ST4-S Power Commander III

Laboratorio di Programmazione 1. Docente: dr. Damiano Macedonio Lezione 8 14/11/2013

COME CONVERTIRE UNA TAPPARELLA CON MANOVRA A CINGHIA IN MANOVRA A MOTORE

Stacco riattacco frizione

MANUALE DI PRECONSEGNA PIEGA

Accessori Original BMW. Istruzioni di montaggio.

MANUALE DI PRECONSEGNA SERIE ML

Istruzioni per aggiornare il cablaggio ROTAX evo. Motore Micro, Mini, Junior e MAX

Fondamenti di Informatica

Tastiera EO/

Accessori Originali BMW. Istruzioni di montaggio.

Istruzioni per il montaggio (supporto a due assi con servomotore oscillazione/rotazione)

Smontaggio. 3 Togliere la gomma di protezione dei cavi. 4 Svitare la vite (3) e dividere l interruttore interno in 3 parti ((4), (5) e (6)).

Ricambi e accessori. Istruzioni di montaggio.

IMPORTANTI ISTRUZIONI DI SICUREZZA

ASUS Memo Pad FHD10 sostituzione della scheda madre

MONTAGGIO DEL SOUND FOLLOWER

ALL INTERNO DEL MARSUPIO

ISTRUZIONI DI MONTAGGIO SCHEDA RPC 4/20mA

Introduzione alla robotica

ISTRUZIONI MONTAGGIO PORTATARGA MONSTER

Harley Davidson modelli Dyna 2009

FASE PAG. Piastra e dettagli della forcella. Serbatoi dei semimanubri. L ammortizzatore di sterzo. Connessioni elettriche e idrauliche

Avvertenza prima dell installazione

IL BRACCIO DESTRO DI I-D01

Robot Beginner Kit con Arduino il montaggio

Sostituzione Microsoft Zune HD interno del

Per vedere tutti i tutorial:

Le strutture di controllo

Istruzioni di Installazione. Harley Davidson Softail Deluxe & Heritage 09-11

IT Avvertenza prima dell installazione NOTE:

Sony Ericsson Xperia X10 sostituzione dello

Sostitutiva ASUS ZenFone 2 Motherboard

MANUALE D'INSTALLAZIONE

Istruzioni per montaggio di SpeedUp FURIOUS MAGNETE

COMANDI COMBINATI ELETTRICI / MECCANICI PER MOTORSTOP BENZINA, FRIZIONE INSERITA, CON CAVO ELETTRICO INTERNO AL TUBO E MODULO D ORDINE MODELLO CL 10B

FASE PAG. Gruppo della leva del cambio. Il condotto dell airbox. Il supporto della carena. La presa d aria della carena IN COLLABORAZIONE CON

eplus D INSTALLAZIONE MOTORI BOSCH PER: ITA ACTIVE LINE PERFOMACE LINE PERFOMACE LINE CX

Istruzioni di Installazione. Lista delle Parti. Harley Davidson modelli V-Rod L iniezione DEVE essere. all installazione

AFD-280E IDENTIFICAZIONE PARTI VISTA DI FRONTE VISTA PARTE INFERIORE

AiM Infotech. Potenziometro lineare auto/moto diametro 9,5. Versione 1.00

Transcript:

F.51-ZAKinPROGRESS 31-07-2008 10:59 Pagina 7 7 R O B O S P I D E R E I L S E N S O R E L U M I N O S O Scopriamo in questo fascicolo come collegare il sensore luminoso al ragno robotico e creare un interessante esempio di programmazione che utilizza la luce come attivatore di movimento. Nelle prossime pagine è riportato un nuovo programma per RoboSpider che utilizza il sensore di luce. Il codice dell esempio (SpiderLight.bas) è all interno del CD-Rom allegato a questo fascicolo (dove trovi anche i programmi mostrati negli ultimi fascicoli di RoboZak e quelli che verranno presentati nei prossimi). Le istruzioni per collegare il sensore alla scheda MR-C3024 sono riportate a pagina 12. Per testare l esempio devi procurarti una piccola sorgente di luce, ad esempio una torcia elettrica: puntando la luce sul sensore il ragno robotico si attiva, muovendosi in avanti. Se la luce viene allontanata, invece, RoboSpider si arresta. Il blocco Oltre a nuovi componenti di montaggio, allegato a questo fascicolo di RoboZak trovi il quarto CD-Rom, con i video di assemblaggio del ragno robotico RoboSpider e gli esempi di programmazione in RoboBasic. COMPONENTI 1 2 3 4 1 intelaiatura metallica superiore 2 base superiore per servo tipo C 3 vite di tipo T-2 da 2,6x6 mm 4 squadretta circolare di tipo 1 per servo 5 10 viti tipo M da 2,6x4 mm 5 6 4 viti tipo T-2 da 2x21 mm (nere) 6

F.51-ZAKinPROGRESS 31-07-2008 11:00 Pagina 8 8 di istruzioni che permette al ragno di muoversi è identico a quello visto nell'esempio ForwardWalk.bas (presentato nel fascicolo 49). Nel codice di SpiderLight.bas, compaiono nuovi e importanti costrutti RoboBasic: il costrutto c o n d i z i o n a l e e i s o t t o p ro g r a m m i. La loro spiegazione dettagliata è riportata a pagina 10 e 11. L istruzione AD, presente nel codice di questo nuovo esempio, sarà spiegata nel prossimo fascicolo: per il momento ti basta sapere che viene utilizzata per leggere il valore misurato dal sensore di luce. CODICE ROBOBASIC: SPIDERLIGHT.BAS Questo esempio di programmazione utilizza diverse nuove istruzioni RoboBasic (trovi la loro dettagliata spiegazione nel box di pagina 10 e 11). Per prima cosa vengono inizializzati i servomotori, come già visto negli esempi analizzati negli scorsi fascicoli. Viene inoltre dichiarata la variabile luce, utilizzata per memorizzare il valore letto dal sensore luminoso. Il ciclo main racchiude il cuore del programma: a ogni iterazione viene letto e memorizzato il valore misurato dal sensore luminoso. L istruzione AD(0) svolge questa funzione, ossia legge il valore presente sulla prima porta AD della scheda di controllo (la porta 0, dove andrà collegato il sensore di luce) e lo salva nella variabile luce. Se tale valore è inferiore a 10 viene eseguito il sottoprogramma forward_walk, in caso contrario il sottoprogramma standard_position. Una nota per quanto riguarda il sensore: quando viene rilevata una forte sorgente luminosa, il sensore restituisce il valore 0, in caso di buio, invece, restituisce il valore 255. ====================================== RoboSpider - SpiderLight.bas ====================================== Sincronizza i movimenti di tutti i servomotori PTP ALLON Test sul valore rilevato dal sensore luminoso IF luce < 10 THEN GOSUB forward_walk ELSE GOSUB standard_position ENDIF Dichiara la variabile luce DIM luce AS BYTE Settaggio dei servomotori DIR G6A,1,1,1,0,1,1 DIR G6D,0,0,0,1,0,0 GETMOTORSET G6A,1,1,1,1,0,0 GETMOTORSET G6D,1,1,1,1,0,0 MOTOR G6A MOTOR G6D SPEED 10 GOTO main Movimento frontale forward_walk: MOVE G6A,90,30,55,30,, MOVE G6D,55,80,90,80,, MOVE G6A,55,30,90,80,, MOVE G6D,90,80,55,80,, MOVE G6A,55,80,90,80,, MOVE G6D,55,30,90,30,, Inizializza la variabile luce luce = 0 Ciclo principale main: Posizione di riposo di RopoSpider standard_position: Memorizza nella variabile luce il valore rilevato dal sensore di luce luce = AD(0) MOVE G6A,55,55,55,55,, MOVE G6D,55,55,55,55,,

F.51-ZAKinPROGRESS 31-07-2008 11:00 Pagina 9 9 CONTENUTO DEL CD-ROM All interno del quarto CD-Rom di RoboZak trovi alcuni filmati che ripercorrono le tappe di montaggio di RoboSpider, una serie di esempi di programmazione in RoboBasic, un video-tutorial sulla programmazione e un breve video che illustra il funzionamento del sensore di luce utilizzato con il ragno robotico. Inserendo il CD-Rom nel personal computer apparirà una schermata con tre menu (vedi immagine a sinistra) grazie ai quali potrai accedere alle tre diverse sezioni Script, Montaggio e Tutorial. Script In questa sezione trovi gli esempi di programmazione in RoboBasic per il ragno robotico RoboSpider. Montaggio Da questa sezione puoi accedere ai diversi filmati che mostrano il montaggio del ragno RoboSpider. Tutorial In questa sezione trovi un filmato sulla programmazione in RoboBasic e un video che mostra RoboSpider in azione con il sensore di luce montato.

F.51-ZAKinPROGRESS 31-07-2008 11:00 Pagina 10 10 IL COSTRUTTO CONDIZIONALE RoboBasic mette a disposizione un potente costrutto di programmazione che permette di gestire e controllare il flusso di esecuzione di un programma. Si tratta di un meccanismo che consente di eseguire una porzione di codice solo se si verifica una particolare condizione (in genere se una variabile ha un determinato valore). Il caso più semplice prevede l uso di una singola condizione di scelta e si basa sull utilizzo congiunto delle due istruzioni IF e THEN. L utilizzo di più condizioni di scelta, invece, si avvale anche delle istruzioni ELSE, ELSEIF e ENDIF. Vediamo entrambi i casi. CASO 1: CONDIZIONE SINGOLA IF [condizione] THEN [istruzione] Se la condizione presente nella prima coppia di parentesi quadre è verificata, allora viene eseguita l istruzione presente dopo THEN. La condizione tra parentesi, in genere, è costituta da un test sul valore di una o più variabili. Esempi: IF A>5 THEN MOVE G6A, 10, 20, 30, 40, 50, 60 Se il valore della variabile A è maggiore di 5, allora viene eseguita l istruzione MOVE. IF A>3 AND B<7 THEN MOVE G6A, 10, 20, 30, 40, 50, 60 Se il valore della variabile A è maggiore di 3 e il valore della variabile B è minore di 7, allora viene eseguita l istruzione MOVE. CASO 2: CONDIZIONI MULTIPLE IF [condizione1] THEN [istruzione1] ELSEIF [condizione2] THEN [istruzione2]... ELSE [istruzione di default] ENDIF Talvolta è utile avere più condizioni da analizzare in base alle quali eseguire diverse porzioni di codice. Per prima cosa viene analizzata la prima condizione (condizione1). Se essa è verificata viene eseguita l istruzione presente dopo il primo THEN (istruzione1) e l esecuzione del programma salta direttamente all istruzione ENDIF (le altre condizioni non vengono analizzate). Se condizione1 non è verificata, viene analizzata condizione2. Nel caso questa sia verificata, allora viene eseguita istruzione2 e così via (è possibile inserire altri blocchi ELSEIF...THEN). Se nessuna delle condizioni è verificata, viene eseguita l istruzione di default, presente dopo l istruzione ELSE. L istruzione ENDIF termina il costrutto condizionale. NOTA: in realtà istruzione1, istruzione2 ecc. possono essere blocchi di istruzioni anziché istruzioni singole.

F.51-ZAKinPROGRESS 31-07-2008 11:00 Pagina 11 11 Esempio: IF A=1 THEN MOVE G6A, 10, 10, 10, 10, 10, 10 ELSEIF A=2 THEN MOVE G6A, 20, 20, 20, 20, 20, 20 ELSE MOVE G6A, 30, 30, 30, 30, 30, 30 MOVE G6B, 30, 30, 30, 30, 30, 30 ENDIF Se il valore della variabile A è pari a 1 viene eseguita la prima istruzione MOVE, se invece è pari a 2 viene eseguita la seconda istruzione MOVE. Qualora nessuna delle due condizioni sia verificata, vengono eseguite le due istruzioni MOVE presenti dopo ELSE. GOSUB sottoprogramma... sottoprogramma: [codice del sottoprogramma] Talvolta in un programma può essere utile avere delle porzioni di codice che vengono eseguite più volte. Per non scrivere ogni volta le stesse istruzioni, RoboBasic mette a disposizione alcuni costrutti adatti a questo scopo. Tra di essi vi è l istruzione GOTO (vedi fascicolo 49, pagina 11) che, permettendo di saltare da un punto a un altro di un programma, può essere usata per ripetere ciclicamente la stessa porzione di codice. Esiste tuttavia un costrutto molto potente tramite il quale è possibile creare delle porzioni di codice circoscritte che possono essere eseguite all occorrenza. Tali porzioni di codice, chiamate sottoprogrammi, devono essere inserite in un programma tra un etichetta e l istruzione. Per attivare l esecuzione del sottoprogramma è sufficiente utilizzare l istruzione GOSUB, seguita dal nome dell etichetta che identifica il sottoprogramma. Dopo che il codice del sottoprogramma viene eseguito, il programma riprende esattamente dall istruzione immediatamente dopo al GOSUB. Esempio: GOSUB movimento... movimento: MOVE G6C,10, 20, 30, 40, 50, 60 MOVE G6D,10, 10, 10, 80, 80, 60 L istruzione GOSUB attiva l'esecuzione del sottoprogramma movimento, composto, in questo caso dalle due istruzioni MOVE. Dopo che le due istruzioni sono state eseguite, il flusso di esecuzione del programma riprende dall istruzione che segue GOSUB.

F.51-ZAKinPROGRESS 31-07-2008 11:00 Pagina 12 12 1 1 Per testare l esempio SpiderLight.bas dobbiamo collegare il sensore di luce (mostrato nel riquadro tratteggiato) alla porta AD0 della scheda MR-C3024, orientando il connettore come nell immagine a lato. 2 2 Recuperiamo una striscia di nastro biadesivo e, dopo aver rimosso una delle due pellicole protettive, attacchiamolo a RoboSpider, sul coperchio in metallo del vano batterie. 3 3 Dopo aver rimosso la seconda pellicola protettiva, attacchiamo il sensore a RoboSpider. Posizioniamo il sensore come nell immagine accanto, facendo attenzione che il fotoresistore sia orientato verso l esterno. 4 4 Ora che il sensore è collegato, possiamo scaricare il programma sulla scheda di controllo e testarlo. Per azionare RoboSpider, è sufficiente utilizzare una sorgente luminosa, come una piccola torcia elettrica. NOTA: affinché il programma funzioni correttamente, è opportuno testarlo in una stanza non illuminata eccessivamente, altrimenti il sensore potrebbe essere azionato dalla luce ambientale.

F.51-ZAKinPROGRESS 31-07-2008 11:00 Pagina 13 13 R I E P I L O G O C O M P O N E N T I In questo elenco trovi tutte le tipologie di pezzi che ti sono state fornite a partire dal primo fascicolo: puoi consultarlo quando devi affrontare le fasi di montaggio, in modo da avere un riferimento immediato per i componenti che dovrai utilizzare e per quelli che hai a disposizione. armatura del dorso armatura del torace base inferiore per servo A base inferiore per servo B base inferiore per servo C base superiore per servo A base superiore per servo B base superiore per servo C bullone da 3x4 mm caricabatterie cavo di prolunga per pacco batterie cavo seriale c i rcuito con LED coperchio in metallo per il vano batterie copertura in plastica del piede sinistro e destro cuscinetto a sfera distanziatore da 3x5 mm elementi plastici della mano fascetta di fissaggio dei cavi fascetta in plastica per il raggruppamento dei cavi guaina in plastica proteggi cavo intelaiatura metallica del dorso intelaiatura metallica del piede intelaiatura metallica superiore intelaiatura metallica del polso intelaiatura metallica del torace motore elettrico cavo 200 mm (6N200 - Servo C) motore elettrico cavo 300 mm (4N300 - Servo A) motore elettrico cavo 400 mm (5N400 - Servo B) nastro biadesivo pacco batterie ricaricabili parte anteriore della testa parte posteriore della testa perno da 1,6x14 mm perno da 1,6x9 mm protezione per scheda MR-C3024 rondella da 6x2,2x0,5 mm rondella da 7,6x2,8x0,5 mm ruota dentata di tipo 1 ruota dentata di tipo 2 ruota dentata di tipo 3 ruota dentata di tipo 4 scheda MR-C3024 scheda PC Servo Control sensore di contatto sensore di luce sostegno per potenziometro squadretta circolare di tipo 1 squadretta circolare di tipo 2 squadretta circolare di tipo 3 squadretta circolare di tipo 4 squadretta circolare per il fissaggio della testa squadretta metallica a I squadretta metallica a U (16 fori) squadretta metallica a U (22 fori) squadretta metallica ad H tubetto di grasso visiera vite di tipo M da 2,6x4 mm vite di tipo M da 2x4 mm vite di tipo M da 3x4 mm vite di tipo T-2 da 2,6x6 mm vite di tipo T-2 da 2x12 mm vite di tipo T-2 da 2x18 mm vite di tipo T-2 da 2x21 mm (nera) vite di tipo T-2 da 2x26 mm (nera) vite di tipo T-2 da 2x4 mm vite di tipo T-2 da 2x5 mm vite di tipo T-2 da 2x8 mm