Relazione Release Alpha 2.0



Documenti analoghi
Automobile Bluetooth

Università degli studi di Roma LA SAPIENZA

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

TUTORIAL: COME USARE UN LM35 PER MISURARE UNA TEMPERATURA SU TUTTA LA SCALA CENTIGRADA

8^ parte : Motor shield FE e motore passo-passo bipolare. Author: Ing. Sebastiano Giannitto (ITIS M.BARTOLO PACHINO)

Controllare un nastro trasportatore fischertechnik con Arduino

istruzioni per l uso 1. Che cos è Google Earth

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

L ambiente grafico e le viste

9^ parte : Come pilotare motori dc utilizzando il motor shield. Author: Ing. Sebastiano Giannitto (ITIS M.BARTOLO PACHINO)

"SOFTMOUSE" versione >EASY. - Manuale per l'utente (ITA) -

Progettazione del robot

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

11^ parte : Come gestire i servomotori con Arduino. Author: Ing. Sebastiano Giannitto (ITIS M.BARTOLO PACHINO)

Telecontrollo escavatore LEGO con board Arduino

Il gioiello in carbonio

Manuale di Aggiornamento BOLLETTINO. Rel H4. DATALOG Soluzioni Integrate a 32 Bit

NTC E MISURA DELLA TEMPERATURA CON ARDUINO


Progetti reali con ARDUINO

DESKTOP. Uso del sistema operativo Windows XP e gestione dei file. Vediamo in dettaglio queste parti.

Per vedere tutti i tutorial:

OSCILLOSCOPIO SOFTWARE

Application note. CalBatt NomoStor per i sistemi di accumulo di energia

Vivax Compact System WiFi

Sistemi operativi e reti A.A Lezione 2

CORSO ARDUINO. Giulio Fieramosca Stefano Panichi. Corsi GOLEM 2014

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

30/05/ :37 AM. per ottenere la copia che viene automaticamente affiancata all'originale, come

Il sensore rilevatore di presenza modalità d uso

PROGETTO ESCAVATORE VIRTUALE

Arduino: domotica open source

Laboratorio di Ingegneria del software Sistema di controllo di un ascensore Requisisti preliminari

Programmazione dei robot

Autore: Maurizio Bruni Sito proponente: Alleniamo.com MESE DI SETTEMBRE 2007 CATEGORIA ESORDIENTI Allenatore Maurizio Bruni

Manuale di Aggiornamento BOLLETTINO. Rel H2. DATALOG Soluzioni Integrate a 32 Bit

Nastri trasportatori DGF-P 2001

Flow!Works Manuale d uso

ITIS Mattei Sondrio. Appunti veloci su moodle versione 2.7

Semplice progetto con Arduino simpatico G-meter col quale misurare e registrare le accelerazioni del proprio veicolo

CARATTERISTICHE. Geolocalizzazione

Guida rapida all uso di Moodle per gli studenti

Progetto Esami Di Stato Anno 2014/2015

PULCINI. Programma MILAN LAB

ComfortControl 01 BLOCCO DELL INCLINAZIONE 02 TENSIONE DELL INCLINAZIONE 05 ALTEZZA DELLA SCHIENA 06 ANGOLO DELLO SCHIENALE 03 PROFONDITÀ DEL SEDILE

Sommario. Introduzione 1

Laboratorio di Ingegneria del software Sistema di controllo di un ascensore Requisiti preliminari

MT2 e MT3: Schede e sistemi di controllo motori passo passo

GIOCHI DI STRATEGIA Giochi di potere!!!.

RIGENERAZIONE COMPLETA DELLA PARTE ELETTRICA ESSICCATOI ORIZZONTALI

LITESTAR 4D v Manuale d Uso. WebCatalog Catalogo Elettronico interattivo su Internet. Luglio 2013

NAO e Arduino si parlano!

Verbale Incontro

Corso di Robotica Autonoma Esperienza 1

DOCUMENTAZIONE J-BO. Progetto FabSchool ITE GINO ZAPPA CLASSE 4D

Istruzioni per configurazione SmartComm (in passività) Ultimo Aggiornamento: 22 settembre 2011

SOMMARIO... 3 INTRODUZIONE...

PROGETTAZIONE DI UN CONTROLLO ON-OFF CON CRITERI E METODOLOGIA

introduzione I MICROCONTROLLORI

Guida rapida all uso di Moodle per gli studenti

Manuale LiveBox APPLICAZIONE ANDROID.

IMPARARE GIOCANDO A 9/10 ANNI

Modellazione in ambiente 3D di una cerniera per ante mobili. Professore Giuseppe Di Gironimo M58/30 M58/1

Guida per l aggiornamento del software del dispositivo USB

Materiali e metodi per la. sport

DESCRIZIONE GENERALE E ARCHITETTURA HARDWARE DI I-DROID01

Esercitazione Controllo di un motore DC mediante Arduino YUN

