Motor Shield

De Casiopea


PCB-Motor-Shield001.png
TítuloMotor Shield para Arduino
Tipo de ProyectoProyecto Extracurricular
Palabras Clavemotor, stepper, arduino, servo, ladyada
Período2011-2011
Del CursoPresentación al lenguaje Abierto
CarrerasDiseño Gráfico, Diseño Industrial
ProfesorHerbert Spencer, Nicolás Gravel, Felipe Zilleruelo, Pedro Garretón
URLhttp://www.ladyada.net/make/mshield/index.html

Shield de Arduino

Un Shield es una placa de circuitos que se conecta a Arduino, permite añadirle funcionalidades al microcontrolador. En este caso el shield sirve para poder conectar motores del tipo Servo, Stepper y DC, aumentando la potencia y precisión del controlador.

Shield sobre Arduino UNO

Partes del Shield para Arduino

Todas las piezas vienen incluidas en el Kit de LadyAda

Herramientas

Proceso


Instrucciones detalladas del montaje del shield.

Puesta en marcha

Vamos a partir usando dos motores Servo con funciones distintas.

  1. Instalar Arduino en tu computador
  2. Subir el código al Arduino
  3. Conectar Motor Shield al Arduino
  4. Conectar los servos en sus PIN, escrito en la placa madre. (Servo-1, Servo-2) en el sentido correcto, cable café es - cable rojo es + y cable naranjo es la Señal o S
  5. Enchufar el Arduino mediante USB para toma de energía
  6. Presionar el botón reset del shield si no parten los motores



Motores Servo controlados por Potenciómetros

Los motores son controlados por dos potenciómetros usa cambios en la cantidad de corriente para controlar el sentido de giro y la rapidez de los motores servo de forma independiente. La idea es tener una herramienta para prototipar elementos que requieran de motores, con los potenciómetros podemos simular distintas situaciones sin tener que volver a programar el controlador.

Código

//Controlando motores servo através de resitencias variables
 

#include <Servo.h> 

Servo miservo1;  // Crea un objeto para controla el servo 1
Servo miservo2;  //Crea un objeto para controla el servo 2

byte resistval1 = 0;  // Pin análogo usado por el potenciometro 1
byte resistval2 = 1;  // Pin análogo usado por el potenciometro 2
int val;    // variable para leer el pin análogo 

void setup() 
{ 
 miservo1.attach(9);  // Servo conecta al pin 9 digital 
 miservo2.attach(10);  // Servo conecta al pin 10 digital
} 

void loop() 
{ 
 val = analogRead(resistval1);            // lee el valor del potenciómetro (valores entre 0 y 1023) 
 val = map(val, 0, 1023, 0, 120);     // escalar para calibrar con servo (el último valor puede ir de 0 a 180) 
 myservo.write(val);                  // ubica el servo en la posición de lectura
 delay(15);                           // espera un tiempo para ponerse en el lugar
 
 val = analogRead(resistval2);            // ee el valor del potenciómetro (valores entre 0 y 1023) 
 val = map(val, 0, 1023, 0, 120);     // escalar para calibrar con servo (el último valor puede ir de 0 a 180)
 myservo2.write(val);                  // ubica el servo en la posición de lectura
 delay(15);                           // espera un tiempo para ponerse en el lugar
}

Cableado

La configuración de los potenciómetros se muestra directamente sobre la placa de Arduino, nosotros debemos conectar los potenciómetro de la misma manera al Shield

Esquema de conexión de potenciometros
Esquema de conexión de potenciometros

Video



Sensor PIR


Sensor de proximidad

Robot Social, primeros intentos