Proyecto Arduino

23
COLEGIO DE ESTUCIOS CIENTIFICOS Y TECONOLOGICOS DE EL ESTADO DE MEXICO PLANTEL TECAMAC “HACIENDA DOMÓTICA” ALUMNOS: LUIS ANGEL GALINDO ROMERO VANESSA JAIMEZ MEZA BRENDA ARLETT NAVA GONZÁLEZ JUAN MANUEL ORTEGA VEGA IAN GUSTAVO TOVAR LÓPEZ PROFESOR: RENÉ DOMÍNGUEZ ESCALONA MATERIA: ASOICAS ESPECIALIDAD: PROGRAMACION GRUPO: 503 A 10 DE DICIEMBRE DEL 2014

Transcript of Proyecto Arduino

COLEGIO DE ESTUCIOS CIENTIFICOS Y

TECONOLOGICOS DE EL ESTADO DE MEXICO

PLANTEL TECAMAC

“HACIENDA DOMÓTICA”

ALUMNOS: LUIS ANGEL GALINDO ROMERO

VANESSA JAIMEZ MEZA

BRENDA ARLETT NAVA GONZÁLEZ

JUAN MANUEL ORTEGA VEGA

IAN GUSTAVO TOVAR LÓPEZ

PROFESOR: RENÉ DOMÍNGUEZ ESCALONA

MATERIA: ASOICAS

ESPECIALIDAD: PROGRAMACION

GRUPO: 503

A 10 DE DICIEMBRE DEL 2014

INTRODUCCIÓN

En esta apartado se define lo que es Arduino Uno y se presenta un proyecto

basado en el mismo.

Arduino Uno es aquella plataforma de hardware libre que está basada en una

placa con un micro controlador y un entorno de desarrollo.

Este componente está diseñado para facilitar el uso de los proyectos innovadores

en electrónica y programación.

Esta placa incluso llego a molestar a los programadores, puesto que decía que

afectaba su credibilidad de sus clientes al ver la forma tan “sencilla” en que se

pueden realizar los proyectos.

Nuestro proyecto consiste en una hacienda inteligente, esta realiza diversas

actividades dentro y fuera de la misma, se hizo una maqueta ideal para hacer

creer que en un futuro se puede obtener algo similar.

La hacienda consta de 2 pisos, recamaras, baño, comedor, cocina y todo lo

indispensable en un hogar.

Las acciones que nuestra hacienda realiza son:

Abre la puerta de la entrada

Tiene luces en los 2 pisos

Tiene un espectacular con la bienvenida

Tiene también una antena de sky que gira

Se espera que el visor pueda apreciar el trabajo que se realizo, se llevaron días

de planeación y estructuración.

Y siendo sinceros nos es algo tan sencillo como se cree, es un componente de

mucho cuidado y dedicación.

OBJETIVO

El equipo decidió que haría una hacienda domótica, ósea es una casa inteligente,

que realizara las cosas que a muchos nos gustaría que en realidad estuvieran a

nuestro alcance.

Se planteó primero las ideas que se tenían en mente, se recurre a buscar cómo

hacer una maqueta con específicas adaptaciones que se requerían y se parte a

lo más interesante, como se va a hacer.

Tuvimos el propósito de lograr que la casa funcionara por si sola:

Se tenían demasiadas ideas, pero había un gran detalle, no era nada fácil

lograrlo y los componentes no estaban a nuestro alcance.

Entonces hicimos una planificación, tomando en cuenta que componentes

teníamos y que podíamos hacer con ellos.

Se hizo una investigación breve a los componentes para ver qué actividades se

podrían realizar.

Nuestro objetivo era que la hacienda funcionara.

Cuando obtuvimos la investigación, entonces teníamos como primer propósito

hacer que la puerta principal se abriera con un servomotor, de ahí partimos a

lo que eran las luces y así sucesivamente.

Si lo planteamos al futuro como anteriormente se menciono, lo visualizamos

como nuestro deseo por una propia casa-hacienda.

Nosotros nos propusimos que el vidente disfrutara de la vista que le presenta

nuestra hacienda y que separa apreciar la función que esta misma tiene, en base

a sus componentes, ya partiendo a explicar cómo fue que se logro haberla hecho

funcionar.

LISTA DE MATERIALES EMPLEADOS PARA EL FUNCIONAMIENTO DE LA

HACIENDA

2 LEDS

1 PROTOBOARD

1 PULSADOR

1 MOTOR A PASOS

1 SERVOMOTOR

1 PANTALLA LCD

2 LED RGB

1 ARDUINO UNO

CABLES

RESISTENCIAS DE 220

