#include <Wire.h>
#include<ST7032_asukiaaa.h>
ST7032_asukiaaa lcd;
bool flag_S1 = 0;
void IRAM_ATTR BUTTON_1() //функция-обработчик прерывания для кнопки S1
{
flag_S1 = 1; //устанавливаем признак нажатия на кнопку S1
}
void setup() {
lcd.begin(16,2);
lcd.setContrast(60);
pinMode(5,INPUT_PULLUP);
attachInterrupt(5,BUTTON_1,FALLING);
Wire.begin(); /* задаем i2c мост через контакты SDA=D1 и SCL=D2 на NodeMCU */
}
void loop() {
char c[11];
int i = 0;
if (flag_S1 == 1)
{
Wire.beginTransmission(8); /* Начинаем передачу на адресе 8 */
Wire.write('Hello Arduino'); /* Отправляем "hello Arduino" */
Wire.endTransmission(); /* прекращаем передачу */
Wire.requestFrom(8, 11); /* запрашиваем и считываем 13 байт с адреса 8 slave устройства */
flag_S1 = 0;
}
while(Wire.available()) /*пока не принимаем байты с ардуино*/
{
c[i] = Wire.read(); /*записываем их в массив с */
i++;
}
lcd.setCursor(0,1);
for (i = 0; i <11; i++)
{
lcd.print(c[i]);
c[i]=' ';
}
delay(1000);
}