En este NOVENO capítulo aprenderemos a controlar los sensores analógicos para encender un led dependiendo de la luz que reciba un sensor de luz.
En este punto debes tener el siguiente circuito:
Código del programa:
int analogInPin = A0;
int analogValue = 0;
int led = 13;
void setup() {
Serial.begin(9600); // Sacar por pantalla
pinMode(led, OUTPUT);
}
void loop() {
analogValue = analogRead(analogInPin);
Serial.println(analogValue);
delay(10);
if (analogValue < 30) {
digitalWrite(led, HIGH);
} else {
digitalWrite(led, LOW);
}
}
Material para el curso:
Guia de materiales
Transcripción del capítulo:
¿Como estáis chicos y chicas? bienvenidos al capítulo 9 del curso de arduino mi nombre es édgar pons y hoy vamos a hablar sobre sensores analógicos y entradas analógicas este punto es muy chulo porque la mayoría de sensores que nos vamos a encontrar habitualmente son analógicos. Analógicos quiere decir que no son los estos sensores no dan valores de 1v a 5v sino que dan una gama de valores, por ejemplo aquí tenemos un sensor de presión y no te va a dar presión o presión sino que te va a dar el valor de la presión cuando nosotros empecemos a pulsar fuerte fuerte fuerte el valor va a incrementar y si soltamos va a decrecer pero no va a ser no tiene una forma cuadrada va a tener una forma sinosoidal y para más suave otros sensores que tenemos por ejemplo es este de presión tu puedes poner aquí un tubo y calcular la presión de agua calcular la presión del aire entonces esto te va a dar un valor de presión. Otro ejemplo sería el que vamos a hacer en este capítulo que es un sensor de luz que seguramente lo tendréis en vuestro pack de iniciación si os si habéis comprado un pack de estos de iniciación el clásico que hay en amazon os vendrán sensores de este tipo os dejo el enlace aquí abajo de packs que podéis compraros y nada vamos a empezar este circuito de aquí es muy simple y es el que utilizaremos hoy lo que tenemos es un sensor de luz en esta parte de aquí y una resistencia el proceso es muy simple los 522 por aquí llegan 5 voltios intentan pasar por el sensor de luz los sensores analógicos lo que hacen es dejar pasar más o menos corriente lo que son son resistencias variables tu por esta patita le pones voltaje y sale por el otro y la resistencia dependerá del sensor entonces el sensor de luz varia su resistencia dependiendo de la luz que hay.El sensor de presión varia su resistencia and dependiendo de la presión que hay y así la mayoría de ascensores lo que vamos a hacer nosotros va a ser lo siguiente nosotros tenemos aquí los 5 voltios y aquí tenemos el gene de los 5 voltios van hacia la resistencia variable esto es una resistencia, y esto quiere decir que varía esto será nuestro sensor y luego le ponemos aquí una resistencia para que no haya un cortocircuito y lo que nosotros cogeremos será en este punto de aquí esto entrará en él lo que queremos saber es cuánta electricidad hay en este punto el circuito es este de aquí como podéis ver aquí nosotros cogemos la información de este punto de aquí y esto se va al Analog. Dicho esto tenemos que montar en este circuito de aquí les va a quedar algo parecido a esto al final tenemos el sensor de luz la resistencia intentad que las patitas no toquen entre ellas y esto en el punto en medio va a entrar en el halloween ok esto como diría Ferran Adrià los reservamos y ahora vamos a ver el código abrimos un nuevo documento de arduino y nos sale esto nuestros amigos setup y nuestros amigos loop y empezaremos creando la primera variable recordad la variable int analog jean ping con esto indicaremos el pin antes lo que hacíamos era poner por ejemplo el pin 9 y siempre poner 9 en todo nuestro código pero es mucho más fácil y más comprensible para alguien que lo lea que cree es una variable que defina ese puerto por ejemplo en vez de poner a 13 para indicar el pin 13 que es donde normalmente está el led nosotros pondremos pues led una variable que sea el led entonces enciende led md enciende 13 porque es mucho más fácil por esto empezamos creando la variable analog impide pin que será a 0 a 0 si os fijáis en él en los pines analógicos es el primero de todos. Aquí le conectaremos el cable azul y será donde estará recibiendo la información y luego vamos a crear una variable para guardar la información que recibamos de este pin acordados que cuando cogíamos información de los pines digitales no salía pues sin 1 o 0 pero en este nos saldrán valores entre 0 y 1.023 así que lo vamos a guardar en un in que sea anna lo valió el valor del arado de momento lo ponemos a cero porque no tiene ningún valor pero tienes que ponerle uno luego setup que queremos pues lo queremos mostrar en pantalla pues vamos a indicar el setter que lo queremos mostrar en pantalla serial punto begin y la velocidad que normalmente se pone esta. Con esto podremos sacar por pantalla y luego en el loop el look que es lo primero que tenemos que hacer tenemos que guardar la información del jalón los valió el analog valió de aumentos cero pero queremos que sea la información que vayamos cogiendo del pin analógico así que vamos a poner analog read y esto en el el pin este de aquí. Aquí le estamos diciendo que el valor sea la lectura analógica del pin este de aquí del acero aquí podríamos poner ya lo sabéis a cero pero hemos creado una variable para que se entienda un poco lo que está lo que está pasando luego lo que vamos a hacer ahora será imprimir el valor que estamos recibiendo serial print n recordad que le leen es para que haga un salto de línea del valor de aquí y luego le ponemos un delay para que vaya un poco tranquilo y no nos salga pues muchísima información todo el rato por un delay puedes poner los 10 milisegundos y así era un poco más holgado. Esto lo conectamos en el jardín o miramos en herramientas que esté bien puesto es que no tenía yo el puerto puesto ahora sí tratamos que esté bien hay muchos errores que es que te cambian la placa te cambia el puerto lo conectas a otro usb tienes que revisar que esto esté bien vivo lo cargamos está subiendo y cuando acabe de subir miramos subiendo subiendo han subido monitor seria este valor 150 140 es el valor del sensor entonces si pongo el dedo encima puedes ver que tiende a 0 y si lo saco pues sube si iluminó sube y aquí estamos teniendo el valor que está recibiendo de este sensor que podemos hacer aquí bastante chulo podemos ver en herramientas el plotter es si pongo el dedo encima baja mucho el valor si enfoco una luz sube el valor y esto para qué nos sirve esto nos sirve para saber el valor actual por ejemplo todas estas en esta situación nosotros sabemos que tenemos un valor como por aquí un valor de 160 170 y cuando lo tapó el valor baja hasta 10 o hasta hasta hasta 20 lo que podemos hacer ahora es decirle que se encienda el led cuando este valor baje de 30 entonces tendremos un sensor del sensor de luz activara un led vamos a hacerlo. Lo que podemos hacer aquí es indicamos aquí arriba int y que el led sea obviamente el 13 porque es donde tenemos el led de nuestro arduino aquí vamos a indicar que el pin mod del led es output recordad que tenéis que decirle que es un output que emitirá señal y luego aquí abajo lo que haremos es unir y que le diremos if lo que vamos a hacer es si el analog valió el valor de este ano lo que está por debajo de que hemos dicho que cuando lo tapamos baja de baja hasta los 20 pues ponemos 30 si baja de los 30. Entonces ahora lo que está aquí dentro y lo que está aquí dentro que será pues iluminar el led digital wright escribir en el digital en el led entonces esto cuando baje de los 30 porque estaremos tapando el sensor escribirá en él o sea esta parte de aquí lo que hará es que cuando el valor del sensor de luz magia de 30 en el caso de que lo tapamos lo hace porque lo hemos visto encienda el led sino else abrimos corchetes digital wright lo ponemos en low si os fijáis está a partir de aquí tiene el espacio esta parte no esta parte tampoco lo que podemos hacer es pulsar command en mac y creo que es control en windows y te lo formatea todo para que sea más fácil de leer vale normalmente cuando hay un corchete la siguiente línea está un tabulada un poco para adentro esto en algunos sistemas de programación es obligatorio si no está así el programa peta y en otros sirve para que sea más fácil de leer ahora que lo tenemos todo bien vamos a ejecutar el programa y lo que deberá pasar si lo hemos hecho bien vamos a ver vamos a hacer el plotter ahora el valor está a mínimos de 130 tapamos el sensor y podéis ver que el led se ilumina cuando el valor baja de 30 entonces qué podemos hacer con esto. Pues esto sirve para prácticamente todos los casos de sensores analógicos por ejemplo aquí tengo este que es un sensor de presión lo que puedo hacer es quitar el negro puedo quitar el sensor de luz colocar el de presión y como podéis ver en pantalla el sensor de presión funciona al revés el sensor de luz por eso es tan importante que miréis por el monitor qué valor está cada sensor en este caso es cuando yo aprieto el valor incrementa o sea la resistencia es menor veis entonces ahora mismo el led se enciende cuando yo no he aprieto y cuando aprieta un poco se apaga si esto lo sumamos a los condicionales que hemos visto en el capítulo anterior podéis hacer cosas increíblemente maravillosas. Por ejemplo aquí podríamos hacer que un sensor de luz un sensor de presión activarse un motor o que un interruptor activase un motor o que un interruptor activase ciertas cosas recordad que el código este lo vais a encontrar en la página web édgar bones puntocom espero que os esté gustando el curso y aquí podéis encontrar el siguiente vídeo el siguiente capítulo del curso no olvidéis darle la aic suscribiros campanita seguir en las redes sociales aquí hay un vídeo muy guapo que ahondó en una línea menudo vídeo venga ciao