PROTOTIPAZIONE DI UN TRADUTTORE DA SORGENTE PLC AD ASSEMBLY DI UNA MACCHINA VIRTUALE

Il web server Apache Lezione n. 3. Introduzione

Robotica Industiale. attività di laboratorio. Robotica Industriale Prof Claudio Melchiorri

Corsi di formazione on-line per la categoria Datore di Lavoro RSPP

Progetto Casa Mielli

Esercitazione n 4. Obiettivi

Introduzione. Descrizione. FRITZ!APP Fon

INDIRIZZI IP AUTORIZZATI

PROGETTO PLC Moeller Easy 621dc-tc AZIONAMENTO CARROPONTE

Guida all utilizzo del nuovo webshop

GUIDA AL CHART TRADING

Software Gestionale Politiche Giovanili

cin>>c8 s.r.l. Analisi del Dominio Pagina 1 di 7 Analisi del Dominio

CONTASECONDI CON DISPLAY A 7 SEGMENTI ARDUINO LIKE

Guida alla registrazione on-line di un DataLogger

Usa le lezioni per la LIM su ActivInspire

Campo d'impiego Struttura Cambio utensile/pallet Caratteristiche tecniche

10 - Programmare con gli Array

Cos è ND Rifiuti 2008?

Equilibrio macroeconomico neoclassico

A.S Presentazione del materiale hardware MINDSTORMS.

Piccole guide crescono

GUIDA. a cura di Maddalena Dal Degan

Progetto di Domotica

FLL Relazione Tecnica - Maserati

Str.Antica di None 2 FAX I Beinasco (TO) / ITALY info@soft-in.com

itime Chiaramente inclusa la stampa del cartellino presenze come previsto dalle normative

Il software ideale per la gestione delle prenotazioni GUIDA UTENTE

Le fattispecie di riuso

Psicomotricità su Scacchiera Gigante. Una sperimentazione nella scuola primaria

MANUALE D USO MANUALE D USO

REGOLE DEL CODICE DELLA STRADA PER LA CIRCOLAZIONE DELLE BICICLETTE

Word Libre Office. Barra degli strumenti standard Area di testo Barra di formattazione

Transcript:

I.I.S. A. Badoni Relazione Release Alpha 2.0 I.I.S. S. Ten. Vasc. A. Badoni sede di via Rivolta, 10 23900 Lecco LC Italia T: 0341 365369 Mail: lcis00900x@istruzione.it Web: www.isbadoni.it

Relazione Introduzione In data 08-03-2012 è stata rilasciata versione Alpha 2.0 del prototipo di robot mobile dell area di progetto Arduino Mobile Robot. Il test ufficiale si è svolto alle ore 18.30 di Giovedì 08-03-2012 in casa di Valsecchi Lorenzo; erano presenti Valsecchi Lorenzo e Valsecchi Riccardo. E stato deciso di modificare il target della versione Alpha 2.0. In particolare si è preferito implementare il movimento autonomo prima del controllo da remoto. Questa decisione è seguita al fatto che sono sorte alcune piccole problematiche riguardanti la comunicazione senza fili e il giroscopio. Descrizione Prototipo La versione Alpha 2.0 del prototipo presenta le seguenti caratteristiche: Movimento autonomo senza alcun controllo da parte di un remoto; Capacità di attraversare, seppur non in linea retta un corridoio; Scocca ultimata. Anche se non completo, si può considerare parte integrante della versione Alpha 2.0 anche il caricabatterie progettato e costruito da Calin Liviu, per consentire una corretta ricarica della batteria al Litio. Codici Di seguito sono riportati i codici usati rispettivamente sul Robot. Codici Implementati sul Robot /* * AMR - Arduino Mobile Robot * Author Valsecchi Lorenzo * Version Alpha 2.0 * Description: il Programma permette al Robot di muoversi attraverso un corridoio */ //DICHIARAZIONE delle variabili globali int E1 = 6; //Pin 6 di Arduino che controllera la velocità del Motore 1 int M1 = 7; //Pin 7 che controllerà la direzione di marcia del Motore 1 int E2 = 5; //Pin 6 di Arduino che controllera la velocità del Motore 2 int M2 = 4; //Pin 7 che controllerà la direzione di marcia del Motore 2 int value; //Valore della velocità corrente degli spostamenti int distanzasicurezza; //Distanza sotto la quale non avvicinarsi agli ostacoli boolean sensorecentrale, sensoresxanteriore, sensoredxanteriore, sensoreposteriore, sensoresx, sensoredx;

