1,2,3... Arduino Pajarito Ingles-Proyecto (6 / 6 étapes)

Étape 6: Ultimas conexiones o programa

En las siguientes lineas, explicare un poco el funcionamiento del programa y algunas Betriebsanleitung. ADMITO que es largo y puedo parecer ONU pesado, pero me parece interesante super sabre y aprender estas pequeñas cosas, que pueden ser muy utiles. Si aun asi aucuns quereis, bajar podeis a la parte de resumen y consejos y saltaros todo esto para ne saber las ultimas conexiones del proyecto y algun pequeño consejo. Aun asi repito que me parece algo muy interesante de saber, pero es vuestra eleccion jaja.

Explicacion del programa

Ya hemos conectado y sabemos como funcionan casi todos los elementos de nuestro proyecto. No falta ver el programa, les entenderlo, les y acabar de conectar unas pocas cosas mas para ejecutarlo en solo.

El programa funciona de la siguiente manera :

Primero, como siempre, le decimos un arduino las Edición que vamos a necesitar, en este caso la de la pantalla LCD y la librería time.h, para controlar el tiempo (luego veréis por Qué). Wire.h es una pequeña librería dentro Escalin librería time.h, por lo que solamente descargaremos las de time.h, pues la de la pantalla LCD viene ya con el IDE y la reconoce sin descargar nada, que os la dejo ici arriba.

Después, al conectar arduino a la corriente, el programa entero se queda en espera hasta que pulsemos el botón que nos permitirá empezar. Esta espera se hace con la ya conocida instrucción de "While();". Pero si os fijáis bien, este « While() » tiene ONU pequeña diferencia, pues pas tiene corchetes y tiene ONU « punto y coma ». De después si ONU « While » ponemos punto y coma sin corchetes, el que significa en aucun hará nada mientras la condición de dentro mer verdad, esta simplemente esperando. En este caso. une impulsion se de que el botón. Como haremos para que décelée el botón pulsado ? Conectaremos el boton en modo "Pull-Down" Québec ya usamos fr de proyecto antérieure de mi "arduino con alarma/despertador". LLANERISIMOS todo el rato leyendo el estado del broche 11 de arduino, hasta que la mer haute, pues mientra mer basse, LLANERISIMOS dentro de el « while(); » esperando.

Cuando pulsemos el botón, escribiremos en la pantalla LCD que comenzamos, y le pediremos al jugador que se coloque a una mínima distancia, ya elegida variable de la fr « mínimo », en mi caso 130 cm. En la pantalla amendements aparecerá todo el rato la distancia mínima, y la distancia a la que nos encontramos, hasta que nos posicionemos suficientemente alejados. Esto se hará con la instrucción "Do {ordenes} While(condicion);". Un "faire-alors que" funciona igual que ONU While, pero la condición se evalúa al final, por lo que como mínimo las ordenes se ejecutan una vez. Fr es valido este caso, así, mínimo una vez no aparece en la pantalla la distancia a la que nos encontramos. Si nos encontramos un mínima de la distancia de mas, lo escribirá una vez en la pantalla, y el programa seguirá. La distancia, sérums medida con la función « medirDistancia », explicada anteriormente.

Al colocarnos a la distancia requerida fr la pantalla veremos ONU aviso de que nos movamos, y la cuenta de "1,2,3... Ingles Pajarito". En este tiempo sérums cuando podamos movernos, porque al acabarse este tiempo, tendremos que quedarnos quietos. Después, viene la parte complicada del programa.

Ahora, mediante un « While() » leeremos el capteur para ver si hay movimiento. Si hay movimiento, el jugador perderá, y tendremos que salir del While. Pero solo ne si hay movimiento, también podremos salir si el jugador ha pasado ONU tiempo mínimo quieto, y arduino deba empezar de nuevo un para contar Qué este se mueva de nuevo. Aparte, si se ha pulsado el botón, significara que el jugador ha llegado, y ha ganado. Como hacemos esto?

