Diferencia entre revisiones de «Motor Shield»

De Casiopea
(Página creada con '{{Proyecto |Título=Motor Shield para Arduino |Tipo de Proyecto=Proyecto Extracurricular |Palabras Clave=motor, stepper, arduino, servo, ladyada |Año de Inicio=2011 |Año de T...')
 
Sin resumen de edición
 
(No se muestran 92 ediciones intermedias de 2 usuarios)
Línea 1: Línea 1:
{{Proyecto
{{Proyecto
|Título=Motor Shield para Arduino
|Título=Motor Shield para Arduino
|Imagen=PCB-Motor-Shield001.png
|Tipo de Proyecto=Proyecto Extracurricular
|Tipo de Proyecto=Proyecto Extracurricular
|Palabras Clave=motor, stepper, arduino, servo, ladyada
|Palabras Clave=motor, stepper, arduino, servo, ladyada
Línea 6: Línea 7:
|Año de Término=2011
|Año de Término=2011
|Carreras Relacionadas=Diseño Gráfico, Diseño Industrial
|Carreras Relacionadas=Diseño Gráfico, Diseño Industrial
|Asignaturas Relacionadas=Presentación 4,  
|Cursos Relacionados=Presentación al lenguaje Abierto,
|Profesor=Herbert Spencer,  Nicolás Gravel, Felipe Zilleruelo, Pedro Garretón,
|URL=http://www.ladyada.net/make/mshield/index.html
}}
}}
== Shield de Arduino ==
Un Shield es una placa de circuitos que se conecta a [http://arduino.cc/ 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.
<br/>
[[Archivo:Shield.jpg|450px|thumb|none|Shield sobre Arduino UNO]]
== Partes del Shield para Arduino ==
[[Archivo:Partes shield.jpg|450px|thumb|none|Todas las piezas vienen incluidas en el  [http://www.olimex.cl/product_info.php?products_id=755 Kit de LadyAda]]]
== Herramientas ==
<gallery>
Image:Tester.jpg|Tester Digital
Image:Alicate de corte.jpg|Alicate de corte
Image:Soldadura.jpg|Soldadura delgada para soldar circuitos
Image:Des-Soldador.jpg|Removedor de soldadura
Image:Cautín.jpg|Cautín y soporte
Image:Tercera_mano.png|Tercera mano
</gallery>
== Proceso ==
<br/>
<gallery>
Image:Resistencias-shield.jpg|Resistencias-shield
Image:Resistencias-Cautín.jpg|Resistencias-Cautín
Image:Resistencia-alicate.jpg|Resistencia-alicate
Image:Condensadores Cerámicos.jpg|Condensadores Cerámicos
Image:Red de resistencias.jpg|Red de resistencias
Image:Circuitos integrados.jpg|Circuitos integrados y soportes
Image:Circuitos integrados soldados.jpg|Circuitos integrados soldados
Image:Inf-Integrados soldados.jpg|Vista inferior circuitos integrados soldados
Image:Condensador electrolítico.jpg|El condensador electrolítico se monta tomando atención en la polaridad.
Image:Pines para shield.jpg|Pines para shield para conectar a Arduino fácilmente
Image:Shield listo.jpg| Shield listo para usar
</gallery>
[http://www.ladyada.net/make/mshield/solder.html Instrucciones] detalladas del montaje del shield.
== Puesta en marcha ==
Vamos a partir usando dos motores Servo con funciones distintas.
#[http://arduino.cc/es/Guide/HomePage Instalar Arduino] en tu computador
#Subir el código al Arduino
#Conectar Motor Shield al Arduino
#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
#Enchufar el Arduino mediante USB para toma de energía
#Presionar el botón reset del shield si no parten los motores
<br/>
{{#widget:YouTube|id=dGyLwvkKUXI}}
<br/>
==Motores Servo controlados por Potenciómetros==
Los motores son controlados por dos [http://es.wikipedia.org/wiki/Potenci%C3%B3metr 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===
<pre>
//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
}
</pre>
===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
[[Archivo:Arduino+pot.png|400px|thumb|none|Esquema de conexión de potenciometros]]
[[Archivo:Shield+pot.png|400px|thumb|none|Esquema de conexión de potenciometros]]
===Video===
<br/>
{{#widget:YouTube|id=IeKzsjCk7RM}}
<br/>
==Sensor PIR==
*[http://www.olimex.cl/product_info.php?cPath=50_105&products_id=518 Descripción del vendedor Olimex]
*[http://www.parallax.com/Portals/0/Downloads/docs/prod/audiovis/555-28027-PIRsensor-v1.4.pdf Otra descripción sensor PIR]
*[http://www.arduino.cc/playground/Code/PIRsense Código arduino para usar PIR con led]
*[http://www.ladyada.net/learn/sensors/pir.html Completa descripción LadyAda]
==Sensor de proximidad==
*[http://luckylarry.co.uk/arduino-projects/arduino-using-a-sharp-ir-sensor-for-distance-calculation/ Puesta en marcha]
*[http://sharp-world.com/products/device/lineup/data/pdf/datasheet/gp2y0a02_e.pdf DataSheet]
==Robot Social, primeros intentos==
*[http://www.archive.org/details/RobotSocialPrototipo00014 RobotSocialVersion0,00014]  atmega328-pu (Arduino bootloader)+IR (sharp GP2D12)+ContinuosRotationServo

Revisión actual - 11:30 21 ene 2016

Motor Shield para Arduino
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 Gráfico" is not in the list (Arquitectura, Diseño, Magíster, Otra) of allowed values for the "Carreras Relacionadas" property., Diseño Industrial"Diseño Industrial" is not in the list (Arquitectura, Diseño, Magíster, Otra) of allowed values for the "Carreras Relacionadas" property.
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