Shield V5.0 para Arduino
| Actualizado:
Comentarios: 0

El Sensor Shield V5.0 es una placa de expansión diseñada para su uso con placas de desarrollo Arduino. Se monta directamente sobre una placa base Arduino y proporciona una interfaz conveniente para conectar varios sensores y módulos adicionales.
Características y especificaciones.
Algunas características típicas y usos asociados con el Sensor Shield V5.0:
- El Sensor Shield V5.0 tiene pines y conexiones específicas que permiten conectar fácilmente varios tipos de sensores, como sensores de temperatura, humedad, luz, movimiento, entre otros.
- Facilita el cableado de los sensores a la placa Arduino sin necesidad de preocuparse por la disposición exacta de los cables.
- También puede conectarse con diversos módulos como relés, pantallas LCD, y otros dispositivos periféricos.
Especificaciones técnicas:
- Voltaje de Operación: 5V DC
- Compatible con Arduino UNO, MEGA, LEONARDO, DUE
- 14 Puertos I/O
- 6 Puertos de Entrada Analógica
- Puerto UART
- Puerto I2C
- Puerto para módulo inalámbrico APC220
- Puerto para módulo Bluetooth HC06 o HC05
- Puerto para módulo SD card
- Puerto para URF01+
- Puerto para LCD paralelo
- Puerto para LCD serial
- Led Power y Led L (Pin 13)
- Pulsador Reset
- Bornera para alimentación externa

Ejemplos de uso:
- Conectar sensores de temperatura, humedad y luz para monitorear las condiciones ambientales.
- Conectar servomotores para controlar la posición de las extremidades de un robot.
- Utilizar sensores ultrasónicos o infrarrojos para detectar obstáculos y realizar maniobras de evasión.
El Sensor Shield V5.0 simplifica la conexión de componentes, lo que lo convierte en una herramienta útil para una amplia variedad de proyectos.
Ejemplo de utilización:
Controlar 6 motores servos con Arduino
En el siguiente ejemplo utilizaremos la placa Shield V5.0 para ayudarnos en las conexiones con Arduino, conectar 6 servos con Arduino es muy simple con el Shield V5.0.

Esquema:
Conectamos los servos a los pines 3, 5, 6, 9, 10 y 11 de la placa.

Enlace a la librería que se utiliza: VarSpeedServo
Código:
/*
Control de 6 servos utilizando el shield V5.0
*/
#include "VarSpeedServo.h"
// Nº de servos
#define SERVOS 6
// Creamos el objeto servo
VarSpeedServo miservo[SERVOS];
// Pines digitales conectados a los servos
int servo_pins[SERVOS] = {3, 5, 6, 9, 10, 11};
// Velocidad para los servos. De 1 a 255
// 1: minimo
// 255: maximo
const int vel_slow = 100;
const int vel_fast = 200;
// Velocidad inicial
int velocidad = vel_slow;
// Lo utilizaremos para provocar un cambio de velocidad
// falso: lento
// verdadero: rapido
bool cambiar_velocidad = false;
void setup(){
Serial.begin(9600);
for (int i = 0; i < SERVOS; i++){
// Asociamos cada servo con su pin correspondiente
miservo[i].attach(servo_pins[i]);
}
}
void loop(){
// Modificamos la velocidad de los servos
// Primero rapido y luego despacio
if (cambiar_velocidad == false){
velocidad = vel_slow;
}else{
velocidad = vel_fast;
}
// mover hacia una direción, en grados, aumentamos de 10 en 10
for (int i = 0; i < 180; i += 10){
// Girar los angulos
rotar_servo(i,velocidad);
Serial.println(i);
}
// Modificar la dirección, en grados, disminuimos de 20 en 20
for (int i = 180; i >= 0; i -=20){
// Girar los angulos
rotar_servo(i,velocidad);
Serial.println(i);
}
// Cambiar la velocidad, si es lento rapido, y si es rapido, lento
cambiar_velocidad = !cambiar_velocidad;
//delay(10000);
}
// Rotar los servos, en grados
void rotar_servo(int angulo_servo,int velocidad_servo){
// Si el 3º parametro es true, espera a que complete la rotación
// antes de pasar al siguiente
for (int i = 0; i < SERVOS; i++){
miservo[i].write(angulo_servo, velocidad_servo, true);
}
}