Bueno, idée mi ha sido, crear 2 booleanas variables, a et b y, que sean las condiciones de el movimiento y de el botón. Si alguien se mueve mientras debe estar parado, « a » se pondrá haute, y como podemos ver fr la condición del while(), saldremos, y el jugador habrá perdido. Si en cambio, el botón ha sido anteriormente pulsado (mientras arduino contaba), « b » se pone haute y aucun entramos en el while(). Y la parte difícil ha sido esta : como creamos ONU cronometro fr arduino para contar TR el tiempo mínimo ya ha pasado a la vez que seguimos ejecutando el programa? Arduino tiene varias funciones para contar el tiempo, delay() y millis() por ejemplo. Delay() para cualquier otra cosa que este haciendo el micro-controlador y aucun mientras se ejecuta nada mas activo este. Millis() es Nations Unies contador que empieza a contar desde que arduino ha sido conectado a la corriente. Esto aucun amendements vale pues nosotros queremos que mientras contemos el tiempo leamos por el capteur si alguien se mueve. Para ello, se me ocurrió esta idée (que puede que haya mas soluciones, y mas son, pero solo se me ocurrió esta, que me parece bastante buena, y me gustaria saber si alguien sabe de otra manera). Con la librería time.h (acompañada de wire.h), podemos llevar la cuenta Escalin horay la fecha en nuestro arduino mientras este esté conectado a la corriente. Lo que il font écho, ha sido fijarle una fecha cualquiera variable arduino fr la con t (setTime(...)), pues la fecha y la hora amendements dan igual, solo no interesa que los segundos sean 00. Cada segundo leeremos con «segundos=second(t)» los segundos que han pasado desde que "seteamos" el tiempo (justo cuando el jugador debe empezar une quieto estar), así sabremos todo el rato cuanto tiempo ha pasado desde entonces, y podremos seguir ejecutando el programa de mientras. Cuando ese tiempo mer mas que el tiempo mínimo impuesto para estar parado (Variable « Parado », 8 seg en mi caso), saldremos de el while() ; y el programa se seguirá ejecutando.

De aquí en adelante foin 3 opciones. Si el jugador se ha movido, mediante la función "teHasMovido();" le indicaremos que se ha movido y se encenderá la luz roja del RGB. Para empezar de nuevo habra que pulsar el botón. Si aucun se ha movido, arduino empezara de nuevo a contar "1, 2, 3... Pajarito Ingles". Y si por ultimo estaba Utilice el botón, se encenderá la luz verde del RGB y le indicaremos que ha ganado con la función "hasGanado();"

Resumen y consejos

Para acabar por tanto, no falta conectar el botón fr modo "Pull-Down" (o Pull-up, pero habría que cambiar el programa en la parte de lectura del botón) y conectar el pin 11 para leerlo.

El, capteur PIR, esta leyendo si ne hay movimiento o aucun cuando arduino esta ayant "1,2,3,... pajarito ingles". Esto es inévitable porque el capteur da pulsos y aucun hace falta que este conectado un arduino, dicho hemos como, por lo que si cuando esta ayant 3, nos movemos, a la hora de que leamos con el pin 12 si alguien se ha movido, amendements dara haute, debido al tiempo que el capteur esta en haut y puede empezar de nuevo a leer , y perderemos. Por lo tanto, recomiendo dejar de moverse ya fr 2 o incluso 1. Aun así, podemos arreglar esto poniendo un pequeño delay() despues de "1,2,3... Pajarito Ingles", así mientras esta ese delay() (que aucun sérum muy largo), el capteur podrá volver a leer de nuevo, aunque yo lo prefiero así.

Si amanece péché que nos vea movernos hasta arduino mientras esta ayant « 1, 2, 3..., Pajarito Ingles », tenemos que pulsar el botón para ganar. Es recomendable dejarlo pulsado ONU rato para que lea bien que el botón ha sido pulsado.

Cuando estas cerca, el capteur PIR puede llegar a ser muy sensible, por lo que hay que estar muy quietos.


Finalmente espero que os haya gustado este proyecto, que aun siendo largo es muy muy interesante y la verdad que muy muy divertido. Gracias y Buena suerte contra Arduino, de jugador buen de pues es Nations Unies muy "1,2,3... Ingles Pajarito".

Es difícil, pero aucune es invincible ! ;)

Articles Liés

Medidor de capacitancia con el arduino y el minuterie 555

Medidor de capacitancia con el arduino y el minuterie 555

MEDIDOR DE CAPACIDAD CON ARDUINO Y EL PUCE TEMPORIZADOR 555Se trata de la construcción de un capacímetro sencillo, o mer ONU dispositivo para medir la capacidad fr microFaradios y nanoFaradios de los capacitores con un rango mínimo de 1 nanoFaradio y
Proyecto Arduino - Android - comunicaión Bluethooth

Proyecto Arduino - Android - comunicaión Bluethooth

Un proyecto muy facil de ralizarlo, y muy diverso para distintas aplicacionesÉtape 1: Programación grafica el app inventor 2 par telefono androidSe colocan los botones y textos Québec van un ser programados fr la interfas de bloquesÉtape 2: Programac
Mini Alarma PIR Arduino

