Robot schiva ostacoli

Post on 12-Jan-2015

210 views 1 download

description

Grazie soprattutto al microcontrollore Arduino UNO, ho realizzato un robot in grado di schivare gli ostacoli

Transcript of Robot schiva ostacoli

ROBOT SCHIV

A OSTA

COLI

WI T

H A

RD

UI N

O

PERCHÈ QUESTO PROGETTO

Lo scopo del progetto è quello di creare un’opera interattiva unendo la programmazione con l’elettronica. Questa unione è resa possibile dal microcontrollore ARDUINO

FUNZIONAMENTO

Il robot, riconosciuto un ostacolo attraverso il sensore ad infrarossi, valuta da quale lato lo spazio di manovra è migliore e in base ad esso compie la manovra a destra o a sinistra, schivandolo

MATERIA

LI

TU

T TI

AC

QU

I ST A

TI

SU

IN

TE

RN

ET

«MAGICIAN CHASSIS»

Piattaforma Robot (con due motoriduttori + ruote + sfera di assetto)

X2 SUPPORTI BATTERIE DA 4.8V

Uno per l’alimentazione generale ed uno per alimentare a parte il servomotore

SHARP GP2Y0A21YK

Sensore ad infrarossi per la rilevazione dell’ostacolo

1A DUAL TB6612FNG

Driver per i motori: permette la comunicazione tra Arduino e i motori

ARDUINO UNO

PINS PER I COLLEGAMENTI

TOWERPRO SG90

Sub Micro Servo 9g

BREADBOARD

FASI D

EL PROGETT

O

F AS

I P

RI N

CI P

AL I

STUDIO DI ARDUINO E DEL SUO LINGUAGGIO DI PROGRAMMAZIONE

ACQUISTO E PREPARAZIONE DEI MATERIALI

PARTE MECCANICA

montaggio della piattaforma, fissando i motori, le ruote, i supporti batterie e tutti i dispositivi

COLLEGAMENTI

COLLEGAMENTO DRIVER - MOTORI

Driver A01 positivo motore sinistro

Driver A02 negativo motore sinistro

Driver B02 negativo motore destro

Driver B01 positivo motore destro

COLLEGAMENTO DRIVER - ARDUINO

Driver VM Arduino Vin (alimentazione driver)

Driver VCC Arduino GND (connette la massa comune di tutto il robot)

Driver STBY Arduino digital 2 (per consentire ai motori di funzionare)

Driver PWMA Arduino digital 3

Driver AIN1 Arduino digital 4

Driver AIN2 Arduino digital 7

Driver PWMB Arduino digital 5

Driver BIN1 Arduino digital 8

Driver BIN2 Arduino digital 12

ARDUINO + DRIVER

COLLEGAMENTO SENSORE - ARDUINO

Sensore infrarossi filo GIALLO in Arduino AIN5 (per i valori del sensore)

Sensore infrarossi filo NERO in Arduino GND (massa)

Sensore infrarossi filo ROSSO in Arduino 5V (positivo)

POSIZIONAMENTO SENSORE

COLLEGAMENTO SERVO - ARDUINO

Servo filo GIALLO in Arduino PWM 0 (segnale)

Servo filo VIOLA in Arduino GND (massa)

Servo filo ROSSO al polo + dell’alimentatore (positivo)

Infine Arduino e i il servo vanno collegati ai rispettivi alimentatori

TEST DEL SENSORE

Valuto la lontananza dall’ostacolo alla quale il robot deve fermarsi

Sketch utile per verificare il corretto funzionamento del sensore ed impostare il valore da usare come riferimento per la fermata

Minore è il valore che arriva in output, più la lontananza dall’ostacolo è maggiore

TEST DEL SERVO

Valuto i gradi di rotazione che deve compiere il servo una volta che il robot ha riconosciuto l’ostacolo.

Tutto ciò attraverso la programmazione del microcontrollore

SKETCH FINALE

Avrà il compito di dare al robot tutte le funzioni descritte nello scopo del progetto

La distanza è maggiore della sensibilità ?

Avanti

Valuto la direzione: stop e leggo il valore del sensore ruotato a sinistra (VS) e a destra (VD)

VS < VD ?

VD < sens ? (e se la rilevazione dell’ostacolo fosse stato un errore?)

Sinistra

VS < sens ?

Destra

SI

NO

SI

NO

SI NO

NOSI

SKETCH PT1

SKETCH PT2

SKETCH PT3

DIFFICOLTÀ RISCONTRATE

La sfera di assetto era difettosa ho dovuto farmi mandare un altro “Magician Chassis”

Iniziale difficoltà nella parte elettrica, come nel collegamento dei pin, a causa della poca parte pratica fatta a scuola con elettronica;

Un supporto batterie dà problemi di funzionamento (a volte ad Arduino non arriva la giusta alimentazione)

Inversione dei poli + e – nel collegamento del servo, che si è bruciato (me ne sono fatto spedire uno nuovo)

Difficoltà nel far ruotare il servo attraverso lo sketch (difficoltà nel programmarlo)

Il robot richiede un gran numero di batterie (in totale 8 pile AA) che necessitano spesso di essere sostituite

FINE

Capas

so L

uigi