prremessa: Esplora il mondo fisico con il robot MiniQ! Questo è un MinQ 2WD Plus che si basa sul nostro telaio MiniQ 2WD. Per renderlo adatto per l’istruzione, le competizioni e il divertimento con cui giocare, abbiamo anche aggiunto moduli extra come Romeo V2 All-in- un controller, sensore di distanza Sharp GP2Y0A21 e micro servo da 9 g in questo kit. Ciò che lo rende diverso dai robot miniQ originali è che viene fornito con un piano superiore, che consente di installare sensori, servi e persino di eseguire alcuni prototipi. sulla superficie lo rendono una scheda di prototipazione ideale in movimento ed è impilabile.Non puoi solo saldare componenti DIP ma anche componenti SMD con questo piano superiore.Inoltre, abbiamo saldato i cavi del motore e incollato per te in anticipo Con questo kit potrai giocare subito dopo il semplice montaggio e programmazione.I nostri codici di esempio includono molti scenari interessanti come l’evitamento degli ostacoli, buon divertimento!
CARATTERISTICHE TECNICHE:
- Sensore di distanza Sharp GP2Y0A21
- tensione di esercizio: da 4,5 V a 5,5 V
- consumo medio di corrente: 30 mA (tipico)
- campo di misura della distanza: da 10 cm a 80 cm (da 4″ a 32″)
- tipo di uscita: tensione analogica
- differenziale di tensione di uscita su intervallo di distanza: 1,9 V (tipico)
- tempo di risposta: 38 ± 10 ms
- Altri
- 13000 giri/min a vuoto
- Rapporto di trasmissione 50:1
- 260 giri/min @ 6V
- 40mA @ 6V
- Corrente di stallo 360mA @ 6V
- 10 once pollici di coppia a 6 V
LISTA MATERIALI:
-
MiniQ 2WD Plus Control Board€41.08
-
MiniQ 4WD Cross Country Arduino Mobile Robot€157.01
-
MiniQ Discovery Arduino Robot Kit€126.72
-
MiniQ 2WD Robot Kit v2.0 (Arduino Compatible)€125.37
-
MiniQ Motor Wheel Set with Encoder€52.34
-
Gravity: MiniQ Robot chassis Encoder€7.14
-
4WD MiniQ Arduino Robot V2.0€155.03
-
Chassis 2WD MiniQ Robot€40.00
TUTORIAL SCHEMA DI COLLEGAMENTO:
CODICE DI ESEMPIO:
Librerie:
- Math LGPL: arduino.cc/reference/en/
- Servo LGPL: arduino.cc/reference/en/libraries/servo/
#include <math.h>
#include <Servo.h> //Include Servo library
Servo irservo; // create servo object to control a servo
#define Svo_Pin 9
int posnow;
int E1 = 5; //M1 Speed Control
int E2 = 6; //M2 Speed Control
int M1 = 4; //M1 Direction Control
int M2 = 7; //M1 Direction Control
void stop(void) //Stop
{
digitalWrite(E1,0);
digitalWrite(M1,LOW);
digitalWrite(E2,0);
digitalWrite(M2,LOW);
}
void advance(char a,char b) //Move forward
{
analogWrite (E1,a); //PWM Speed Control
digitalWrite(M1,LOW);
analogWrite (E2,b);
digitalWrite(M2,LOW);
}
void back_off (char a,char b) //Move backward
{
analogWrite (E1,a);
digitalWrite(M1,HIGH);
analogWrite (E2,b);
digitalWrite(M2,HIGH);
}
void turn_L (char a,char b) //Turn Left
{
analogWrite (E1,a);
digitalWrite(M1,LOW);
analogWrite (E2,b);
digitalWrite(M2,HIGH);
}
void turn_R (char a,char b) //Turn Right
{
analogWrite (E1,a);
digitalWrite(M1,HIGH);
analogWrite (E2,b);
digitalWrite(M2,LOW);
}
void setup()
{
int i;
for(i=4;i<=7;i++)
pinMode(i, OUTPUT);
// pinMode(2,OUTPUT);
// Serial.println("Run keyboard control");
digitalWrite(E1,LOW);
digitalWrite(E2,LOW);
irservo.attach(Svo_Pin); //attaches the servo on pin 9 to the servo object
Serial.begin(19200); //Set Baud Rate
advance(80,80);
}
int pos=0; // variable to store the servo position
float distance;
void loop()
{
// digitalWrite(2,HIGH);
for (int i=0;i<180;i++)
{
irservo.write(i);
int x=analogRead(0); // connect the GP2Y0A21 distance sensor to Analog 0
Serial.println(x); // print distance
if(x>350)
{
// digitalWrite(2,LOW);delay(100); digitalWrite(2,HIGH); delay(100);
if(i<135)
{
back_off(80,80);delay(300);
turn_L(80,80);delay(300);
}
else
{
back_off(80,80);delay(300);
turn_R(80,80);delay(300);
}
advance(80,80);
}
delay(4);
}
for(int i=180;i>0;i--)
{
irservo.write(i);
int x=analogRead(0);
Serial.println(x); // print distance
if(x>350)
{
// digitalWrite(2,LOW);delay(100); digitalWrite(2,HIGH); delay(100);
if(i<135)
{
back_off(80,80);delay(300);
turn_L(80,80);delay(300);
}
else
{
back_off(80,80);delay(300);
turn_R(80,80);delay(300);
}
advance(80,80);
}
delay(4);
}
}
Buon progetto.