PROCEDIMIENTO DE CONSTRUCCIÓN.

En la hacienda domótica se colocó un servomotor en la puerta de la hacienda,

conectándolo directamente al protoboard ya que toda la placa ya estaba

alimentada, al igual que se programó desde la aplicación para arduino,

cargándolo en el mismo y permitiendo que arrancara de acuerdo a nuestras

indicaciones.

Esta puerta incluye un botón que tiene funciones especificas, programado para

abrir, cerrar la puerta y prender las luces.

Se colocó un motor en 4 de los pines digitales del arduino y en un pin positivo

y otro negativo en el protoboard, para que este pudiera funcionar se programó

al igual que todos los componentes y se cargó en el mismo.

Se conectó una fotorresistencia, 2 leds y se puenteo en el arduino y el protoboard

estos materiales.

Se ocupó un led RGB colocándolo en el arduino en 4 de los pines digitales del

arduino.

Se utilizó la pantalla conectándola en 2 de los pines digitales y un pin en lado

positivo y otro en el negativo en el protoboard.

Empleamos un led blanco colocándolo en el arduino directamente.

CÓDIGO

#include <Servo.h>

#define STEPS_PER_REVOLUTION 1024

#define MOTOR_SPEED 950

#define MSECS 1000

Servo servoMain;

int rled = 2; // Pin PWN 11 para led rojo

int bled = 3; // Pin PWM 10 para led azul

int gled = 4; // Pin PWM 9 para led verde

int rled1 = 11; // Pin PWN 11 para led rojo

int bled2 = 10; // Pin PWM 10 para led azul

int gled3 = 9;

int i = 0;

int b = 12;

int g = 13;

int motorPins[4] = {8, 9,10,11};

int lookup[8] = {B01000, B01100, B00100, B00110, B00010, B00011,

B00001, B01001};

int i;

int repeat = 5;

const int buttonPin = 0; // the number of the pushbutton pin

// variables will change:

int buttonState = 0; // variable for reading the pushbutton status

void setup() {

for (int i = 0; i <= 3; i++) {

pinMode(motorPins[i], OUTPUT);

}

Serial.begin(9600);

servoMain.attach(11);

pinMode(rled, OUTPUT);

pinMode(bled, OUTPUT);

pinMode(gled, OUTPUT);

pinMode(rled1, OUTPUT);

pinMode(bled2, OUTPUT);

pinMode(gled3, OUTPUT);

pinMode(buttonPin, INPUT);

}

