Control de belén
|
PRIMER PROYECTO:
Se trata de controlar la iluminación y los motores de un belén.
Una profesora del centro nos pidió ayuda para automatizar las lámparas de varios puntos del belén y controlar la velocidad de 4 motores (noria, torno de alfarero, bomba de agua y molino).
Para el encendido de luces empleamos una placa de 8 relés y para la regulación de la velocidad de los motores hemos montado tres transistores controlados por otras tantas salidas analógicas (PWM) que se regulan mediante potenciómetro
El código del programa es el siguiente: |
MATERIALES:
|
CÓDIGO:
//CONTROL DE BELÉN CON PLACA DE RELÉS Y SALIDAS ANALÓGICAS (PWM)
// Cuatro salidas a relé programadas aleatoriamente y 3 salidas PWM para control de motores
//Definición de un array con las salidas 0 a 3 para controlar 4 salidas ON/OFF. Asignación de pines digitales de salida
byte salida[]={0,1,2,3};
//Asignación de la duración de cada periodo de activación en los que va a mantenerse una determinada secuencia de salidas digitales, en segundos
int t1=2, t2=3, t3=5;
//Asignación de las secuencias de activación de las salidas digitales
int sec1[ ]={1,0,1,0};
int sec2[ ]={0,1,0,1};
int sec3[ ]={1,0,1,0};
// Declaración de las variables y asignación de las salidas reguladas
const int analogOutPin[]={9,10,11};
// Declaración de las variables y asignación de las entradas de potenciometros para ajustar el valor regulado
const int analogInPin1 = A0;
const int analogInPin2 = A1;
const int analogInPin3 = A2;
//Declaración y asignación de las variables de salida analógicas PWM. Lo hacemos en una sola instrucción separandolas con coma
int outputValue1, outputValue2, outputValue3 = 0;
//Declaración variables con los valores medidos
int sensorValue1, sensorValue2, sensorValue3;
void setup()
{
//Declaramos los pines del array salida[] como salidas digitales mediante un bucle
for(int f=0; f<4 ; f++)
{
pinMode(salida[f],OUTPUT);
}
//Declaramos pines del analogInPin como salidas analógicas
pinMode(analogOutPin[0],OUTPUT);
pinMode(analogOutPin[1],OUTPUT);
pinMode(analogOutPin[2],OUTPUT);
}
void loop ()
{
/* Escritura de las tres salidas analógicas */
// lee el valor de la entrada analógica, lo mapea a 256 valores y lo escribe a la salida analógica
sensorValue1 = analogRead(analogInPin1);
outputValue1 = map(sensorValue1, 0, 1023, 0, 255);
analogWrite(analogOutPin[0], outputValue1);
delay(500);
sensorValue2 = analogRead(analogInPin2);
outputValue2 = map(sensorValue2, 0, 1023, 0, 255);
analogWrite(analogOutPin[1], outputValue2);
delay(500);
sensorValue3 = analogRead(analogInPin3);
outputValue3 = map(sensorValue3, 0, 1023, 0, 255);
analogWrite(analogOutPin[2], outputValue3);
delay(500);
for(int i=0;i<4;i++)
{
digitalWrite(salida[i],sec1[i]);
}
delay (t1*1000);
for(int i=0;i<4;i++)
{
digitalWrite(salida[i],sec2[i]);
}
delay (t2*1000);
for(int i=0;i<4;i++)
{
digitalWrite(salida[i],sec3[i]);
}
delay (t3*1000);
}
|
"Fritzing"
|
FOTOS:
|
OBSERVACIONES:
El alumbrado se hizo con lamparitas incandescentes de 4,5V que se alimentan con una fuente de alimentación externa conectada a las salidas del módulo de relés. Las entradas del módulo de relés se pueden conectar directamente a las salidas digitales 0,1,2 y 3 y a +5V y GND de la placa Arduino.
Los motores se alimentaron mediante una fuente de alimentación externa y se conectaron a la placa Arduino mediante un transistor actuando como interruptor controlado por las salidas PWM 9, 10 y 11 de Arduino, permitiendo regular la velocidad de los motores mediante la señal de entrada de los potenciómetros.
Las corrientes de los motores pueden llegar a los 2 o 3 amperios por lo que fue necesaria una fuente de 5A.
|
AUTOR: Mario Baselga Carreras. IES “Ciudad Jardín”. Badajoz
|
Este blog está destinado a compartir los conocimientos adquiridos de los alumnos de tres centros educativos de Extremadura.
miércoles, 21 de enero de 2015
lunes, 8 de diciembre de 2014
Sensor HC-SR04
El Sensor de ultrasonidos HC-SR04
Este sensor funciona como un radar, emite una señal a una frecuencia muy alta y cronometra el tiempo que ese sonido tarda en volver al sensor después de chocar con algún obstáculo. Como la velocidad del sonido se propaga a 343 m/seg o 0,0343 cm/microseg aproximadamente (ya que trabajaremos con centímetros y microsegundos), podemos calcular el espacio que hay entre el sensor y el objeto que ha encontrado aplicando la fórmula d=v•t y lo dividimos entre 2 porque el sonido sale, rebota y vuelve.
Este sensor en concreto tiene un rango de distancias sensible entre 2cm y 3m con una precisión de 3mm.
El sensor consta de 4 pines: "VCC" se conecta a la salida de 5V de la placa, "Trig" conectado al pin digital de la placa encargado de enviar el pulso ultrasónico, "Echo" al pin de entrada digital que recibirá el eco de dicho pulso y "GND" que conectaremos a la placa de Arduino.
Este sensor funciona como un radar, emite una señal a una frecuencia muy alta y cronometra el tiempo que ese sonido tarda en volver al sensor después de chocar con algún obstáculo. Como la velocidad del sonido se propaga a 343 m/seg o 0,0343 cm/microseg aproximadamente (ya que trabajaremos con centímetros y microsegundos), podemos calcular el espacio que hay entre el sensor y el objeto que ha encontrado aplicando la fórmula d=v•t y lo dividimos entre 2 porque el sonido sale, rebota y vuelve.
Este sensor en concreto tiene un rango de distancias sensible entre 2cm y 3m con una precisión de 3mm.
El sensor consta de 4 pines: "VCC" se conecta a la salida de 5V de la placa, "Trig" conectado al pin digital de la placa encargado de enviar el pulso ultrasónico, "Echo" al pin de entrada digital que recibirá el eco de dicho pulso y "GND" que conectaremos a la placa de Arduino.
jueves, 27 de noviembre de 2014
MÓDULO CON SENSOR DE CORRIENTE ACS712
Nuestro próximo trabajo consiste en instalar un sensor de intensidad por cada uno de los circuitos de nuestra instalación, con el objetivo de poder verificar el consumo y poder actuar sobre el circuito en función de la carga que tenga
Descripción:
Este módulo basado en el circuito integrado ACS712 permite medir la cantidad de corriente que pasa a través de un circuito de corriente alterna (AC) o corriente continua (DC). El método de medida es a través de un sensor de efecto hall que entrega un voltaje de salida proporcional a la corriente que hay en el circuito. El trayecto para la medida de corriente es por el interior del circuito integrado.
Características:
-Sensor lineal de efecto hall.
-Alta precisión de medida debido a la cercanía del sensor de efecto hall al elemento de paso.
-Baja resistencia del elemento de paso para una baja disipación de potencia (1.2 mΩ típico)
-Capacidad de sobrevivir a picos de corriente de hasta 5 veces la corriente nominal.
-Disponible en 2 rangos de medición: 5 y 30 amperios.
-Modelo: ACS712, basado en el chip fabricado por Allegro MicroSystems.
-Voltaje de alimentación para el chip ACS712: 5.0 volts. Ic= 10 ma.
-Incluye led indicador del voltaje de alimentación (D1)
-Aislamiento entre el sensor de corriente y la salida: 2.1 KVrms
-La salida de voltaje es proporcional a la corriente a medir, AC ó DC.
-Error máximo de linealidad a la salida 1.5% @ 25 C.
-Sensitividad: 66 mv/A para módulo de 30 amp y 185 mv/A para módulo de 5 amp.
Nuestro próximo trabajo consiste en instalar un sensor de intensidad por cada uno de los circuitos de nuestra instalación, con el objetivo de poder verificar el consumo y poder actuar sobre el circuito en función de la carga que tenga
Descripción:
Este módulo basado en el circuito integrado ACS712 permite medir la cantidad de corriente que pasa a través de un circuito de corriente alterna (AC) o corriente continua (DC). El método de medida es a través de un sensor de efecto hall que entrega un voltaje de salida proporcional a la corriente que hay en el circuito. El trayecto para la medida de corriente es por el interior del circuito integrado.
Características:
-Sensor lineal de efecto hall.
-Alta precisión de medida debido a la cercanía del sensor de efecto hall al elemento de paso.
-Baja resistencia del elemento de paso para una baja disipación de potencia (1.2 mΩ típico)
-Capacidad de sobrevivir a picos de corriente de hasta 5 veces la corriente nominal.
-Disponible en 2 rangos de medición: 5 y 30 amperios.
-Modelo: ACS712, basado en el chip fabricado por Allegro MicroSystems.
-Voltaje de alimentación para el chip ACS712: 5.0 volts. Ic= 10 ma.
-Incluye led indicador del voltaje de alimentación (D1)
-Aislamiento entre el sensor de corriente y la salida: 2.1 KVrms
-La salida de voltaje es proporcional a la corriente a medir, AC ó DC.
-Error máximo de linealidad a la salida 1.5% @ 25 C.
-Sensitividad: 66 mv/A para módulo de 30 amp y 185 mv/A para módulo de 5 amp.
jueves, 30 de octubre de 2014
Desde el IES Santa Eulalia os damos la bienvenida al proyecto y os deseamos que aprendais todo lo que podais de esta nueva experiencia.
Estos son los alumnos que arrancan con nosotros en el proyecto:
Estos son los alumnos que arrancan con nosotros en el proyecto:
| IES | Nombre | Curso |
| Ciudad Jardín | Delgado Rubio, Pedro Félix | 1º EEC |
| Ciudad Jardín | Guerrero González, Carlos Eduardo | 1º EEC |
| Ciudad Jardín | Marcos Escudero, Juan Alberto | 1º IEA |
| Ciudad Jardín | Suárez Ayuso, Carlos | 1º IEA |
| Ciudad Jardín | Cardona Pineda, Juan Esteban | 1º SEA |
| Ciudad Jardín | Rodríguez Durán, Jose Antonio | 1º SEA |
| Ciudad Jardín | Carrizo Moro, Borja | 2º SEA |
| Ciudad Jardín | Fariñas Coria, Eduardo | 2º SEA |
| Extremadura | Sánchez Álvarez, Daniel | 1º IEA |
| Extremadura | Rodríguez Ferrero, Daniel | 2º IEA |
| Extremadura | Corzo, Lucas | 2º IEA |
| Extremadura | Gijón Iglesias, Sergio | 2º SEA |
| Extremadura | Delgado García, Jorge | 2º SEA |
| Extremadura | García Accurso, Francisco José | 2º SEA |
| Extremadura | José Mª Moreno Bermúdez | 2º SEA |
| Extremadura | Reyes Nieto, Ángel Enrique | 2º SEA |
| Santa Eulalia | Becerra Buet, Bruno | 4º DIV ESO |
| Santa Eulalia | Cabezas Montero, Alberto Antonio | 4º DIV ESO |
| Santa Eulalia | Castro De Torres, Javier | 4º DIV ESO |
| Santa Eulalia | Castro Serrano, Alexandro | 4º DIV ESO |
| Santa Eulalia | Díaz García, Paloma | 4º DIV ESO |
| Santa Eulalia | Montero Caballero, Pablo | 4º DIV ESO |
| Santa Eulalia | Ruiz Caballero, Patricia | 4º DIV ESO |
| Santa Eulalia | Sánchez Serrano, Christian | 4º DIV ESO |
| Santa Eulalia | Segovia Guerra, Alexánder Paúl | 4º DIV ESO |
Suscribirse a:
Entradas (Atom)

