SlideShare una empresa de Scribd logo
1 de 14
Colegio de EstudiosCientíficosy
TecnológicosPlantel Tecámac
Asignatura:
Instala y Configura AplicacionesMóviles
Alumno:Noe AldairFrancisco Cruz
Profesor: René DomínguezEscalona
Mini Proyecto con (sin) Arduino
Introducción.
Realizareste tipo de trabajo suele ser un poco complicado
al no poseer el tipo de material suficiente como para
presentarlo al profesor, entonces al no poseer el Arduino
Uno ya que en mi equipoestá utilizándolootra persona
decidí crear este documento con lo necesario para yo poder
realizar mi proyecto según como lo haría y en que
beneficiaríao que resultaría afectado.
Espero al no tener el material ni la documentación
suficiente que este trabajo vaya a valer menos de lo
indicadopero la verdad es que no quiero reprobar la
materia por eso es que lo hago además de conocer otras
formas de cómo utilizarel Arduino UNO.
Este documentoNO posee ningún video tutorial ya que,
como mencioné anteriormente no cuento con Arduino UNO
para realizarlo y en su lugar he reemplazadolo que sería la
evidenciapor imágenes y diagramas del cómo debería ser
armado y realizadoel proyecto.
Sin nadamás que decir y esperando acepte el trabajo
comienzo.
Objetivo.
El objetivode este proyecto con (sin) Arduino es el de crear
un elevadorcomo se ha intentadoanteriormente pero ésta
vez controladopor un control remoto y sensible a la
humedad. Como dije anteriormente en este proyecto
intento hacer lo que de verdad haría y para ser sincero no
voy a intentarnadaque no pueda hacer y al creer que este
proyecto es sencillopor eso es por lo que me arriesgo a
intentarloy antesde una calificaciónde cero esperar alguna
décima extra o alguna calificaciónpara el proyecto y no
dejarlo como no entregado.
A pesar de haberloentregado fuera de tiempo me dispongo
a realizarlo para que si es que tengo una calificación
aprobatoriaen el examen sea posteriormente revisado en
slideshare.net y pueda ser contado para evaluación.
Ahora que he tratado de realizar este proyecto pienso yo
que es posible y el realizarlo posiblementeno cueste mucho
trabajo;incluyendolos cinco componentes como es debido
hacer el mejor esfuerzo porque salga todo bien y sin nada
más que agregar doy paso a el proyecto.
Componentesy lista del material.
Para empezar con éste proyecto es necesario agregar que
necesitaremos los siguientes componentes, daré la lista de
todo el material que será ocupado:
- Placa ArduinoUNO
- Cable USB
- Un Protoboard y en caso de ser pequeña:dos.
- Motor a pasos bipolar
- Potenciómetro
- 4 Resistenciasde 10k
- 5 Resistenciasde 2k
- 1 Resistencia de 50k
- 2 Botones
- Luces LED
- LED Negro
- LED RGB
- Sensor de humedad DHT22
- PantallaLCD 1602ª
- Hilo resistente
- Poleas realizadasmanualmente
Al no poseer el material adecuadohe optadopor buscar en
internet el material específico para poder realizar lo que
sería el proyecto entonces solo se requiere lo anterior para
poder comenzar con ello.
Motor a pasos.
El motor a pasos es ocupado para, como su nombre lo dice, ser
usado como un motor que será el que eleve el ascensor o lo haga
descender. Al estar enlazado con las poleas realizadas a mano o
reutilizando un cartucho de tinta para impresora puede ser de
utilidad para que el motor no se atore en donde no debe y siga su
camino, sumado al hilo o cable que le hemos puesto no debe ser
difícil la ejecución.
El diagrama de cómo debe ir cableado será el siguiente:
Debo aclarar que no vamos a utilizar todos los pines y si en los
demás diagramas vemos enchufados pines que ya hemos ocupado
hay que recorrerlo y el código será modificado. Una vez comentado
aquello mostraré el código:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
/*
Mover motores paso a paso con Arduino
Tutorial en: http://diymakers.es/mover-motores-paso-paso-con-arduino/
*/
#include <Stepper.h> //Importamos la librería para controlar motores paso a paso
#define STEPS 200 //Ponemos el número de pasos que necesita para dar una vuelta. 20
// Ponemos nombre al motor, el número de pasos y los pins de control
Stepper stepper(STEPS, 8, 9, 10, 11); //Stepper nombre motor (número de pasos por v
void setup()
{
// Velocidad del motor en RPM
stepper.setSpeed(100);
}
void loop()
{
//Girar una vuelta entera en un sentido
stepper.step(200);
delay(500); //Pequeña pausa
//Girar una vuelta entera en sentido contrario
stepper.step(-200);
delay(500); //Pequeña pausa
}
Lo que el código logrará será hacer que el motor se mueva en una
dirección dando una vuelta completa para así el ascensor ser
elevado y al llegar ahí dar la misma vuelta en sentido contrario.
Control Remoto.
Lo que logrará el control remoto será en caso de que nuestros
botones se vean afectados pueda ser utilizado el control remoto o
viceversa. El control podrá lograr hacer al motor a pasos dar la
vuelta en el sentido en que la hemos guiado, detenerlo o hacer que
haga su recorrido en sentido contrario.
El diagrama de armado es el siguiente:
En donde usaremos la luz led para indicar que el control está
funcionando y a que componente está siendo utilizado, aunque
para ello el código tiene que ser modificado.
Una vez realizado lo anterior paso a mostrar el código:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
// Cantidad de pulsos
#define TRAIN_LENGTH 32
// En microsegundos
#define LOW_LIMIT 600
#define HIGH_LIMIT 1800
#define INIT_LIMIT 4000
#define IN 2
#define LED 13
long start, delta = 0;
uint32_t value;
int pos = 0;
boolean has_value = false;
unsigned int key[10];
void inputPin() {
noInterrupts();
if (has_value) return;
if (digitalRead(IN) == HIGH) {
start = micros();
}
else {
delta = micros() - start;
if (delta < LOW_LIMIT) {
value <<= 1;
value |= 1;
++pos;
}
else if (delta < HIGH_LIMIT) {
value <<= 1;
value |= 0;
++pos;
}
else if (delta > INIT_LIMIT) {
value = 0;
pos = 0;
}
if (pos == TRAIN_LENGTH) {
has_value = true;
}
}
interrupts();
}
void setup()
{
key[0] = 0x9768;
key[1] = 0xCF30;
key[2] = 0xE718;
key[3] = 0x857A;
key[4] = 0xEF10;
key[5] = 0xC738;
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
key[6] = 0xA55A;
key[7] = 0xBD42;
key[8] = 0xB54A;
key[9] = 0xAD52;
Serial.begin(115200);
pinMode(IN, INPUT);
pinMode(LED, OUTPUT);
digitalWrite(LED, LOW);
attachInterrupt(0, inputPin, CHANGE);
}
void loop()
{
int i;
if (has_value) {
Serial.print("V: ");
Serial.println(value & 0x0000FFFF, HEX);
i = 0;
while(i<10 && (key[i] != (value & 0x0000FFFF))) ++i;
Serial.println(i);
while(i--) {
digitalWrite(LED, HIGH);
delay(400);
digitalWrite(LED, LOW);
delay(200);
}
has_value = false;
pos = 0;
}
}
En donde nuestro control remoto estará funcionando como
esperamos y después sea dirigida la señal al componente
adecuado.
Led RGB.
El objetivo de incluir este Led es, creo yo mero adorno y también un
indicador que señalará si el ascensor está subiendo o bajando
pintándose de un color al subir y otro al bajar.
El diagrama de ensamblado sería el siguiente:
En donde incluiremos resistencias y el Led para nuestro propósito,
así al subir el ascensor siendo controlado por nuestro control o
botones se iluminará de un color y al bajar cambiará.
Una vez realizado lo anterior procedo a mostrar el código del
componente:
/*-----Declaracion de variables para cada color R G B-----*/
int rled = 11; // Pin PWN 11 paraled rojo
int bled = 10; // Pin PWM 10 para led azul
int gled = 9; // Pin PWM 9 para led verde
/*----Declaracion de variables auxiliares-----*/
int i; // Variable para ciclos repetitivos
int repeat = 5; // Variables paracantidad limite de repeticiones
void setup() {
/*----- Se inicializan pines PWM como salida*/
pinMode(rled, OUTPUT);
pinMode(bled, OUTPUT);
pinMode(gled, OUTPUT);
}
void loop() {
for(i=0; i<repeat; i++) //Se repitela ejecución de la funcion rgbon() "repeat" veces
rgbon();
delay(1000); //Se espera 1 segundo
colors('y'); //Se enciende el LED en color amarillo (y de yellow)
delay(1000);
colors('o'); //Se enciende el LED en color naranko (o de orange)
delay(1000);
}
/*-----Funcion paramostrar colores principales cada 500 ms-----*/
void rgbon(){
analogWrite(rled,255); // 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,0); // Se apaga color azul
analogWrite(gled,255); // Se enciende color verde
delay(500); // Se esperan 500 ms
analogWrite(gled,0); // Se apaga colo verde
}
/*-----Funcion que permite escoger entre color amarillo, naranjo o rosado-----*/
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;
}
}
El objetivo del código es que el Led va a iluminarse al detectar al
elevador en movimiento así de un color el cual sería el rojo y para el
retroceso sería el color naranja así como hemos podido ver en el
código.
Sensor de humedad DHT22.
El objetivo de este sensor no es más que como he incluido en el
anterior componente, será precisamente de adorno ya que la
verdad no funcionaba como yo esperaba para que detectara la
humedad y si el ascensor sea donde sea que se encontrara bajara o
subiera. Aun así dejo el código a realizar y el diagrama de
ensamblaje.
En donde incluimos nuestro sensor de humedad DHT22.
Una vez realizado lo anterior pasaremos a mostrar el código:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include "DHT.h" //cargamos la librería DHT
#define DHTPIN 2 //Seleccionamos el pin en el que se conectará el sensor
#define DHTTYPEDHT22 //Se selecciona el DHT22(hay otros DHT)
DHT dht(DHTPIN, DHTTYPE); //Se inicia una variable que será usada por Arduino para comunicarse con el sensor
void setup() {
Serial.begin(9600); //Se inicia la comunicación serial
dht.begin(); //Se inicia el sensor
}
void loop() {
float h = dht.readHumidity(); //Se lee la humedad
float t = dht.readTemperature(); //Se lee la temperatura
//Se imprimen las variables
Serial.println("Humedad: ");
Serial.println(h);
Serial.println("Temperatura: ");
Serial.println(t);
delay(2000); //Se espera 2 segundos para seguir leyendo //datos
}
Pantalla LCD.
El objetivo de nuestra pantalla LCD será el indicar cuando nuestro
ascensor sube o baja mostrando un mensaje en pantalla de
“Suben” o “Bajan” según sea el caso indicado como anteriormente
se ha intentado realizar.
El diagrama de ensamblaje sería el siguiente:
En donde incluimos un pequeño capacitor para nuestra pantalla y
resistencias. Una vez realizado lo anterior procedo al código:
#include <LiquidCrystal.h>
LiquidCrystal lcd(7, 8, 9, 10, 11 , 12);
void setup() {
lcd.begin(16, 2);
lcd.setCursor(0,1);
lcd.write("Suben ");
}
lcd.begin(16, 2);
lcd.setCursor(0,1);
lcd.write("Bajan");
void loop() { }
Evidencia.
Al carecer del material suficiente como he indicadoal
principiodel documento me veo en la necesidad de omitir
este punto ya que no cuento con la herramienta necesaria
para poder mostrarle imágenes de como hubiese quedado
el proyecto una vez terminadoy ensambladocomo le
señalé anteriormente.
Conclusión.
El proyecto ha quedado“terminado” y al “realizarlo” pude ir
imaginandoel como quería, que agregaría o que quitaría ya
que como puede notarse no todoslos componentes son
necesarios dentro de este proyecto con (sin) Arduino y
también el cómo debería presentar mejor mis trabajos.
Pero al no poseer ninguna de esas cualidadeses el motivo
por el que escribo un poco entendiblementepara poder ser
evaluadoel día 9 de enero del 2015 si es que consigo una
calificaciónaprobatoria.
Sin nadamás que decir me despido con un cordial saludo.

