Blog de desarrollo y mantenimiento de electrónica. Proyectos electrónicos basados en PIC y Arduino, con gran contenido informático y comunicaciones, ya sea por serial comm, bluetooth y wifi.
Mostrando entradas con la etiqueta Fotoinsolacion. Mostrar todas las entradas
Mostrando entradas con la etiqueta Fotoinsolacion. Mostrar todas las entradas
domingo, 15 de marzo de 2015
Invernadero automatizado.
Para este proyecto e fabricado la siguiente placa de circuito impreso a doble cara con el programa de diseño de placas Proteus:
-Lista de componentes:
1- Atmega 328p.
1- Bluetooth HC-05.
1- Modulo de tiempo real (DS130).
2- Condensadores 22pF.
1- Cristal de cuarzo 16Mhz.
6- Resistencias de 330 ohm.
3- Resistencias 82 ohm.
1- Resistencia 10k ohm.
1- Resistencia 100k ohm.
2- Resistencia 39k ohm.
1- Resistencia 10k ohm SMD.
5- Resistencia 330 ohm SMD.
1- Resistencia 1M ohm SMD.
1- Resistencia 680 ohm SMD.
1- Resistencia 22k ohm SMD.
2- Condensadores 100nF.
3- Condensadores 100nF 400v.
2- Diodos Leds.
1- Diodo 1N4007.
1- Mosfet IRF 540.
2- Opto-acopladores 4N25.
3- Opto-triacs MOC3020.
3- Triacs BT 138.
1- Puente rectificador.
3- Portafusiles.
2- Fusibles 0.5 A.
1- Fusible 1 A.
7- Fichas para cables.
1- Tira de pines hembras.
1- Pulsador.
-Sensores y Actuadores:
1- Sensor de temperatura y humedad DHT11.
1- Sensor de humedad de tierra YL-69.
1- Secador pequeño.
1- Bombilla de bajo consumo 45w.
1- Servo motor.
!- Extractor 230v.
-Gantt:
-Diagrama de estado:
Si le interesa el proyecto y tiene dudas puede consultar enviando un mensaje a la siguiente dirección de correo electrónico:
yuste.ct@gmail.com
Etiquetas:
1N4007,
4N25,
Atmega328P,
Bluetooth,
BT139,
control AC,
control DC,
DHT11,
Fotoinsolacion,
Gantt,
IES Politecnico de Cartagena,
Optoacoplador,
optotriac,
placa doble cara,
Transistores,
Triac
domingo, 2 de marzo de 2014
Sistema de Seguridad
Sistema de Seguridad con Arduino
El sistema estará compuesto por un sensor de movimiento, sensor de apertura de ventana, el RFID, alarma de sonido, un sistema para abrir la puerta y una pantalla LCD con adaptador de salida paralela a I2C para mostrar la información de los estados de la alarma.
Lo primero que hice fue buscar información sobre el sensor de movimiento y el Sistema RFID, buscando las librerías adecuadas para arduino.
La librería que estoy utilizando para el Sistema RFID es rfid-master, la librería podéis descargarla aquí.
Lo primero que hice fue crear un programa sencillo para leer el numero de la tarjeta o llavero, y que lo mostrara en el terminal Serial de Arduino.
Tras conocer el numero de la tarjeta, podemos decirle que si el numero se corresponde con el numero que tenemos guardado realice expresamente algo, por ejemplo encender un led verde y mostrar por el terminal que la tarjeta es la correcta, y si el numero no se corresponde con el numero guardado, puede encender un led rojo e indicar por el terminal que la tarjeta no es la correcta.
La conexión del sistema RFID con el arduino Mega 2650 es la siguiente:
RFID Arduino
SDA PIN 53
SCK PIN 52
MOSI PIN 51
MISO PIN 50
GND GND
RST PIN 5
3,3V 3,3V
La realización de la placa se a realizado por método fotográfico, en la fotoploter y con foto insolación. Incorporo los pasos realizados:
Eficiencia Energética
Vídeo del proyecto terminado
La librería que estoy utilizando para el Sistema RFID es rfid-master, la librería podéis descargarla aquí.
RFID
Lo primero que hice fue crear un programa sencillo para leer el numero de la tarjeta o llavero, y que lo mostrara en el terminal Serial de Arduino.
//**** Ejemplo de código de Arancha Requena
#include <SPI.h>
#include <MFRC522.h>
MFRC522 rfid(53, 5); //Pines 53 del SPI SS, y pin 5 del Reset
void setup () {
Serial.begin (9600);
SPI.begin ();
rfid.PCD_Init();
Serial.println("Init...");
}
void loop(){
if (rfid.PICC_IsNewCardPresent()){
Serial.println("");
Serial.println("New Card");
if (rfid.PICC_ReadCardSerial()){ // esto mostrará los 16 dígitos de la tarjeta
Serial.println ("");
Serial.println ("el numero de serie de la tarjeta es:");
Serial.print (rfid.uid.uidByte[0], DEC);
Serial.print (",");
Serial.print (rfid.uid.uidByte[1], DEC);
Serial.print (",");
Serial.print (rfid.uid.uidByte[2], DEC);
Serial.print (",");
Serial.print (rfid.uid.uidByte[3], DEC);
Serial.print (",");
Serial.print (rfid.uid.uidByte[4], DEC);
Serial.println ("");
delay(350);
}
}
}
Tras conocer el numero de la tarjeta, podemos decirle que si el numero se corresponde con el numero que tenemos guardado realice expresamente algo, por ejemplo encender un led verde y mostrar por el terminal que la tarjeta es la correcta, y si el numero no se corresponde con el numero guardado, puede encender un led rojo e indicar por el terminal que la tarjeta no es la correcta.
La conexión del sistema RFID con el arduino Mega 2650 es la siguiente:
RFID Arduino
SDA PIN 53
SCK PIN 52
MOSI PIN 51
MISO PIN 50
GND GND
RST PIN 5
3,3V 3,3V
Sensor Movimiento PIR
Para la detección de movimiento en este sistema de seguridad voy a utilizar un PIR Sensor el cual a través del cambio de calor mide el movimiento, este sensor es fácil de conectar con el Arduino solo tiene 3 patillas, una de alimentación a 5 voltios(VCC), la salida del sensor(OUT) y masa(GND).
El programa que hemos realizado en arduino para su comprobación es sencillo, diciéndole simplemente que cuando el sensor lea un 1 significa que hay movimiento y enciende un led para indicar el movimiento.
![]() |
| Sensor Pir y conexion a Arduino |
/************************************************************** Programa Arduino PIR SENSOR | BY Arancha Requena Perez **************************************************************/int ledPin = 8; // comprobacion con el pin 8int inputPin = 2; // entrada del sensor (PIR sensor)int val = 0; // variable para guardar la entrada de inputPinvoid setup() {pinMode(ledPin, OUTPUT); // ledPin salidapinMode(inputPin, INPUT); // inputPin entradaSerial.begin(9600);Serial.println("Init...");}void loop(){val = digitalRead(inputPin); // lee la entrada del sensor y la almacena en valif(val==HIGH){Serial.println("movimiento detectado");digitalWrite(ledPin, HIGH); // si val es igual a HIGH(alto) el pin 8 se pone en Alto}else{digitalWrite(ledPin,LOW);Serial.println("sin movimiento");}delay(250);}
Maqueta sensores
Para hacer los sensores de ventana, la alarma y el motor de la cerradura de la puerta, estoy realizando una maqueta en una placa, para saber que esta ocurriendo en el Sistema de Alarma, cuando se active uno de los sensores de ventana se encenderá un led indicando la apertura de esa ventana, lo mismo ocurrirá cuando se active el altavoz de aviso de intruso, e incluso con la apertura de la cerradura. He realizado un primer esquema en Ares proteus y quedara mas o menos así.
![]() |
| PCB(Ares) de la maqueta |
![]() |
| 3D de la maqueta(Ares) |
Primer paso: Realizar el Negativo de la placa
Segundo paso: Ponerle el papel foto sensible a la placa de cobre
Tercer paso: Alinear el negativo y los agujeros de la placa
Cuarto paso: Foto insolación
Quinto paso: Revelador
Sexto paso: Horno para endurecer la placa
Séptimo paso: Cloruro Férrico
Octavo paso: Quita Film
A continuación para la mascara de soldadura se repite el proceso encima de las pistas, a excepción de que después del revelado no se introduce en el ácido, ni en el quita Film, dejando los huecos para poder soldar los componentes.
![]() |
| Depuración de programas |
Driver Motor
Puesto que nuestro sistema de Alarma sera controlado principalmente por el RFID, al desactivar la alarma también nos abrirá el cerrojo de la puerta, por lo que a nuestro sistema le vamos a incorpora un Driver para controlar un motor.
El proceso de creación va a ser el mismo que para la placa de la maqueta, por foto insolación.
Primero realizamos el PCB de la placa, la cual esta compuesta por una fuente conmutada de alimentación de 12v para alimentar el Driver(TC4422,Microchip),y el driver ataca a el transistor IRF540,ST que habilita la puesta en marcha del motor.
![]() |
| PCB(Ares) del Controlador Motor |
![]() |
| Driver Motor |
![]() |
| Serigrafia |
![]() |
| Driver motor montado |
Sensores Ventana
Tras realizar el driver del motor, he terminado de realizar el programa del sensor de las ventanas, depurandolo con la conexión a la maqueta. El código que pongo a continuación es tan solo el programa de la detección de ventana abierta o cerrada de la habitación y el salón, y el vídeo que pondré a continuación del código, es la unión de los programas en el principal del sistema de seguridad.
int salon=4,habitacion=5,ledsalon=6,ledhabitacion=7,rfid=8;int val=0,valsalon=0,valhabitacion=0;void setup(){pinMode(salon,INPUT);pinMode(habitacion,INPUT);pinMode(ledhabitacion,OUTPUT);pinMode(ledsalon,OUTPUT);pinMode(rfid,INPUT);Serial.begin(9600);digitalWrite(ledhabitacion,HIGH);digitalWrite(ledsalon,HIGH);Serial.println("init...");}void loop(){val=digitalRead(rfid);digitalWrite(ledhabitacion,HIGH);digitalWrite(ledsalon,HIGH);if(val==LOW){ //para aclararme simulo el estado de conexion o desconexion de la alarmaSerial.println("alarma activada");digitalWrite(ledsalon,LOW);digitalWrite(ledhabitacion,LOW);valhabitacion=digitalRead(habitacion);valsalon=digitalRead(salon);if(valhabitacion == HIGH){Serial.println("Ventana habitacion abierta");}else{Serial.println("Ventana habitacion cerrada");}if(valsalon==HIGH){Serial.println("Ventana salon abierta");}else{Serial.println("Ventana salon cerrada");}delay(500);}}
Comunicacion Arduino Mega y Arduino Uno
Tras tenerlo casi todo listo con el Arduino Mega, he realizado una comunicación con un Arduino Uno, el cual cuando recibe un comando del Arduino Mega este actúa en consecuencia.
En mi caso he incorporado una pantalla LCD de 16x2 por comunicación I2C, en la cual recordar hay que añadirle una resistencia de fin de bus en cada hilo de comunicación, este bus esta compuesto por 2 hilos, el SDA y el SCL, además de VCC y GND.
El Arduino Mega procesa toda la información que le llega de los sensores(sensor de movimiento, sensores de ventana y RFID) y actúa sobre los actuadores(altavoz de alarma y motor de cerradura). Esa información también se la paso al Arduino Uno haciendo este que se muestre por la pantalla LCD el estado de la Alarma.
Datos Sensores
Tras tener el Sistema completo, he realizado un seguimiento de los estados de la alarma, guardando así el estado de los sensores con la fecha y hora del momento en el que se produjo. Guardando así también la fecha y hora de activación o desactivación de la alarma y que persona fue la que dio esas ordenes. El sistema de guardado se realiza a través de la programación con Processing leyendo del puerto serie los datos que manda el arduino y almacenándolos en un archivo txt.
Eficiencia Energética
En este proyecto hemos pensado también en la eficiencia energética, como el control de nuestro motor para abrir la cerradura, puesto que cuando pasas la tarjeta por primera vez que te identifica tras desactivar la alarma, el motor se pone en marcha, pero si vuelves a pasar la tarjeta en repetidas ocasiones, el motor no se volverá a encender.
Nuestra maqueta utiliza leds de bajo consumo.
El altavoz esta programado para un sonido intermitente, y que así no se caliente y no consuma mas.
Fuente de alimentación con un 88% de alta eficiencia.
Fuente de alimentación con un 88% de alta eficiencia.
Diagrama de estados
Vídeo del proyecto terminado
Gantt Proyect
Etiquetas:
Arduino Mega 2560,
Arduino UNO,
comunicacion Arduinos,
diagrama estados,
Driver Motor,
Fotoinsolacion,
IRF540,
LCD,
MFRC522,
Microchip,
PIC,
PIR sensor,
Processing,
RFID,
ST
Suscribirse a:
Entradas (Atom)













