Buenas tardes, estoy en un bucle y no doy salido de él, tengo un código para hacerlo siguiente:
con un pulsador, si no está activado al principio que me ponga una frase, si le doy al botón y lo mantengo que me haga una cuenta de tanto por ciento y si lo suelto que me ponga descarga fallida y con un delay se vuelva al principio. no sé si me he explicado, pero os dejo el código a ver si me podeis echar una mano. un saludo y muchas graciasde antemano.
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
const int boton = 8;
const int ledPin = 13;
int valor;
int contador = 0;
int estadoanteriorboton = 0;
int validarPar = contador % 2;
int i = 1;
void setup() {
Serial.begin(9600);
lcd.begin(16, 2);
pinMode(ledPin, OUTPUT);
pinMode(boton, INPUT);
lcd.print("Central de Datos");
lcd.setCursor(0, 1);
lcd.print("Pulsar para Descargar");
}
void loop() {
valor = digitalRead(boton);
if ((valor == HIGH) && (estadoanteriorboton == HIGH)) {
contador++;
lcd.clear();
lcd.setCursor(5 , 0);
lcd.print(i++);
lcd.print("%");
Serial.print("yo");
delay(1000);
}
estadoanteriorboton = valor;
if ((valor == LOW) && (estadoanteriorboton == HIGH)) {
int i = 1;
Serial.print("yoyo");
lcd.clear();
lcd.print("descarga fallida");
delay(1000);
asm("jmp 0x0000");
}
otro.ino (933 Bytes)