// STM32 Nucleo-C031C6 I2C Example
// Simulation: https://wokwi.com/projects/365421666018061313
#include "LiquidCrystal_I2C.h"
#define BUTTON_PIN 4
#define BUTTON_PIN2 3
#define I2C_ADDR 0x27
#define LCD_COLUMNS 20
#define LCD_LINES 4
LiquidCrystal_I2C lcd(I2C_ADDR, LCD_COLUMNS, LCD_LINES);
void setup() {
Serial.begin(115200);
pinMode(BUTTON_PIN, INPUT_PULLUP);
pinMode(BUTTON_PIN2, INPUT_PULLUP);
lcd.init();
lcd.backlight();
// lcd.print("Hello, STM32");
}
int lastState = HIGH;
int lastState2 = HIGH;
static int i=0;
void loop() {
//Serial.println("Hello, STM32!");
int value = digitalRead((BUTTON_PIN));
if (lastState != value) {
lcd.setCursor(4, 0);
lastState = value;
if (value == HIGH) {
lcd.clear();
lcd.print(++i);
delay(500);
}
}
int value2 = digitalRead((BUTTON_PIN2));
if (lastState2 != value2) {
lcd.setCursor(4, 0);
lastState2 = value2;
if (value2 == HIGH) {
lcd.clear();
lcd.print(--i);
delay(500);
}
}
}