Categories

Categorie
PrestaShop

Nuovi prodotti

Nuovi prodotti
Tutti i nuovi prodotti

Mocho - Robot Arduino pulitore

99,00 €
Tasse incluse
Quantità

IN COLLABORAZIONE CON MARCO PUCCI  ROBOTICS 3D PRESENTA

Mocho è un robottino in grado di girovagare autonomamente per casa, evitando ostacoli e cambiando direzione all’evenienza. L’idea si ispira ovviamente ai robot pulitori ormai comuni anche se la sua funzione (con uno straccio mocho poggiato sulla sua testa) è puramente ironica.
Grazie ad un sensore di distanza è in grado di evitare gli ostacoli e girare liberamente.

La stuttura

Potete utilizzare qualsiasi tipo di struttura come base per il vostro Mocho. In questo tutorial ho utilizzato la piattaforma robotica 2WD. Questa base è un ottima soluzione per realizzare piccoli robot se non siamo in grado di costruircela da soli. Inoltre al suo interno sono già presenti due motorini, due ruote, un pacco batteria e un interruttore.

Schema elettrico

Qui sotto lo schema elettrico del circuito che dobbiamo realizzare.

1 – Inseriamo la Motor Shield sopra il nostro Arduino (più avanti la spiegazione di questo componente).
2 – Colleghiamo il porta batterie all’interruttore. Il cavo rosso va nel pin centrale dell’interruttore (off),
mentre quello di sinistra va collegato con il pin VIN di Arduino (il pin che alimenta Arduino).
Il cavo nero va collegato al pin GND di Arduino. In questo modo abbiamo chiuso il circuito. Quando l’interruttore verrà spostato a sinistra la corrente delle batterie alimenterà il robot.
3 – Collegate i due motorini alla Motor Shield seguendo lo schema elettrico.
4 – Il cavo rosso del sensore Sharp va collegato al pin 5V. Il cavo nero al pin GND. Il cavo giallo al pin 0 di Arduino (se nel vostro sensore non dovessero essere presenti i tre cavi colorati fate riferimento allo schema qui sotto).

Alcuni dettagli della struttura del robot.
In basso a destra la scheda Arduino con sopra la Motor Shield.

Motor Shield

La Motor Shield è un componente utilizzato per gestire due motorini. Il suo funzionamento è molto elementare: ciascun motore è collegato con due cavi a questa. Il primo cavo gestisce la direzione (avanti o dietro), il secondo la sua velocità.
Apriamo il file _1_motorini.ino (se non avete scaricato la cartella con tutti gli sketch cliccate qui).
Uplodate lo sketch e guardate come si muovono i due motori.
Qui sotto l’analisi del codice.

int E1 = 5;
int M1 = 4;
int E2 = 6;
int M2 = 7;
Dichiaro 4 pin: E1 e E2 sono la velocità dei due motorini.
M1 e M2 gestiscono la loro direzione

void setup()

{
pinMode(M1, OUTPUT);
pinMode(M2, OUTPUT);
}
void loop()
{
avanti();
delay(5000);
dietro();
Richiamo la funzione avanti() (guardare sotto)
Dopo cinque secondi la funzione dietro()…

delay(2000);
sinistra();
delay(2000);
destra();
delay(2000);
}
void avanti(){
digitalWrite(M1,HIGH);
digitalWrite(M2, HIGH);
analogWrite(E1, 255);
analogWrite(E2, 255);
}
Funzione avanti:
I pin delle direzioni vengono impostati su HIGH così la direzione è avanti. La velocità dei due motorini è al massimo (per variare la velocità possiamo inserire un valore compreso tra 0 e 255).

void dietro(){
digitalWrite(M1,LOW);
digitalWrite(M2, LOW);
analogWrite(E1, 100);
analogWrite(E2, 100);
}
Funzione dietro:
Le due direzioni sono impostati su LOW.
La velocità è leggermente minore.

void sinistra(){
digitalWrite(M1,LOW);
digitalWrite(M2, HIGH);
analogWrite(E1, 200);
analogWrite(E2, 200);
}
Funzione sinistra:
il motorino di sinistra va indietro mentre quello di destra va avanti (così facciamo ruotare il robot a sinistra)

void destra(){
digitalWrite(M1,HIGH);
digitalWrite(M2, LOW);
analogWrite(E1, 200);
analogWrite(E2, 200);
}

Sensore di distanza

Vediamo ora come funziona il sensore Sharp di distanza. Per una spiegazione approfondita guardate il tutorial del Sensore Sharp – clicca qui.
Apriamo lo sketch _2_sharp_sensor.ino e uplodiamolo sulla nostra scheda Arduino.
Apriamo il Serial Monitor per vedere i valori del sensore.

void setup() {
Serial.begin(9600);
}
void loop() {
int sensorValue = analogRead(A0);
Serial.println(sensorValue);
Stampiamo sul Serial Monitor i valori del sensori.

delay(1);
}

Se non c’è nessun ostacolo davanti al sensore, il numero che appare è uguale a 0. Se posizioniamo una mano davanti al sensore questo valore cresce mano a mano che ci avviciniamo. A una distanza di circa 10 cm il suo valore è uguale a 100. Utilizzeremo questo dato per segnalare al robot che sta per andare incontro a un ostacolo.

Aprite il file _3_motorini_e_sharp.ino. Questo sketch è l’unione dei due precedenti.
Ecco lo schema del suo funzionamento:
1 – il robot va avanti finchè non individua un ostacolo (valore del sensore maggiore di 100).
2 – A questo punto si blocca e va indietro per un secondo.
3 – Attraverso il comando random() scegliamo se il robot deve andare a destra o a sinistra.
Random(2) vuol dire che quando questo comando è attivato sceglie casualmente un valore che può essere 0 o 1. Se il valore è 0 allora il robot va a sinistra, se è uguale a 1 va a destra.


IL KIT COMPRENDE

  • Arduino UNO
  • Motor Shield (2A Motor Shield)
  • 2 motoriduttori
  • 2 ruote
  • sensore Sharp di distanza
  • struttura robot
  • Porta batterie da 6
  • interruttore

Non comprende le batterie

Tag: Arduino Pulitore - Robot Pulitore - Robot Arduino pulitore - Robot kit

Mocho - Robot Arduino pulitore

R3D-MochoArduino