Más contenido relacionado

La actualidad más candente

Ud simbologia neu
Ud simbologia neuUd simbologia neu
Ud simbologia neu
Avel·lí
 
Fluidos 13. turbinas hidraulicas
Fluidos 13. turbinas hidraulicasFluidos 13. turbinas hidraulicas
Fluidos 13. turbinas hidraulicas
Moskutorrr
 
El diodo entradas seniodales2
El diodo entradas seniodales2El diodo entradas seniodales2
El diodo entradas seniodales2
Monica Patiño
 
Electronica rectificadores
Electronica rectificadoresElectronica rectificadores
Electronica rectificadores
Velmuz Buzz
 
circuitos de polarizacion tipo h
circuitos de polarizacion tipo hcircuitos de polarizacion tipo h
circuitos de polarizacion tipo h
Catalina Lara
 

La actualidad más candente (20)

Ud simbologia neu
Ud simbologia neuUd simbologia neu
Ud simbologia neu
 
Fluidos 13. turbinas hidraulicas
Fluidos 13. turbinas hidraulicasFluidos 13. turbinas hidraulicas
Fluidos 13. turbinas hidraulicas
 
El diodo entradas seniodales2
El diodo entradas seniodales2El diodo entradas seniodales2
El diodo entradas seniodales2
 
