Professional Documents
Culture Documents
Código para El Control RF en Proteus
Código para El Control RF en Proteus
h>
#include <LCD.h>
#include <LiquidCrystal_I2C.h>
#define LED_OFF 0
#define LED_ON 1
#define PIN_D2_INT 0
#define R06A_VT 2
#define R06A_D0 3
#define R06A_D1 4
#define R06A_D2 5
#define R06A_D3 6
LiquidCrystal_I2C lcd(I2C_ADDR,En_pin,Rw_pin,Rs_pin,D4_pin,D5_pin,D6_pin,D7_pin);
void pinD2ISR()
{
digitalWrite(13, !digitalRead(13));
// Graba el estado de los datos
r06a_0 = digitalRead(R06A_D0);
r06a_1 = digitalRead(R06A_D1);
r06a_2 = digitalRead(R06A_D2);
r06a_3 = digitalRead(R06A_D3);
dirty = 1;
}
void setup()
{
lcd.begin (20,4);
lcd.setBacklightPin(BACKLIGHT_PIN,POSITIVE);
lcd.setBacklight(LED_ON);
lcd.home ();
lcd.print("RF DOMOTICA");
lcd.setCursor ( 0, 1 );
lcd.print("POR XX");
lcd.setCursor ( 0, 2 );
lcd.print("Presiona el botón ");
lcd.setCursor ( 0, 3 );
lcd.print("DAT3 DAT2 DAT1 DAT0");
pinMode(R06A_D0, INPUT);
pinMode(R06A_D1, INPUT);
pinMode(R06A_D2, INPUT);
pinMode(R06A_D3, INPUT);
}
void loop()
{
if(dirty)
{
dirty = 0;
lcd.setCursor (15,3);
lcd.print(r06a_0 ? "HIGH": "LOW ");
lcd.setCursor (10,3);
lcd.print(r06a_1 ? "HIGH": "LOW ");
lcd.setCursor (5,3);
lcd.print(r06a_2 ? "HIGH": "LOW ");
lcd.setCursor (0,3);
lcd.print(r06a_3 ? "HIGH": "LOW ");
}
}