////progra2 mensaje interrupción en pantalla
#include <LiquidCrystal.h>
#include <Servo.h>
Servo servoMotor;
/*#define RS 12
#define EN 11
#define D4 10
#define D5 9
#define D6 8
#define D7 7*/
int n=0;
int a=180;
int t=10;
int inPin = 2;//progra2
volatile int State = LOW; //progra2
LiquidCrystal lcd(12,11,10,9,8,7); //Esto es igual a define en cada pin
//configuración
void setup(){
servoMotor.attach(3);//el servo siempre debe conectarse a un pin PMW
lcd.begin(16,2); // 16 columnas x 2 filas
pinMode(inPin, INPUT_PULLUP);//PIN de interrupción con PULLUP
attachInterrupt(digitalPinToInterrupt(inPin), escribir, CHANGE);
//display.setBrightness(0x0f); // Configura el brillo de la pantalla
}
void loop(){
lcd.setCursor(0,0);
lcd.print(" ");
for (n=0;n<=a;n++){ //el servo en sentido de las agujas del reloj
servoMotor.write(n);
//display.showNumberDec(n);
delay(t);
}
for (n=a;n>0;n--){ //el servo en contra del sentido de las agujas del reloj
servoMotor.write(n);
delay(t);
}}
void escribir(){
State = !State; //la variable de estado se niega #inverso
if (State == 0){
lcd.setCursor(0,0); //ejecuta si la variable de estado es igual a 0
lcd.print("Interrupcion");
lcd.print(n);
}
}
/*
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Valor: ");
lcd.print(a);
a++;
delay(1000);
// Limpia la pantalla y coloca el cursor en la posición (0, 0)
lcd.clear();
lcd.setCursor(0, 0);
// Imprime el mensaje y el valor de la variable
lcd.print("Nuevo Valor: ");
lcd.setCursor(0, 1);
lcd.print(a);
// Espera un poco antes de actualizar el valor (opcional)
delay(1000);
}
}
*/
/*n=0;
while (n<45){
//while (n=0;n<=180;n++){
servoMotor.write(n);
delay(50);
*/
/*
while (n<180){
//while (n=0;n<=180;n++){
servoMotor.write(n);
delay(50);
for (n=0;n<=180;n++){
servoMotor.write(n);
delay(50);
}
}
*/
/*
void loop() {
while (digitalRead(buttonPin) == HIGH) {
digitalWrite(ledPin, HIGH); // Enciende el LED
delay(500); // Espera medio segundo
digitalWrite(ledPin, LOW); // Apaga el LED
delay(500); // Espera medio segundo
}
*/
/*
servoMotor.write(0);
delay(500);
servoMotor.write(90);
delay(500);
servoMotor.write(180);
delay(500);
*/