Ejercicios resueltos en corriente alterna
Ejercicios resueltos en corriente alternaEjercicios resueltos en corriente alterna
Ejercicios resueltos en corriente alterna
 
Clasificacion y partes de una bomba centrifuga
Clasificacion y partes de una bomba centrifugaClasificacion y partes de una bomba centrifuga
Clasificacion y partes de una bomba centrifuga
 
Filtros Activos I
Filtros Activos IFiltros Activos I
Filtros Activos I
 
Circuito buck boost
Circuito buck boostCircuito buck boost
Circuito buck boost
 
Motores con capacitor
Motores con capacitorMotores con capacitor
Motores con capacitor
 
Teoría Básica de Diodos
Teoría Básica de DiodosTeoría Básica de Diodos
Teoría Básica de Diodos
 
1 intro automatas
1 intro automatas1 intro automatas
1 intro automatas
 
Electronica rectificadores
Electronica rectificadoresElectronica rectificadores
Electronica rectificadores
 
PLC: Simulador de PLC Logixpro
PLC: Simulador de PLC Logixpro PLC: Simulador de PLC Logixpro
PLC: Simulador de PLC Logixpro
 
Simbolos para-diagramas-electricos
Simbolos para-diagramas-electricosSimbolos para-diagramas-electricos
Simbolos para-diagramas-electricos
 
