Arduino uno code:
Зробити так щоб на кнопку(підєднана до 2 порта) натискали і на екрані (16,2 пікселів) висвічувалось;
1 раз натиснувши - висвічувалось "Hello"
2 рази натиснути - "How are you?"
3 рази натиснувши - "Thanks, i fine"
4 рази натиснувши - "Bye, see you again"
#include <LiquidCrystal.h>
// Піни для підключення кнопки та LCD
const int buttonPin = 2;
const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 6;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
// Змінні для збереження стану кнопки
int buttonState = 0;
int lastButtonState = 0;
int buttonPressCount = 0;
void setup() {
// Ініціалізація LCD
lcd.begin(16, 2);
// Налаштування піна кнопки як вхід з підтяжкою до живлення
pinMode(buttonPin, INPUT_PULLUP);
}
void loop() {
// Отримання стану кнопки
buttonState = digitalRead(buttonPin);
// Перевірка на натискання кнопки
if (buttonState != lastButtonState) {
// Якщо кнопку натиснуто
if (buttonState == LOW) {
buttonPressCount++; // Збільшення лічильника натискань
delay(50); // Затримка для уникнення дрібних перепадів стану кнопки
}
}
// Перевірка кількості натискань та відображення відповідного повідомлення на LCD
if (buttonPressCount == 1) {
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Hello");
} else if (buttonPressCount == 2) {
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("How are you?");
} else if (buttonPressCount == 3) {
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Thanks, I'm fine");
} else if (buttonPressCount >= 4) {
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Bye, see you again");
buttonPressCount = 0; // Скидання лічильника натискань
}
lastButtonState = buttonState; // Збереження стану кнопки для наступної ітерації
}
Цей код використовує бібліотеку LiquidCrystal для керування LCD дисплеєм. Кнопку під'єднано до піна 2 та використовується внутрішня підтяжка до живлення. Залежно від кількості натискань кнопки, відображається відповідне повідомлення на LCD дисплеї. Після четвертого натискання лічильник скидається.