#include <SoftwareSerial.h> //ปุ่ม+lcd
#include <Bonezegei_LCD1602_I2C.h>
Bonezegei_LCD1602_I2C lcd(0x3f);
const int buttonPinsUNO1[4] = {2, 3, 4, 5};
SoftwareSerial mySerial(10, 11); // rx, tx
void setup() {
Serial.begin(115200);
for (int i = 0; i < 4; i++) {
pinMode(buttonPinsUNO1[i], INPUT_PULLUP);
}
mySerial.begin(115200);
lcd.begin();
}
void loop() {
//////////////////////////////////////////////////////////////////////// ปุ่มที่ arduino1 ส่งสัญญาไปที่LED arduino2
for (int i = 0; i < 4; i++) {
int buttonState = digitalRead(buttonPinsUNO1[i]);
if (buttonState == HIGH) {
mySerial.write('1');
} else {
mySerial.write('0');
}
}
delay(500);
//////////////////////////////////////////////////////////////////////// LCD รับข้อมูลที่ส่งมาจาก arduino2
if (mySerial.available() >= 4) {
lcd.clear();
for (int i = 0; i < 4; i++) {
char buttonState = mySerial.read();
if (buttonState == '0') {
switch (i) {
case 0:
lcd.setPosition(0, 0);
lcd.print("Button 1 Green");
break;
case 1:
lcd.setPosition(0, 0);
lcd.print("Button 2 Blue");
break;
case 2:
lcd.setPosition(0, 0);
lcd.print("Button 3 Yellow");
break;
case 3:
lcd.setPosition(0, 0);
lcd.print("Button 4 Red");
break;
}
}
}
}
delay(500);
}