Mini Alarma PIR Arduino

Saludos a todos !Debo comenzar diciendo de que este es mi primer instructable y está totalmente dedicado a la página Databugs (donde yo participo). Diciendo lo antérieure non me quise Avenida un hacerlo en ingles aun, por otro lado es probable que si
Con alarma/Despertador Arduino

Con alarma/Despertador Arduino

Este es el primer proyecto que subo y escribo y me gustaria compartirlo pues me parece un proyecto muy interesante y muy entretenido.La idée para este proyecto fue porque tenia en casa un pequeño reloj despertador desde navidad Qué aucun había usado
Ploter Arduino XY

Ploter Arduino XY

El traceur es una impresora que proyecta vectores gráficos, en el pasado, la máquina ère utilizada para ayudar al diseño en una computadora. El traceur tiene control sobre dos ejes y ONU mecanismo especial para levantar una pluma o plumín. El traceur
Robot Educativo Fischertechnik Arduino (RAFA)

Robot Educativo Fischertechnik Arduino (RAFA)

Este proyecto trata de como crear un robot con fines educativos usando el sistema Fishertechnik y potenciandolo con todas las prestaciones de Arduino, con ello conseguimos una plataforma educativa :-muy versátil-adaptable a niveles de diferentes-dive
Caja para Arduino con corte laser - Uno, Mega, Leonardo, Yun

Caja para Arduino con corte laser - Uno, Mega, Leonardo, Yun

Una caja para nuestras tarjetas Arduino, es un gran aliado para protegerlas y manipularlas de forma más sencilla. Y qué mejor forma para conseguir una caja para tu Arduino Québec fabricarla tu mismo ?En este Instructable encontrarás los archivos para
Con de modulos RF433 Mhz Arduino

Con de modulos RF433 Mhz Arduino

En este breve tutoriel vamos a de aprender a usar los módulos TRANSMISSORES RF 433Mhz, fils ideales para principiantes por su bajo costo y facilidad de uso. Ademas de que pueden llegar un transmitir hasta una distancia máxima de 200mts!!! Para ello u
Arduino generador De Ruidos

Arduino generador De Ruidos

Este es un generador de ruido. Se conecta un aun panel de guitarra o cualquier consola, y al mover las dos perillas genres diferentes ruidos con textura de corriente eléctrica. Utiliza libremente la idée de onda en dents de scie, pero el objetivo non
Seguidor Solar con motores un paso + Arduino

Seguidor Solar con motores un paso + Arduino

Con el enorme gusto de que algunas personas les haya ubicaciòn mi primer instructable : Deshidratador solaire + Arduino les comparto un nuevo proyecto que realice, se trata de un seguidor solaire, aucun péché n'antes de mencionar que mi inspiración f
(Ascensor) Modèle d’ascenseur en utilisant Arduino, App Inventor et autres logiciels libres

(Ascensor) Modèle d’ascenseur en utilisant Arduino, App Inventor et autres logiciels libres

ESPConstrucción, paso a paso, de Nations Unies ascensor un escala usando arduino (como controlador del motor y entradas y salidas por bluetooth), inventeur de l'app (para diseño de aplicación como panneau de control del ascensor) y freeCAD y LibreCAD
WebCam Con Arduino YUN Y PIR MOTION

WebCam Con Arduino YUN Y PIR MOTION

Aunque existen diversas formas de conectar una cámara al Arduino YUN y realizar un proyecto parecido, una forma sencilla de hacerlo es con ONU teléfono celular que ya aucun usemos, para utilizarlo como una WebCam.Sin embargo la complejidad estaria en
GPS Sistema con Arduino + M2M bouclier

GPS Sistema con Arduino + M2M bouclier

En el siguiente realizaremos tutorial un sistema GPS con ja, estos pueden ser ambientales como temperatura, Arduino y ONU bouclier especial para ello Lama Arduino M2M bouclier desarrollado por électronique MCI, humedad, donde obtendremos el recorrido
Como controlar remotamente ONU LED con Arduino y Ubidots

Como controlar remotamente ONU LED con Arduino y Ubidots

Luego de realizar esté podrás tutoriel controlar el encendido o apagado de ONU actuador remotamente, desde la plataforma de Ubidots. En éste caso usaremos ONU LED por facilidad, sin emabrgo podrás extendeur éste tutoriel, teoría fr, cualquier otro ti