Control automatico-solucionario
Control automatico-solucionarioControl automatico-solucionario
Control automatico-solucionario
 
Transistor fet
Transistor fetTransistor fet
Transistor fet
 
Cuaderno 1 neumatica
Cuaderno 1 neumaticaCuaderno 1 neumatica
Cuaderno 1 neumatica
 
Practica 4
Practica 4 Practica 4
Practica 4
 
circuitos de polarizacion tipo h
circuitos de polarizacion tipo hcircuitos de polarizacion tipo h
circuitos de polarizacion tipo h
 
Rodamiento
RodamientoRodamiento
Rodamiento
 
Generalidades.pptx
Generalidades.pptxGeneralidades.pptx
Generalidades.pptx
 

Similar a Mini proyecto con (sin) arduino

Arduino: Reporte de diseño controlador acuario con Arduino
Arduino: Reporte de diseño controlador acuario con ArduinoArduino: Reporte de diseño controlador acuario con Arduino
Arduino: Reporte de diseño controlador acuario con Arduino
SANTIAGO PABLO ALBERTO
 
ACTUALIZACIÓN CIENTÍFICO DIDÁCTICA PARA PROFESORES DE TECNOLOGÍA_2022-ARDUINO...
ACTUALIZACIÓN CIENTÍFICO DIDÁCTICA PARA PROFESORES DE TECNOLOGÍA_2022-ARDUINO...ACTUALIZACIÓN CIENTÍFICO DIDÁCTICA PARA PROFESORES DE TECNOLOGÍA_2022-ARDUINO...
ACTUALIZACIÓN CIENTÍFICO DIDÁCTICA PARA PROFESORES DE TECNOLOGÍA_2022-ARDUINO...
ErickJonathanCorzoNe
 
Arduino
ArduinoArduino
Arduino
jjjss
 

Similar a Mini proyecto con (sin) arduino (20)

Proyecto cosa
Proyecto cosaProyecto cosa
Proyecto cosa
 
Proyecto Arduino
Proyecto ArduinoProyecto Arduino
Proyecto Arduino
 
Proyecto Hacienda Domotica
Proyecto Hacienda DomoticaProyecto Hacienda Domotica
Proyecto Hacienda Domotica
 
Componente rgb
Componente rgbComponente rgb
Componente rgb
 
Componente rgb
Componente rgbComponente rgb
Componente rgb
 
Componente rgb
Componente rgbComponente rgb
Componente rgb
 
Mini Proyecto Arduino
Mini Proyecto Arduino Mini Proyecto Arduino
Mini Proyecto Arduino
 
Repaso
RepasoRepaso
Repaso
 
Arduino: Reporte de diseño controlador acuario con Arduino
Arduino: Reporte de diseño controlador acuario con ArduinoArduino: Reporte de diseño controlador acuario con Arduino
Arduino: Reporte de diseño controlador acuario con Arduino
 
ACTUALIZACIÓN CIENTÍFICO DIDÁCTICA PARA PROFESORES DE TECNOLOGÍA_2022-ARDUINO...
ACTUALIZACIÓN CIENTÍFICO DIDÁCTICA PARA PROFESORES DE TECNOLOGÍA_2022-ARDUINO...ACTUALIZACIÓN CIENTÍFICO DIDÁCTICA PARA PROFESORES DE TECNOLOGÍA_2022-ARDUINO...
ACTUALIZACIÓN CIENTÍFICO DIDÁCTICA PARA PROFESORES DE TECNOLOGÍA_2022-ARDUINO...
 
