- Moderador
- #1
Bien, pues una vez que ya tenemos funcionando el botónm y el potenciometro vamos a ver el código que el controlador va a usar para sacarles partido.
El botón:
El botón cuando es pulsado deja pasar la tensión de 5V por lo que el valor de la lectura del pin digital o analógico donde lo hayamos conectado será 1023 (lectura analogica) o HIGH (lectura digital)
Pongo este sencillo código para ver como actua, lo voy comentando las lineas importantes:
¡¡¡ Fácil verdad !!!
El potenciometro:
Ahora es el turno del potenciometro, aqui estamos obligados a colocarlo en un puerto analogico para poder hacer una lectura escalada , desde 0 hasta 1023 (que corresponderían con los 5v, es decir con el potenciometro a la minima resistencia)
El código:
Bueno yo creo que hasta ahora esta todo muy facilito....¿alguna pregunta?
En el próximo capitulo utilizaremos la lectura del boton y potenciometro para manejarnos por un pequeño menu de ejemplo para que así cada uno pueda crearse sus menus a medida.
Un saludo.
El botón:
El botón cuando es pulsado deja pasar la tensión de 5V por lo que el valor de la lectura del pin digital o analógico donde lo hayamos conectado será 1023 (lectura analogica) o HIGH (lectura digital)
Pongo este sencillo código para ver como actua, lo voy comentando las lineas importantes:
Código:
//CAP3.1 Tutorial aTreef CBOX (Boton)
#include <Wire.h>
#include <LiquidCrystal_I2C.h>// Debemos instalar la libreria LiquidCrystal_I2C en la carpeta "libraries" del arduino IDE
LiquidCrystal_I2C lcd(0x27,16,2); // direccion i2c del LCD y columnas,lineas
byte pinboton=8; //declaramos que la variable pinboton es 8 porque es el pin donde lo hemos conectado
void setup()
{
pinMode(pinboton, INPUT);//Inidcamos que es en puerto 8 lo utilizaremos como una entrada
lcd.init();//Inicializamos el LCD
lcd.backlight();//Encendemos la luz
lcd.print(" CAP3. BOTON");
delay(2000);//Hacemos una pausa de 2 segundos
}
void loop()
{
if (digitalRead(pinboton)==HIGH)//Si la lectura del puerto 8 nos da una señal HIGH (5v) entonces esta el boton pulsado
{
lcd.setCursor(0,1);//Posicionamos cursor
lcd.print(" Boton pulsado ");
}
else //Sino nos da HIGH es que no esta pulsado...
{
lcd.setCursor(0,1);//Posicionamos cursor
lcd.print("Boton no pulsado ");
}
}
¡¡¡ Fácil verdad !!!
El potenciometro:
Ahora es el turno del potenciometro, aqui estamos obligados a colocarlo en un puerto analogico para poder hacer una lectura escalada , desde 0 hasta 1023 (que corresponderían con los 5v, es decir con el potenciometro a la minima resistencia)
El código:
Código:
//CAP3.2 Tutorial aTreef CBOX (Potenciometro)
#include <Wire.h>
#include <LiquidCrystal_I2C.h>// Debemos instalar la libreria LiquidCrystal_I2C en la carpeta "libraries" del arduino IDE
LiquidCrystal_I2C lcd(0x27,16,2); // direccion i2c del LCD y columnas,lineas
byte pinpot=A0; //declaramos que la variable pinpot es A0 porque es el pin Analógico 0 donde lo hemos conectado
void setup()
{
pinMode(pinpot, INPUT);//Inidcamos que es el puerto analogico 0 lo utilizaremos como una entrada
lcd.init();//Inicializamos el LCD
lcd.backlight();//Encendemos la luz
lcd.print("CAP3. Potenciome");//Solo nos caben 16 caracteres!!
delay(2000);//Hacemos una pausa de 2 segundos
}
void loop()
{
lcd.setCursor(0,1);//Posicionamos cursor
lcd.print(analogRead (pinpot)); //aqui hacemos la lectura del puerto donde tenemos el potenciometro, a medida que lo vayamos girando veremos como el valor va cambiando desde 0 hasta 1023
delay(200);//Pausa de 0,2 segundo
lcd.setCursor(0,1);
lcd.print(" ");//Limpiamos la segunda linea del lcd para volver a escribir el dato y que no se sobrepongan los numeros
}
Bueno yo creo que hasta ahora esta todo muy facilito....¿alguna pregunta?
En el próximo capitulo utilizaremos la lectura del boton y potenciometro para manejarnos por un pequeño menu de ejemplo para que así cada uno pueda crearse sus menus a medida.
Un saludo.
Última edición: