Este fue el diseño que realizamos en inventor para nuestra casa:
DOMÓTICA PARA TODOS
domingo, 8 de noviembre de 2015
Este es el código del que se controlan las puertas de los garajes y la alarma:
#define LED 7
#define LDR 0
int luz = 0;
int valor_sensor = 0;
int dtect=6;
int sense=A1;
int buzzpin=5;
//Variables motor A
int ENA=10;
int in1=11;
int in2=12;
//Variables motor B
int ENB=9;
int in3=13;
int in4=8;
int vel=0;
void setup() {
Serial.begin(9600);
pinMode(LED,OUTPUT);
pinMode(LDR,INPUT);
pinMode(dtect,OUTPUT);
pinMode(sense,INPUT);
pinMode(buzzpin,OUTPUT);
digitalWrite(dtect,HIGH);
for (int x=8; x<=13; x++){
pinMode (x,OUTPUT);
}
}
void loop () //Configuracion de los valores
{
int val=analogRead(sense);
Serial.println(val);
if(val>=1005)
{
buzz(50);
}
valor_sensor = analogRead(LDR);
luz = (5.0 * valor_sensor * 100.0)/1024.0;
Serial.print(luz);
Serial.println(" Luz");
delay(100);
analogWrite(ENA,50);
analogWrite(ENB,50);
if (luz <= 490)
{
digitalWrite (LED, LOW);
atras();
}
if (luz > 490) //Si es mayor que 490
{
digitalWrite (LED, HIGH); //El led se eniende y el motor avanza
adelante();
}
}
void adelante(){
digitalWrite(in1, LOW);
digitalWrite(in2, HIGH);
digitalWrite(in3, HIGH);
digitalWrite(in4, LOW);
}
void atras(){
digitalWrite(in1, HIGH);
digitalWrite(in2, LOW);
digitalWrite(in3, LOW);
digitalWrite(in4, HIGH);
}
void detener(){
digitalWrite(in1, LOW);
digitalWrite(in2, LOW);
digitalWrite(in3, LOW);
digitalWrite(in4, LOW);
}
void buzz(unsigned char time)
{
analogWrite(buzzpin,170);
delay(time);
analogWrite(buzzpin,0);
delay(time);
}
Después de hacer todo el montaje eléctrico de la casa y haber terminado con la decoración. Este fue el resultado final:
Más tarde estaré publicando la otra parte del código (para la cual úsamos un arduino diferente) en la que está el código de la alarma activada por infrarrojo y la apertura de garajes por fotorresistencias.
A medida que íbamos trabajando en la construcción y decoración de la casa, estuvimos buscando la información necesaria para desarrollar el proyecto. En google se encuentran fácilmente las conexiones de todas las partes, por lo que agregaremos únicamente los códigos usados.
Para el controlador bluethoot usamos la aplicación Arduino Control House en play store (aunque también se puede crear la aplicación en MIT APP INVENTOR) pero esto puede tomar mucho tiempo si no sabes cómo usarlo y necesitas un tutorial.
El código final, que permitió controlar ventilación e iluminación vía bluethoot y a la vez encender y apagar luces por aplausos, fue este:
int estado=0;
int retardo=100;
int analogo=0;
int microPin=A0;
int adjPin=A1;
int valorMicro=0;
int valorAdj;
int led=8;
int biestable=0;
void setup(){
servo1.attach(4);
pinMode(13,OUTPUT);
pinMode(12,OUTPUT);
pinMode(11,OUTPUT);
pinMode(10,OUTPUT);
pinMode(9,OUTPUT);
pinMode(led, OUTPUT);
pinMode(7,OUTPUT);
pinMode(6,OUTPUT);
Serial.begin(9600);
delay(1000);
}
void loop(){
if(Serial.available()>0){
estado = Serial.read();
}
if(estado== 'a'){
digitalWrite(13,HIGH);
}
if(estado== 'b' ){
digitalWrite(13,LOW);
}
if(estado== 'c'){
digitalWrite(12,HIGH);
}
if(estado== 'd' ){
digitalWrite(12,LOW);
}
if(estado== 'e'){
digitalWrite(11,HIGH);
}
if(estado== 'f' ){
digitalWrite(11,LOW);
}
if(estado== 'g' ){
digitalWrite(10,HIGH);
}
if(estado== 'h' ){
digitalWrite(10,LOW);
}
if(estado== 'i' ){
digitalWrite(9,HIGH);
}
if(estado== 'j' ){
digitalWrite(9,LOW);
}
if(estado== 'm' ){
digitalWrite(7,HIGH);
}
if(estado== 'n' ){
digitalWrite(7,LOW);
}
if(estado== 'o' ){
digitalWrite(6,HIGH);
}
if(estado== 'p' ){
digitalWrite(6,LOW);
}
if(estado=='q'){
analogo=analogRead(A0);
Serial.print(analogo);
Serial.println("°C");
delay (retardo);
estado=0;
}
delay(retardo);
valorMicro=analogRead(microPin);
valorAdj=analogRead(adjPin);
if ((valorMicro > (valorAdj + 2)) && biestable==0)
{
biestable=1;
digitalWrite(led, HIGH);
tempo();
}
else if ((valorMicro > (valorAdj +2)) && biestable==1)
{
biestable=0; // Cambiamos valor de variable a 0
digitalWrite(led, LOW);
tempo();
}
}
void tempo()
{
delay(200);
}
El pin 8, fue el que usamos para conexión de las luces por aplausos, los demás entre el 6 y el 13 para las luces y el ventilador.
Para el controlador bluethoot usamos la aplicación Arduino Control House en play store (aunque también se puede crear la aplicación en MIT APP INVENTOR) pero esto puede tomar mucho tiempo si no sabes cómo usarlo y necesitas un tutorial.
El código final, que permitió controlar ventilación e iluminación vía bluethoot y a la vez encender y apagar luces por aplausos, fue este:
int estado=0;
int retardo=100;
int analogo=0;
int microPin=A0;
int adjPin=A1;
int valorMicro=0;
int valorAdj;
int led=8;
int biestable=0;
void setup(){
servo1.attach(4);
pinMode(13,OUTPUT);
pinMode(12,OUTPUT);
pinMode(11,OUTPUT);
pinMode(10,OUTPUT);
pinMode(9,OUTPUT);
pinMode(led, OUTPUT);
pinMode(7,OUTPUT);
pinMode(6,OUTPUT);
Serial.begin(9600);
delay(1000);
}
void loop(){
if(Serial.available()>0){
estado = Serial.read();
}
if(estado== 'a'){
digitalWrite(13,HIGH);
}
if(estado== 'b' ){
digitalWrite(13,LOW);
}
if(estado== 'c'){
digitalWrite(12,HIGH);
}
if(estado== 'd' ){
digitalWrite(12,LOW);
}
if(estado== 'e'){
digitalWrite(11,HIGH);
}
if(estado== 'f' ){
digitalWrite(11,LOW);
}
if(estado== 'g' ){
digitalWrite(10,HIGH);
}
if(estado== 'h' ){
digitalWrite(10,LOW);
}
if(estado== 'i' ){
digitalWrite(9,HIGH);
}
if(estado== 'j' ){
digitalWrite(9,LOW);
}
if(estado== 'm' ){
digitalWrite(7,HIGH);
}
if(estado== 'n' ){
digitalWrite(7,LOW);
}
if(estado== 'o' ){
digitalWrite(6,HIGH);
}
if(estado== 'p' ){
digitalWrite(6,LOW);
}
if(estado=='q'){
analogo=analogRead(A0);
Serial.print(analogo);
Serial.println("°C");
delay (retardo);
estado=0;
}
delay(retardo);
valorMicro=analogRead(microPin);
valorAdj=analogRead(adjPin);
if ((valorMicro > (valorAdj + 2)) && biestable==0)
{
biestable=1;
digitalWrite(led, HIGH);
tempo();
}
else if ((valorMicro > (valorAdj +2)) && biestable==1)
{
biestable=0; // Cambiamos valor de variable a 0
digitalWrite(led, LOW);
tempo();
}
}
void tempo()
{
delay(200);
}
El pin 8, fue el que usamos para conexión de las luces por aplausos, los demás entre el 6 y el 13 para las luces y el ventilador.
Con el diseño de nuestra casa listo, empezamos la construcción usando la cortadora láser que nos presta la universidad y utilizamos para la construcción MDF de 5mm de grosor.
En las imágenes se ven algunas de las divisiones de la casa, el techo del primer piso (son 2) y un sistema piñón-cremallera para las puertas de los garajes.
Luego de pensar qué sistemas automáticos podría tener la casa, nos decidimos por los siguientes:
-CONTROL DE ILUMINACIÓN Y VENTILACIÓN VÍA BLUETHOOT.
-CONTROL DE ILUMINACIÓN POR APLAUSOS
-APERTURA DE GARAJES POR FOTORRESISTENCIAS (CUANDO UN AUTO PASA POR ENCIMA DE ELLAS, SE ENVIARÁ UNA SEÑAL A LOS MOTORES PARA QUE SE ACTIVEN Y ABRAN LAS PUERTAS).
-ALARMA POR SENSOR INFRARROJO.
-CONTROL DE ILUMINACIÓN Y VENTILACIÓN VÍA BLUETHOOT.
-CONTROL DE ILUMINACIÓN POR APLAUSOS
-APERTURA DE GARAJES POR FOTORRESISTENCIAS (CUANDO UN AUTO PASA POR ENCIMA DE ELLAS, SE ENVIARÁ UNA SEÑAL A LOS MOTORES PARA QUE SE ACTIVEN Y ABRAN LAS PUERTAS).
-ALARMA POR SENSOR INFRARROJO.
Suscribirse a:
Comentarios (Atom)