Arduino
ArduinoArduino
Arduino
 
PDF OP DE KRISTI
PDF OP DE KRISTIPDF OP DE KRISTI
PDF OP DE KRISTI
 
Arduino
ArduinoArduino
Arduino
 
Arduino
ArduinoArduino
Arduino
 
Arduino
ArduinoArduino
Arduino
 
Manual de Arduino
Manual de ArduinoManual de Arduino
Manual de Arduino
 
Interfaz java y arduino
Interfaz java y arduinoInterfaz java y arduino
Interfaz java y arduino
 
Manual basico arduino
Manual basico arduinoManual basico arduino
Manual basico arduino
 
Interfaz visual basic 6 y arduino
Interfaz visual basic 6 y arduinoInterfaz visual basic 6 y arduino
Interfaz visual basic 6 y arduino
 
Interfaz visual basic 6 y arduino
Interfaz visual basic 6 y arduinoInterfaz visual basic 6 y arduino
Interfaz visual basic 6 y arduino
 

Más de Akashi Yuurei

Archivo recopilatorio
Archivo recopilatorioArchivo recopilatorio
Archivo recopilatorio
Akashi Yuurei
 
16. 10 personajes históricos de la computación
16.  10 personajes históricos de la computación16.  10 personajes históricos de la computación
16. 10 personajes históricos de la computación
Akashi Yuurei
 

Más de Akashi Yuurei (20)

Archivo recopilatorio
Archivo recopilatorioArchivo recopilatorio
Archivo recopilatorio
 
17. red wi fi
17.  red wi fi17.  red wi fi
17. red wi fi
 
16. red de area local
16.  red de area local16.  red de area local
16. red de area local
 
15. servidor php
15.  servidor php15.  servidor php
15. servidor php
 
14. servidor my sql
14.  servidor my sql14.  servidor my sql
14. servidor my sql
 
13. servidor http
13.  servidor http13.  servidor http
13. servidor http
 
12. servidor ftp
12.  servidor ftp12.  servidor ftp
12. servidor ftp
 
11. servidor dhcp
11.  servidor dhcp11.  servidor dhcp
11. servidor dhcp
 
10. protocolos de enrutamiento
10.  protocolos de enrutamiento10.  protocolos de enrutamiento
10. protocolos de enrutamiento
 
9. subneteo
9.  subneteo9.  subneteo
9. subneteo
 
8. estandares ieee y ansi
8.  estandares ieee y ansi8.  estandares ieee y ansi
8. estandares ieee y ansi
 
7. red punto a punto, estrella y clasificacion de direcciones ip
7.  red punto a punto, estrella y clasificacion de direcciones ip7.  red punto a punto, estrella y clasificacion de direcciones ip
7. red punto a punto, estrella y clasificacion de direcciones ip
 
6. cable directo, cruzado y rollover
6.  cable directo, cruzado y rollover6.  cable directo, cruzado y rollover
6. cable directo, cruzado y rollover
 
5. dispositivos de expansion
5.  dispositivos de expansion5.  dispositivos de expansion
5. dispositivos de expansion
 
4. topologias
4.  topologias4.  topologias
4. topologias
 
3. medios de transmision
3.  medios de transmision3.  medios de transmision
3. medios de transmision
 
2. clasificacion de redes
2. clasificacion de redes2. clasificacion de redes
2. clasificacion de redes
 
1. antecedentes de internet
1. antecedentes de internet1. antecedentes de internet
1. antecedentes de internet
 
Archivo recopilatorio
Archivo recopilatorioArchivo recopilatorio
Archivo recopilatorio
 
16. 10 personajes históricos de la computación
16.  10 personajes históricos de la computación16.  10 personajes históricos de la computación
16. 10 personajes históricos de la computación
 

Último

Concepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptxConcepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptx
Fernando Solis
 
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
EliaHernndez7
 
Proyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdfProyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdf
patriciaines1993
 
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptxRESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
pvtablets2023
 
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdfNUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
UPTAIDELTACHIRA
 

Último (20)

Concepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptxConcepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptx
 
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfFeliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
 
Posición astronómica y geográfica de Europa.pptx
Posición astronómica y geográfica de Europa.pptxPosición astronómica y geográfica de Europa.pptx
Posición astronómica y geográfica de Europa.pptx
 
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptPINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
 