//Pin di ARDUINO (Axxxx) corrispondenti ai vari sensori int Adietro = A3; int Adavanti= A2; int Adx=A0; int Asx=A4; int Asxd=A5; int Adxd=A1; int apprezzamentomedia=100; //Numero di campioni da prendere per la media //Variabili di ascolto dei sensori int dietro,davanti,dx,sx,sxd,dxd; //Set della velocità di crociera int velocita; int flag; int flagsvolta=0; //INIZIALIZZAZIONE del dispositivo void setup() pinmode(m1, OUTPUT); pinmode(m2, OUTPUT); Serial.begin(9600); //Inizializzazione della comunicazione seriale distanzasicurezza=150; //Set della distanza di sicurezza velocita=75; value=velocita; /* M1,HIGH & M2,LOW --> gira a sinistra M1,LOW & M2,HIGH --> gira a destra flag=1 avanti flag=-1 indietro flag=2 destra flag=-2 sinistra */ flagsvolta=-1 sinistra flagsvolta=1 destra void loop() leggisensori(); if(sensorecentrale==false && sensoresxanteriore==false && sensoredxanteriore==false) analogwrite(e1, value); analogwrite(e2, value); flag=1;

if(sensorecentrale==false && sensoresxanteriore==false && sensoredxanteriore==false && sensoresx==true && sensoredx==true) analogwrite(e1, value); analogwrite(e2, value); flag=1; if(sensorecentrale==true && sensoresxanteriore==true && sensoredxanteriore==true && (flag==1) && flagsvolta==1) digitalwrite(m2, LOW); if(sensorecentrale==true && sensoresxanteriore==true && sensoredxanteriore==true && (flag==1) && flagsvolta==0) digitalwrite(m2, LOW); if(sensorecentrale==true && sensoresxanteriore==true && sensoredxanteriore==true && (flag==1) && flagsvolta==-1) if(sensorecentrale==true && sensoresxanteriore==true && sensoredxanteriore==true && (flag==1) && flagsvolta==1) if(sensorecentrale==true && sensoresxanteriore==true && sensoredxanteriore==true && sensoresx==true) if(sensoresx==true)

if(sensorecentrale==true && sensoresxanteriore==true && sensoredxanteriore==true && (flag==1) && flagsvolta==-1) if(sensoredx==true) digitalwrite(m2, LOW); if(sensoresx==true) if(sensoredx==true) digitalwrite(m2, LOW); if(sensoresxanteriore==true && sensorecentrale==false && sensoredxanteriore==false) digitalwrite(m2,high); if(sensoresxanteriore==false && sensorecentrale==false && sensoredxanteriore==true) digitalwrite(m2,low);

if(sensoresxanteriore==false && sensorecentrale==true && sensoredxanteriore==true) digitalwrite(m2,low); if(sensoresxanteriore==true && sensorecentrale==true && sensoredxanteriore==false) digitalwrite(m2,high); void leggisensori() dietro=0; davanti=0; sx=0; dx=0; sxd=0; dxd=0; //Lettura non singola ma facendo una media di 100 valori int indicemedia = 0; for(indicemedia = 0; indicemedia < apprezzamentomedia; indicemedia ++) dietro = dietro + analogread(adietro); davanti = davanti + analogread(adavanti); sx = sx + analogread(asx); dx = dx + analogread(adx); sxd = sxd + analogread(asxd); dxd = dxd + analogread(adxd); dietro = dietro / apprezzamentomedia; davanti = davanti / apprezzamentomedia; sx = sx / apprezzamentomedia; dx = dx / apprezzamentomedia; sxd = sxd / apprezzamentomedia; dxd = dxd / apprezzamentomedia; //Se la distanza letta dai sensori è superiore alla distanza di sicurezza, viene alterato il relativo flag if(dietro>distanzasicurezza)

sensoreposteriore=true; sensoreposteriore=false; if(davanti>distanzasicurezza) sensorecentrale=true; sensorecentrale=false; //if(dx>(distanzasicurezza*2)) if(dx>250) sensoredx=true; sensoredx=false; //if(sx>(distanzasicurezza*2)) if(sx>250) sensoresx=true; sensoresx=false; if(sxd>distanzasicurezza) sensoresxanteriore=true; sensoresxanteriore=false; if(dxd>distanzasicurezza) sensoredxanteriore=true;

sensoredxanteriore=false; Documentazione multimediale Foto Video http://arduino5ib.altervista.org/wp-content/uploads/2012/03/c.mp4 Prossimi Obiettivi per la versione Beta 1.0 Di seguito sono elencate le modifiche che porteranno al rilascio della versione Beta 1.0 del prototipo: Perfezionamento del movimento autonomo introducendo un piccolo sistema di navigazione Hardware o Software; Controllo da remoto ottenuto con il controller di nostra produzione; Comunicazione senza fili e Gestione delle credenziali.

Conclusione Il test ha prodotto buoni risultati. Si dovrà lavorare ancora molto per migliorare i codici del movimento autonomo. Da oggi inizieranno anche i lavori per assemblare il controller remoto. Civate, 08-03-2012 I Presenti al momento del Test (Valsecchi Lorenzo) (Valsecchi Riccardo) Responsabile Area di Progetto (Valsecchi Lorenzo)