void loop(){

// read the state of the pushbutton value:

moveSteps(STEPS_PER_REVOLUTION);

delay(MSECS);

moveSteps(-STEPS_PER_REVOLUTION);

delay(MSECS);

buttonState = digitalRead(buttonPin);

int valorFotorresistencia; //Declaramos la variable de la

fotorresistencia

valorFotorresistencia = analogRead(A0); //leemos el valor de la

fotorresistencia

Serial.println(valorFotorresistencia); //Imprimimos en la consola serial el

valor de la fotorresistencia

if(valorFotorresistencia >= 1010) //comprobamos el valor del LDR en tanto

por 1 y lo multiplicamos por 2

{ //así exageramos un poco el valor a la hora de

controlar la sensibilidad

digitalWrite(13, HIGH);

digitalWrite(12, HIGH);

} else if(valorFotorresistencia < 1010) //comprobamos el valor del LDR en

tanto por 1 y lo multiplicamos por 2

{ //así exageramos un poco el valor a la hora de

controlar la sensibilidad

digitalWrite(13, LOW);

digitalWrite(12, LOW);

}

delay(100);

if (buttonState == HIGH) {

servoMain.write(0);

delay(1000);

servoMain.write(90);

delay(1000);

}

else {

for(i=0; i<repeat; i++) //Se repite la ejecucion de la funcion rgbon() "repeat"

veces

rgbon();

delay(500); //Se espera 1 segundo

colors('y'); //Se enciende el LED en color amarillo (y de yellow)

delay(500);

colors('o'); //Se enciende el LED en color naranko (o de orange)

delay(500);

colors('p'); //Se enciende el LED en color rosado (p de pink)

delay(500);

for(i=0; i<repeat; i++) //Se repite la ejecucion de la funcion rgbon() "repeat"

veces

rgbo();

delay(1000); //Se espera 1 segundo

colorss('y'); //Se enciende el LED en color amarillo (y de yellow)

delay(1000);

colorss('o'); //Se enciende el LED en color naranko (o de orange)

delay(1000);

colorss('p'); //Se enciende el LED en color rosado (p de pink)

delay(1000);

void rgbon(){

analogWrite(rled,0); // Se enciende color rojo

delay(500); // Se esperan 500 ms

analogWrite(rled,0); // Se apaga color rojo

analogWrite(bled,255); // Se enciende color azul

delay(500); // Se esperan 500 ms

analogWrite(bled,255); // Se apaga color azul

analogWrite(gled,255); // Se enciende color verde

delay(500); // Se esperan 500 ms

analogWrite(gled,255); // Se apaga colo verde

}

void colors(char color){ //La funcion recibe un parametro que se guarda en

variable color

switch(color){ //Se compara variable color con dato guardado

case 'y': analogWrite(rled,255); // Si color == 'y' se enciende color amarillo

analogWrite(gled,255); // Mezclando r = 255 / g = 255 / b = 0

analogWrite(bled,0);

break;

case 'o': analogWrite(rled,255); // Si color == 'o' se enciende color naranjo

analogWrite(gled,180); // Mezclando r = 255 / g = 180 / b = 0

analogWrite(bled,0);

break;

case 'p': analogWrite(rled,255); // Si color == 'p' se enciende color rosado

analogWrite(gled,0); // Mezclando r = 255 / g = 0 / b = 255

analogWrite(bled,255);

break;

}

}

void rgbo(){

analogWrite(rled1,0); // Se enciende color rojo

delay(500); // Se esperan 500 ms

analogWrite(rled1,0); // Se apaga color rojo

analogWrite(bled2,255); // Se enciende color azul

delay(500); // Se esperan 500 ms

analogWrite(bled2,255); // Se apaga color azul

analogWrite(gled3,255); // Se enciende color verde

delay(500); // Se esperan 500 ms

analogWrite(gled3,255); // Se apaga colo verde

}

void colorss(char color){ //La funcion recibe un parametro que se guarda en

variable color

switch(color){ //Se compara variable color con dato guardado

case 'y': analogWrite(rled1,255); // Si color == 'y' se enciende color

amarillo

analogWrite(gled2,255); // Mezclando r = 255 / g = 255 / b = 0

analogWrite(bled3,0);

break;

case 'o': analogWrite(rled1,255); // Si color == 'o' se enciende color naranjo

analogWrite(gled2,180); // Mezclando r = 255 / g = 180 / b = 0

analogWrite(bled3,0);

break;

case 'p': analogWrite(rled1,255); // Si color == 'p' se enciende color rosado

analogWrite(gled2,0); // Mezclando r = 255 / g = 0 / b = 255

analogWrite(bled3,255);

break;

}

}

}

void moveSteps(int steps) {

int i;

if (steps > 0) {

for (i = 0; i < steps; i++) {

moveClockWise();

}

}

if (steps < 0) {

for (i = steps; i <= 0; i++) {

moveAntiClockWise();

}

}

}

void moveClockWise() {

for (int j = 7; j >= 0; j--) {

setMotor(j);

delayMicroseconds(MOTOR_SPEED);

}

}

void moveAntiClockWise() {

for (int j = 0; j <= 7; j++) {

setMotor(j);

delayMicroseconds(MOTOR_SPEED);

}

}

void setMotor(int j) {

for (int i = 0; i < 4; i++) {

digitalWrite(motorPins[i], bitRead(lookup[j], i));

}

}

}

FOTOS

FUNCIONAMIENTO

En nuestro proyecto, que fue una hacienda, realiza las siguientes acciones:

El servomotor cumple con la función de abrir y cerrar la puerta de dicha

hacienda. Que se encuentra justo en la entrada de esta misma, la puerta es de

madera y esta pegada al servomotor, que al realizar su función, abre la puerta

a 90°.

Se instaló un led RGB en una de las habitaciones de la hacienda simulando una

lámpara infantil. Esta esta se encuentra en una recamara, la cuela al realizar

su función prende de diferentes colores.

También se colocó en el patio un led blanco, RGB, el cual funciona como la

iluminación del mismo. Este se encuentra cerca de la alberca, que esta ubicada

en la parte trasera de la hacienda, este ilumina al patio trasero.

Instalamos un motor en el techo de la hacienda, que permitía que la antena

satelital gire de un lado hacia otro y regrese para captar mayor señal.

En el frente de la hacienda se puso la el LSD, aparentando ser un espectacular,

en donde se colocó el nombre de la hacienda, este creado por las iniciales de los

integrantes del equipo. Este muestra la bienvenida y l nombre de la hacienda.

Dentro de esta se colaron los leds que están enlazados con la resistencia, su

función consta de que cuando obscurece o se hace de noche los leds se prenden,

