Kontrol Interaktif dengan Arduino: Tekan Sebentar (+1) dan Tekan Lama (++) dengan Push Button
#include <Wire.h> #include <Adafruit_GFX.h> #include <Adafruit_SSD1306.h> #define SCREEN_WIDTH 128 // Lebar layar OLED (pixel) #define SCREEN_HEIGHT 64 // Tinggi layar OLED (pixel) // Inisialisasi objek display SSD1306 Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, -1); const int buttonPin = 2; int counter = 0; unsigned long pressDuration; void setup() { Wire.begin(); Serial.begin(9600); display.begin(SSD1306_SWITCHCAPVCC, 0x3C); pinMode(buttonPin, INPUT_PULLUP); // Set pin tombol sebagai input dengan pull-up resistor } void loop() { if (!digitalRead(buttonPin)) { unsigned long startTime = millis(); while (!digitalRead(buttonPin)) { delay(10); pressDuration = millis() - startTime; if (pressDuration > 500) { while (!digitalRead(buttonPin)) { ...