6. Institut Salvador Vilaseca
Basat en la plataforma de Codi Obert
“Wiring”.
Llenguatge de programació “Processing”
(semblant al C++).
ARDUINO MÓN REALInteracció
Sortides
Entrades
9. Institut Salvador Vilaseca
Electrònics
• Arduino MEGA 2560 REV3
Microprocessador Atmega 2560
54 entrades/sortides digitals i 16
entrades analògiques.
Tensió operativa: 5V.
Tensió d’alimentació: 7-12 V.
Memòria: 256 KB.
10. Institut Salvador Vilaseca
Electrònics
• Motors DC
El seu funcionament es basa en la llei de
Lorentz (Laplace) i la regla de la mà
esquerra.
F = B · L · I
Relació de transmissió 1:120.
Dimensions: 55x48.3x23mm.
Pes: 45g.
11. Institut Salvador Vilaseca
Electrònics
•Adafruit Motor Shield
4 motors DC i 2 motors pas a pas.
1.2 A per canal i 3 A en pic.
Motors entre 4,5 i 13,5 V.
Disseny apilable.
32 Motor Shield = 64 motors pas a
pas = 128 motors DC!!!
12. Institut Salvador Vilaseca
Electrònics
• Mòdul Bluetooth HC-05
Mestre – Esclau.
Tensió d’alimentació: 3.3V.
Dimensions: 26.9mm x 13mm x
2.2 mm.
Comandaments AT per a la
configuració a través d’un port
sèrie.
19. Institut Salvador Vilaseca
Codi Font o Programa
//Importar llibreries del bluetooth i del MotorShield
#include <SoftwareSerial.h>
#include <Wire.h>
#include <Adafruit_MotorShield.h>4
#include "utility/Adafruit_PWMServoDriver.h"
//Inicialització dels pins del bluetooth
int btx = 19;
int brx = 18;
char val; //Variable per rebre dades des del port serial
//Crear el MotorShield
Adafruit_MotorShield AFMS = Adafruit_MotorShield();
//Seleccionar els ports dels motors 1 i 2
Adafruit_DCMotor *motor1 = AFMS.getMotor(1);
Adafruit_DCMotor *motor2 = AFMS.getMotor(2);
20. Institut Salvador Vilaseca
Codi Font o Programa
void setup() {
AFMS.begin();
//Inicialitzar el serial1
Serial1.begin(9600);
//Velocitats dels dos motors
motor1->setSpeed(200);
motor2->setSpeed(200);
}
//Inicialitzar les variables de les direccions
void goForward() {
motor1->run(FORWARD);
motor2->run(FORWARD);
}
21. Institut Salvador Vilaseca
Codi Font o Programa
void goStop() {
motor1->run(RELEASE);
motor2->run(RELEASE);
}
void goBackward() {
motor1->run(BACKWARD);
motor2->run(BACKWARD);
}
void goLeft() {
motor1->run(FORWARD);
motor2->run(RELEASE);
}
void goRight() {
motor1->run(RELEASE);
motor2->run(FORWARD);
}
22. Institut Salvador Vilaseca
Codi Font o Programa
void loop() {
if (Serial1.available()) {
val=Serial1.read();
//Inicialitzar els comandaments
if (val== 'f') {goForward();}
else if (val== 'x') {goStop();}
else if (val== '<') {goLeft();}
else if (val== '>') {goRight();}
else if (val== 's') {goBackward();}
else;
}
}
23. Institut Salvador Vilaseca
Aplicació Android
“Bluetooth Serial Controller”
Vinculació amb HC-05
HC-05 “password” de fàbrica (1234)
LED vermell del mòdul parpellejant = OFF
LED vermell del mòdul parpellejant amb un
interval de 2 s = ON
26. Institut Salvador Vilaseca
DISSENY,
MUNTATGE I
PROGRAMACIÓ
D’UN ROBOT
CONTROLAT
PER UN
SMARTPHONE
David Carpintero Pleguezuelos
Tutor: Pere Guallar Figuera
Això és tot, espero que us hagi agradat.
Si algú vol fer alguna pregunta…