semana 4 9NO Estudios sociales.pptxnnnn
semana 4  9NO Estudios sociales.pptxnnnnsemana 4  9NO Estudios sociales.pptxnnnn
semana 4 9NO Estudios sociales.pptxnnnn
 
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
 
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPC
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPCTRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPC
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPC
 
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docxPLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
 
Interpretación de cortes geológicos 2024
Interpretación de cortes geológicos 2024Interpretación de cortes geológicos 2024
Interpretación de cortes geológicos 2024
 
Proyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdfProyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdf
 
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
 
Power Point E. S.: Los dos testigos.pptx
Power Point E. S.: Los dos testigos.pptxPower Point E. S.: Los dos testigos.pptx
Power Point E. S.: Los dos testigos.pptx
 
Factores que intervienen en la Administración por Valores.pdf
Factores que intervienen en la Administración por Valores.pdfFactores que intervienen en la Administración por Valores.pdf
Factores que intervienen en la Administración por Valores.pdf
 
Usos y desusos de la inteligencia artificial en revistas científicas
Usos y desusos de la inteligencia artificial en revistas científicasUsos y desusos de la inteligencia artificial en revistas científicas
Usos y desusos de la inteligencia artificial en revistas científicas
 
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptxRESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
 
activ4-bloque4 transversal doctorado.pdf
activ4-bloque4 transversal doctorado.pdfactiv4-bloque4 transversal doctorado.pdf
activ4-bloque4 transversal doctorado.pdf
 
Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024
 
SESION DE PERSONAL SOCIAL. La convivencia en familia 22-04-24 -.doc
SESION DE PERSONAL SOCIAL.  La convivencia en familia 22-04-24  -.docSESION DE PERSONAL SOCIAL.  La convivencia en familia 22-04-24  -.doc
SESION DE PERSONAL SOCIAL. La convivencia en familia 22-04-24 -.doc
 
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdfNUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
 