mientras estos permaneces apagados, hasta la sensación de oscuridad.

Cabe mencionar que se instalo un botón que tiene como función principal abrir

y cerrar la puerta, cuando el botón es pulsado, la puerta se abre, y cuando se

vuelve a presionar esta puerta se cierra y al cerrarse se prenden algunas luces

instaladas dentro de la hacienda.

CONCLUSIONES

Luis Ángel Galindo Romero

Bueno pues el realizar este proyecto fue algo nuevo lo cual para mí en lo personal

estuvo algo complicado por diversas razones y también fue algo muy interésate

e ingenioso de realizar, para mí fue bueno y un poco difícil.

Fue bueno ya que reafirme mis conocimientos con Arduino investigando en varios

sitios en internet, e intentando realizarlos en nuestro proyecto me sirvió de

mucho ya que aprendí un poco más sobre este tema y poco a poco pude avanzar

más en mi trabajo.

Lo difícil fueron que como equipo tuvimos una muy mala organización, y otro

punto importante fue que las laps con las que contamos no agarran el

controlador de Arduino por lo que no es difícil trabajar así, y mucho más difícil

el adelantar dicho trabajo, porque tenemos que conseguir una laptop en donde

hacerlo y perdemos demasiado tiempo lo que en este proyecto era clave el ahorro

del tiempo y tuvimos muchas complicaciones en ese aspecto.

Bueno pero retomando con lo que fue el trabajo estuvo bien, yo digo que a todos

nos sirvió de mucho realizar este tipo de cosas ya que abarcamos o conocimos

diversos componentes y nos las ingeniamos para ver como las podíamos integrar

en nuestra casa, y fue una experiencia agradable ya que en lo personal nunca

haba realizado algo así y pues el realizarlo fue algo con lo que me siento a gusto

y con lo que más a delante quisiera seguir relacionado ya que me llaman la

atención este tipo de cosas, la tecnología y muchas cosas por el estilo.

Por mi parte me gusto realizar el proyecto y fue una experiencia nueva y que

nos deja varios aprendizajes.

Juan Manuel Ortega Vega

Mi conclusión es que es interesante trabajar con arduino, pero para realizar un

proyecto como el que nosotros realizamos de una casa domótica nos faltaron

varios conocimientos para llevarlo a cabo de una manera correcta, teníamos

algunos conocimientos pero no creo que sean suficientes para realizar este

proyecto, pero de igual manera es muy interesante todo lo que conlleva en sus

componentes y sus funcionamientos, y en él como con algunos componentes y

con arduino puedes hacer cosas muy padres.

Bueno en este proyecto de la casa domótica lo que hace cada componente y su

función es el servomotor realiza el movimiento de una puerta, y como los leds,

la fotorresistencia, o el RGB realizan algunas iluminaciones a la casa, la pantalla

LCD muestra el nombre de dicha casa, el motor gira una antena.

La verdad se nos dificulto mucho realizarlo y creo nos falto un poco de interés,

pero bueno con lo que teníamos y todo tratamos de realizarlo, no fue sencillo e

incluso nos llegamos a desesperar en varias ocasiones, pero pues ya una vez

realizado el proyecto es padre verlo funcionando todo, en general en este

proyecto pues te llevas un poco de tiempo y debes de ser paciente y muy

concentrado en lo que estás haciendo ya que si alguna conexión o algún cable

está mal no va funcionar e incluso si haces un movimiento falso puedes llegar a

dañar arduino.

Este proyecto la casa domótica nos dejo mucho que aprender y bueno

aprendimos a hacer funcionar algunos componentes como la pantalla de LCD,

un servomotor, una fotorresistencia, leds, motor y entre más componentes.

Para ser sinceros si es bueno trabajar con este tipo de proyectos ya que es lo

actual y por que puede servir de mucha ayuda para algún trabajo, pero a mí

me desespera bastante y se me dificulta mucho.

En general si puede ser complicado trabajar con este tipo de cosas, pero si te

gusta y sabes o tienes algunos conocimientos de electrónica y cuentas con los

recursos necesarios puedes realizar cosas muy interesantes como un carrito, un

alcoholímetro, un invernadero, una casa domótica como la que hicimos nosotros.

Brenda Arlett Nava González

Con este proyecto pude comprender que arduino es una gran herramienta que

se puede utilizar para distintos fines y proyectos, claro con ayuda de diversos

componentes que se necesitan instalar y programar en el arduino.

El arduino puede mejorar instalaciones de seguridad y electricidad, dándoles un

poco más de detalle al igual que también se podría personalizar un objeto o un

espacio ya que en arduino el programador es el que le indica lo que debe de

