Objetivos
Kit de inicio para seguir el curso
.
Kit de inicio a mBlock
Para poder seguir este curso te recomendamos que compres nuestro kit de inicio mBlock.
Entradas analógicas y potenciómetros
Si habéis estado medianamente despiertos durante las últimas sesiones ya os podéis hacer una idea de lo que es una entrada analógica sin necesidad de que os lo contemos. Por si acaso, las entradas analógicas nos sirven para leer señales que tomen más de dos valores. ¿Cuántos? Pues 1024. ¿Por qué 1024? Cosas de bits… no le deis más vueltas. Y por supuesto, como viene siendo costumbre, con valores de 0 a 1023.
O sea que con ellas podemos leer señales que van mas allá de pulsado o no pulsado. Por ejemplo podemos leer la temperatura, la humedad o la luminosidad. O como en este caso, leer un potenciómetro.
En resumidas cuentas un potenciómetro es un dispositivo que tiene una parte que podemos girar y en función de la posición en la que lo coloquemos nos dará una señal de 0 a 1023. Nuestra placa tiene uno de color azul. Podéis probar a girarlo, si os apetece.
Podemos utilizarlo para controlar otros elementos en función del valor que nos dé el potenciómetro. En este caso vamos a usarlo para controlar el brillo de un led.
Programación
La idea es sencilla, queremos que el led brille en función de la posición del potenciómetro. O sea que podríamos simplemente dar al led el valor del potenciómetro. Para ello metemos el bloque «Leer potenciómetro» en el lugar en que escogemos el valor para uno de los leds RGB, por ejemplo el rojo. Y como queremos que tome siempre ese valor lo metemos todo dentro de un bloque «por siempre».
Si probáis a subir el programa veréis que funciona, que varía el brillo del led en función de cómo tengamos colocado el potenciómetro. Pero si lo observáis con detenimiento os daréis cuenta de que no funciona del todo bien. Si lleváis el potenciómetro al mínimo se pagará la luz. Hasta aquí bien. Pero al girarlo de nuevo veréis que una vez se enciende al tope vuelve a apagarse y empieza de nuevo el ciclo.
Esto no es lo que queremos. Lo que buscamos es que en un extremo del potenciómetro el led se apague y en otro se encienda por completo. Y por el camino pase por el resto de estados. Lo que está pasando es que el potenciómetro nos da 1024 valores, y el led puede tomar 256. O sea que cuando el potenciómetro pasa del 255, vuelve a empezar el ciclo como si empezásemos de 0 de nuevo.
Solucionar esto es muy sencillo. Si dividimos 1024 entre 256 el resultado es 4. O sea que el potenciómetro puede tomar 4 veces más valores que el led. Pues sencillamente podemos dividir entre 4 el el valor del potenciómetro y así tendremos 256 valores, igual que el led.
Ya podemos modificar el programa usando el bloque de «Operadores» «…/…» que sirve para hacer divisiones. Ahora sí, aprovechamos todo el giro del potenciómetro para controlar el brillo del led.
Aquí tenéis el vídeo:
Resumen de la sesión
En esta sesión hemos aprendido varias cosas importantes: