Professional Documents
Culture Documents
www.arduino.cc/es/
MATHWORKS (MATLAB)
http://www.mathworks.com/
Tensin de operacin
Atmel
ATmega168
ATmega328
5V
Tensin de entrada
5V 12V
Entradas analgicas
16 KB (ATmega168) o 32 KB
(ATmega328) de los cuales 2KB
son usados por el bootloader
SRAM
1 KB (ATmega168) o 2 KB
(ATmega328)
EEPROM
16 MHz
Nota:
Los servos consumen energa considerable, as que
si se necesita para manejar ms de una o dos, es
necesario una fuente independiente (es decir, no el
pin 5 V en la placa Arduino). Asegrese de conectar
las tierras de la Arduino y fuente de alimentacin
externa junta.
MATLAB - ARDUINO
Matlab
ArduinoIO
Arduino
MATLAB
which('arduino.m','-all')
Busca
comunicacin, se utiliza:
conectada la placa)
MATLAB
FUNCIN
Arduino
pinMod
e
digital
DESCRIPCIN
SINTAXIS
Asignar
a
variable
las a = arduino (' COM# ');
caractersticas de Arduino.
Especificar el modo del pin. a.pinMode (4, 'input');
Input output.
a.pinMode (1, 'output');
E/S digitales.
analog
E/S analgicas.
Servo
Encoder Codificadores
MATLAB
% Asignar las ordenes en la configuracin de Arduino.
% - Especificar el modo de pin
a.pinMode (4, 'input');
a.pinMode (13, 'output');
% - Servos
a.servoAttach (9);% Asignar servo en el pin # 9
a.servoWrite (9,100);% servo gira en el pin # 9 a 100
grados
val = a.servoRead (9);% lee ngulo de servo en pin # 9
a.servoDetach (9);% desprenderse servo del pin # 9
MATLAB
a.servoAttach(5) % Asignar al pin 5 como una salida al
servomotor.
pause(0.0000001);
a.servoAttach(6)
pause(0.0000001);
servomotores
pin 5.
a.servoWrite(6,angulo(2));
el
de los datos.
diferentes velocidades.
buffer
1
10
3
4
5
2
3
4
5
12
Antes
Despus
get()
fopen()
DESCRIPCIN
Utilizado para asignar a una variable (s), las
propiedades del puerto serie (BaudRate, Status,
Port).
Utilizado para cambiar el valor de alguna
propiedad del puerto serial.
SINTAXIS
>> s = serial
('COM1');
fwrite()
or
fprintf()
Usado para leer los datos en el puerto serial
fscanf
a.servoAttach(5
)
Lee el puerto
(COM)
Asignar objeto al puerto serial.
a.aser=serial(comPort,'BaudRate',11
5200);
Abre comunicacin serial.
Fopen
Busca la funcin:
function servoAttach(a,pin)
Enva el numero del pin por puerto serie:
fwrite(a.aser,[54 97+pin
48+1],'uchar');
a.servoWrite(5,an(1))
;
Lee el puerto
(COM)
Asignar objeto al puerto serial.
a.aser=serial(comPort,'BaudRate',11
5200);
Abre comunicacin serial.
Fopen
Busca la funcin:
function servoWrite(a,pin,val)
Enva el numero del pin por puerto serie:
fwrite(a.aser,[56 97+pin
val],'uchar');
ARDUINO
Para comenzar se incluye la librera. #include <Servo.h>
La estructura del programa tiene la siguiente forma:
Void setup() {
los
pines,
DESCRIPCIN
SINTAXIS
Serial.begin(11520
0)
Serial.println(n);
val
Serial.read();
Serial.available()>0
ARDUINO (Setup)
La configuracin de la placa:
void setup() {
int i;
for (i=0;i<20;i++) {
pinMode(i,INPUT); %Cada pin como entrada.
digitalWrite(i,0); %Asignar un estado bajo.
}
Serial.begin(115200);
DESCRIPCIN
SINTAXIS
attach ()
write()
Read()
attached() Comprobar si la
conectado a un pin.
detach()
variable
servo
servo. attach(pin)
est servo.attached()
servo.detach()
ARDUINO (Loop)
Verificar que halla valores para leer:
if (Serial.available() >0) {
Leer operacin:
Val = Serial.read()
54 significa utilizar: Servo.attach()
Leer pin:
Val = Serial.read()
Terminar proceso
Val = Serial.read()
DESDE MATLAB
Enva el numero del pin por puerto
serie:
fwrite(a.aser,[54 97+pin
48+1],'uchar');
BUFFER
54
97+pin
48+1
ARDUINO (Loop)
Verificar que halla valores para leer:
if (Serial.available() >0) {
Leer operacin:
Val = Serial.read()
54 significa utilizar: Servo.write ()
Leer pin:
Val = Serial.read()
DESDE MATLAB
Enva el numero del pin por puerto serie:
fwrite(a.aser,[56 97+pin
val],'uchar');
BUFFER
56
97+pin
val