hacer y como lo debe de hacer; no existe limites solo hace falta tener el interés

para investigar y crear algo innovador, dándole a todo lo que se realice con esta

herramienta nuestro toque final.

Al realizar este proyecto tuvimos diversas complicaciones, tanto por parte de

nosotros, como ajenas. Pero también pude aprender cosas nuevas aunque si se

me hicieron algo complejas ya que no tenía ni idea de lo que se tenía que realizar,

aparte de que no teníamos mucha imaginación para colocar de una manera

adecuada cada componente en el proyecto.

Pero al final se hizo un esfuerzo, para que quedara lo mejor posible; sé que no

somos expertos, y la verdad a mí en lo personal se me complica bastante este

tipo de materias, pero trate de esforzarme en hacer algo dentro de lo que cabe

bien y tratando de cumplir con lo que se exigía para dicho proyecto

El proyecto arduino fue un interesante espaco, donde conocimos cosas aue no

teníamos el conocimiento para poder emplearlo, pero al final de cuentas todo

resulta bien.

Pudimos comprender que nuestro mudo gira en torno a la tcnologia y a la

ciencia, de ahí podemos emplearlo a este proyeto, pues fue un claro ejemplo de

lo que hay en el mundo en base a esas 2 materias especializadas en crear

desarrollos para satisfacer nuestras necesidades.

Fue un proyecto muy interesante y nos ayudo a ampliar nuestras expectativas

conforme al mundo técnico y tecnológico.

Vanessa Jaimez Meza

En base a mi conclusión puedo decir que fue un proyecto muy interesante, que

no estaba contemplado pero que se tomo de un momento a otro como algo ya

establecido en la materia.

Al principio yo no sabía bien lo que era Arduino, entonces cuando se nos fue

explicando, iba comprendiendo cada vez más que sería algo complejo.

Y así fue, nos tomo un poco de tiempo acoplarnos al plan de trabajo que esto

conllevaba.

Y comenzamos con lo básico, como eran los leds y hacer que prendieran y más

bien aprender la función de cada componente integrado en nuestro paquete de

arduino.

No puedo mentir, fue algo muy atractivo, o más bien es, nosotros somos capaces

de hacer proyectos grandes con él, pero nos da miedo pensar en su complejidad.

Es sin duda algo muy interesante, un mundo totalmente innovador, porque

cambia perspectivas, he comenzado a conocer aun más cosas que no tenía ni

idea de que o como existían.

Hemos tomado buena experiencia y aprendizaje de este proyecto, fue muy

complejo, puesto quelas herramientas no nos eran suficientes y nos perjudicaba

a la hora de la realización de este.

Aunque tal vez no fui en su totalidad consistente, puedo decir quién teníamos

un propósito y aunque nos costó mucho llegar a él, hicimos un gran esfuerzo.

Nuestra vida esta basada en un mundo lleno de tecnología , y arduino es un

claro ejemplo de como funciona literalmente hablando.

Ian Gustavo Tovar López

Bueno el realizar este proyecto ha sido una muy buena experiencia ya que

logramos realizar algo bastante decente para los pocos conocimientos que tenía,

y el dedicar horas para investigar e intentar hacer funcionar un componente

fue algo muy cansado. Todo este proyecto me deja muchos conocimientos en

electrónica que en un futuro pueden ser muy útiles en caso de estudiar una

carrera. A parte de esto, todo el tiempo que estuvimos realizando este proyecto

con arduino fue algo muy estresante ya que no sabíamos ni como hacer nada, y

tuvimos que encontrar la manera de llevar esto a cabo, buscando en internet,

preguntándole a nuestros compañeros y en un libro de electrónica que encontré

en mi casa.

Fue alrededor de un mes en el que estuvimos trabajando, y a pesar de ser un

buen tiempo, todo lo difícil llego en los últimos días, antes de presentarlo. El

trabajo realizado logró que los pocos conocimientos que tenía sobre este tema

aumentaran, y de igual manera levantándome un interés sobre esto.

Retomando las experiencias de realizar este trabajo, fue algo muy interesante,

y a la vez fue muy difícil, la dedicación que le pusimos no fue la mejor pero lo

intentamos. Realizamos una casa domótica donde los componentes que

utilizamos se acoplaron al proyecto.

Durante el proyecto, hay que tener algunas precauciones al hacer funcionar un

componente, por ejemplo si los configuras mal o muy rápido, puedes llegar a

dañarlos.

Finalmente la elaboración de este proyecto fue algo muy interesante, pero se

consiguió lo que se esperaba. Un gusto trabajar con arduino y con el profesor

Rene.