#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
#define BUTTON_PIN D2
#define POT_PIN A0
bool powerState = false;
bool lastButton = HIGH;
void setup() {
pinMode(BUTTON_PIN, INPUT_PULLUP);
lcd.init();
lcd.clear();
}
void loop() {
bool btn = digitalRead(BUTTON_PIN);
// переключение состояния
if (btn == LOW && lastButton == HIGH) {
powerState = !powerState;
delay(200);
}
lastButton = btn;
if (!powerState) {
lcd.noBacklight();
lcd.clear();
return;
}
lcd.backlight();
int pot = analogRead(POT_PIN);
String mode;
if (pot < 340) mode = "Golova";
else if (pot < 680) mode = "Grud'";
else mode = "Spina";
lcd.setCursor(0, 0);
lcd.print("Rezhim:");
lcd.setCursor(0, 1);
lcd.print(" ");
lcd.setCursor(0, 1);
lcd.print(mode);
delay(100);
}
Loading
st-nucleo-l031k6
st-nucleo-l031k6