Mini proyecto con (sin) arduino

  • 1. Colegio de EstudiosCientíficosy TecnológicosPlantel Tecámac Asignatura: Instala y Configura AplicacionesMóviles Alumno:Noe AldairFrancisco Cruz Profesor: René DomínguezEscalona Mini Proyecto con (sin) Arduino
  • 2. Introducción. Realizareste tipo de trabajo suele ser un poco complicado al no poseer el tipo de material suficiente como para presentarlo al profesor, entonces al no poseer el Arduino Uno ya que en mi equipoestá utilizándolootra persona decidí crear este documento con lo necesario para yo poder realizar mi proyecto según como lo haría y en que beneficiaríao que resultaría afectado. Espero al no tener el material ni la documentación suficiente que este trabajo vaya a valer menos de lo indicadopero la verdad es que no quiero reprobar la materia por eso es que lo hago además de conocer otras formas de cómo utilizarel Arduino UNO. Este documentoNO posee ningún video tutorial ya que, como mencioné anteriormente no cuento con Arduino UNO para realizarlo y en su lugar he reemplazadolo que sería la evidenciapor imágenes y diagramas del cómo debería ser armado y realizadoel proyecto. Sin nadamás que decir y esperando acepte el trabajo comienzo.
  • 3. Objetivo. El objetivode este proyecto con (sin) Arduino es el de crear un elevadorcomo se ha intentadoanteriormente pero ésta vez controladopor un control remoto y sensible a la humedad. Como dije anteriormente en este proyecto intento hacer lo que de verdad haría y para ser sincero no voy a intentarnadaque no pueda hacer y al creer que este proyecto es sencillopor eso es por lo que me arriesgo a intentarloy antesde una calificaciónde cero esperar alguna décima extra o alguna calificaciónpara el proyecto y no dejarlo como no entregado. A pesar de haberloentregado fuera de tiempo me dispongo a realizarlo para que si es que tengo una calificación aprobatoriaen el examen sea posteriormente revisado en slideshare.net y pueda ser contado para evaluación. Ahora que he tratado de realizar este proyecto pienso yo que es posible y el realizarlo posiblementeno cueste mucho trabajo;incluyendolos cinco componentes como es debido hacer el mejor esfuerzo porque salga todo bien y sin nada más que agregar doy paso a el proyecto.
  • 4. Componentesy lista del material. Para empezar con éste proyecto es necesario agregar que necesitaremos los siguientes componentes, daré la lista de todo el material que será ocupado: - Placa ArduinoUNO - Cable USB - Un Protoboard y en caso de ser pequeña:dos. - Motor a pasos bipolar - Potenciómetro - 4 Resistenciasde 10k - 5 Resistenciasde 2k - 1 Resistencia de 50k - 2 Botones - Luces LED - LED Negro - LED RGB - Sensor de humedad DHT22 - PantallaLCD 1602ª - Hilo resistente - Poleas realizadasmanualmente Al no poseer el material adecuadohe optadopor buscar en internet el material específico para poder realizar lo que sería el proyecto entonces solo se requiere lo anterior para poder comenzar con ello.
  • 5. Motor a pasos. El motor a pasos es ocupado para, como su nombre lo dice, ser usado como un motor que será el que eleve el ascensor o lo haga descender. Al estar enlazado con las poleas realizadas a mano o reutilizando un cartucho de tinta para impresora puede ser de utilidad para que el motor no se atore en donde no debe y siga su camino, sumado al hilo o cable que le hemos puesto no debe ser difícil la ejecución. El diagrama de cómo debe ir cableado será el siguiente:
  • 6. Debo aclarar que no vamos a utilizar todos los pines y si en los demás diagramas vemos enchufados pines que ya hemos ocupado hay que recorrerlo y el código será modificado. Una vez comentado aquello mostraré el código: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 /* Mover motores paso a paso con Arduino Tutorial en: http://diymakers.es/mover-motores-paso-paso-con-arduino/ */ #include <Stepper.h> //Importamos la librería para controlar motores paso a paso #define STEPS 200 //Ponemos el número de pasos que necesita para dar una vuelta. 20 // Ponemos nombre al motor, el número de pasos y los pins de control Stepper stepper(STEPS, 8, 9, 10, 11); //Stepper nombre motor (número de pasos por v void setup() { // Velocidad del motor en RPM stepper.setSpeed(100); } void loop() { //Girar una vuelta entera en un sentido stepper.step(200); delay(500); //Pequeña pausa //Girar una vuelta entera en sentido contrario stepper.step(-200); delay(500); //Pequeña pausa } Lo que el código logrará será hacer que el motor se mueva en una dirección dando una vuelta completa para así el ascensor ser elevado y al llegar ahí dar la misma vuelta en sentido contrario.
  • 7. Control Remoto. Lo que logrará el control remoto será en caso de que nuestros botones se vean afectados pueda ser utilizado el control remoto o viceversa. El control podrá lograr hacer al motor a pasos dar la vuelta en el sentido en que la hemos guiado, detenerlo o hacer que haga su recorrido en sentido contrario. El diagrama de armado es el siguiente: En donde usaremos la luz led para indicar que el control está funcionando y a que componente está siendo utilizado, aunque para ello el código tiene que ser modificado.
  • 8. Una vez realizado lo anterior paso a mostrar el código: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 // Cantidad de pulsos #define TRAIN_LENGTH 32 // En microsegundos #define LOW_LIMIT 600 #define HIGH_LIMIT 1800 #define INIT_LIMIT 4000 #define IN 2 #define LED 13 long start, delta = 0; uint32_t value; int pos = 0; boolean has_value = false; unsigned int key[10]; void inputPin() { noInterrupts(); if (has_value) return; if (digitalRead(IN) == HIGH) { start = micros(); } else { delta = micros() - start; if (delta < LOW_LIMIT) { value <<= 1; value |= 1; ++pos; } else if (delta < HIGH_LIMIT) { value <<= 1; value |= 0; ++pos; } else if (delta > INIT_LIMIT) { value = 0; pos = 0; } if (pos == TRAIN_LENGTH) { has_value = true; } } interrupts(); } void setup() { key[0] = 0x9768; key[1] = 0xCF30; key[2] = 0xE718; key[3] = 0x857A; key[4] = 0xEF10; key[5] = 0xC738;
  • 9. 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 key[6] = 0xA55A; key[7] = 0xBD42; key[8] = 0xB54A; key[9] = 0xAD52; Serial.begin(115200); pinMode(IN, INPUT); pinMode(LED, OUTPUT); digitalWrite(LED, LOW); attachInterrupt(0, inputPin, CHANGE); } void loop() { int i; if (has_value) { Serial.print("V: "); Serial.println(value & 0x0000FFFF, HEX); i = 0; while(i<10 && (key[i] != (value & 0x0000FFFF))) ++i; Serial.println(i); while(i--) { digitalWrite(LED, HIGH); delay(400); digitalWrite(LED, LOW); delay(200); } has_value = false; pos = 0; } } En donde nuestro control remoto estará funcionando como esperamos y después sea dirigida la señal al componente adecuado.
  • 10. Led RGB. El objetivo de incluir este Led es, creo yo mero adorno y también un indicador que señalará si el ascensor está subiendo o bajando pintándose de un color al subir y otro al bajar. El diagrama de ensamblado sería el siguiente: En donde incluiremos resistencias y el Led para nuestro propósito, así al subir el ascensor siendo controlado por nuestro control o botones se iluminará de un color y al bajar cambiará. Una vez realizado lo anterior procedo a mostrar el código del componente: /*-----Declaracion de variables para cada color R G B-----*/ int rled = 11; // Pin PWN 11 paraled rojo int bled = 10; // Pin PWM 10 para led azul int gled = 9; // Pin PWM 9 para led verde /*----Declaracion de variables auxiliares-----*/ int i; // Variable para ciclos repetitivos int repeat = 5; // Variables paracantidad limite de repeticiones void setup() { /*----- Se inicializan pines PWM como salida*/ pinMode(rled, OUTPUT);
  • 11. pinMode(bled, OUTPUT); pinMode(gled, OUTPUT); } void loop() { for(i=0; i<repeat; i++) //Se repitela ejecución de la funcion rgbon() "repeat" veces rgbon(); delay(1000); //Se espera 1 segundo colors('y'); //Se enciende el LED en color amarillo (y de yellow) delay(1000); colors('o'); //Se enciende el LED en color naranko (o de orange) delay(1000); } /*-----Funcion paramostrar colores principales cada 500 ms-----*/ void rgbon(){ analogWrite(rled,255); // 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,0); // Se apaga color azul analogWrite(gled,255); // Se enciende color verde delay(500); // Se esperan 500 ms analogWrite(gled,0); // Se apaga colo verde } /*-----Funcion que permite escoger entre color amarillo, naranjo o rosado-----*/ 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; } } El objetivo del código es que el Led va a iluminarse al detectar al elevador en movimiento así de un color el cual sería el rojo y para el retroceso sería el color naranja así como hemos podido ver en el código.
  • 12. Sensor de humedad DHT22. El objetivo de este sensor no es más que como he incluido en el anterior componente, será precisamente de adorno ya que la verdad no funcionaba como yo esperaba para que detectara la humedad y si el ascensor sea donde sea que se encontrara bajara o subiera. Aun así dejo el código a realizar y el diagrama de ensamblaje. En donde incluimos nuestro sensor de humedad DHT22. Una vez realizado lo anterior pasaremos a mostrar el código: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 #include "DHT.h" //cargamos la librería DHT #define DHTPIN 2 //Seleccionamos el pin en el que se conectará el sensor #define DHTTYPEDHT22 //Se selecciona el DHT22(hay otros DHT) DHT dht(DHTPIN, DHTTYPE); //Se inicia una variable que será usada por Arduino para comunicarse con el sensor void setup() { Serial.begin(9600); //Se inicia la comunicación serial dht.begin(); //Se inicia el sensor } void loop() { float h = dht.readHumidity(); //Se lee la humedad float t = dht.readTemperature(); //Se lee la temperatura //Se imprimen las variables Serial.println("Humedad: "); Serial.println(h); Serial.println("Temperatura: "); Serial.println(t); delay(2000); //Se espera 2 segundos para seguir leyendo //datos }
  • 13. Pantalla LCD. El objetivo de nuestra pantalla LCD será el indicar cuando nuestro ascensor sube o baja mostrando un mensaje en pantalla de “Suben” o “Bajan” según sea el caso indicado como anteriormente se ha intentado realizar. El diagrama de ensamblaje sería el siguiente: En donde incluimos un pequeño capacitor para nuestra pantalla y resistencias. Una vez realizado lo anterior procedo al código: #include <LiquidCrystal.h> LiquidCrystal lcd(7, 8, 9, 10, 11 , 12); void setup() { lcd.begin(16, 2); lcd.setCursor(0,1); lcd.write("Suben "); } lcd.begin(16, 2); lcd.setCursor(0,1); lcd.write("Bajan"); void loop() { }
  • 14. Evidencia. Al carecer del material suficiente como he indicadoal principiodel documento me veo en la necesidad de omitir este punto ya que no cuento con la herramienta necesaria para poder mostrarle imágenes de como hubiese quedado el proyecto una vez terminadoy ensambladocomo le señalé anteriormente. Conclusión. El proyecto ha quedado“terminado” y al “realizarlo” pude ir imaginandoel como quería, que agregaría o que quitaría ya que como puede notarse no todoslos componentes son necesarios dentro de este proyecto con (sin) Arduino y también el cómo debería presentar mejor mis trabajos. Pero al no poseer ninguna de esas cualidadeses el motivo por el que escribo un poco entendiblementepara poder ser evaluadoel día 9 de enero del 2015 si es que consigo una calificaciónaprobatoria. Sin nadamás que decir me despido con un cordial saludo.