Já ne :/
Zejtra pivo?
Tak to je hodně krásné ovšem! Dobrá práce!
tak BeerTrip máme potvrzený na datum 23.08. - 30.08.2025
máme to bez cestovky a se slevou z 18830,- Kč na 13000,- Kč, což je pekné :)
Zkusím, díky! :-)
No tak je to logický. Na lcd píšeš 1 nebo 0. Ten lcd se sám nevymaže. Musíš tam napsat ještě mezeru abys to smazal.
No já bych to udělal jinak. Použil bych attachInterrupt() a chatgpt
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#define BUTTON_PIN 2
LiquidCrystal_I2C lcd(0x27, 16, 2);
volatile unsigned long pressStart = 0;
volatile bool pressed = false;
void IRAM_ATTR buttonISR() {
if (digitalRead(BUTTON_PIN) == LOW) {
pressStart = millis();
pressed = true;
} else {
unsigned long pressDuration = millis() - pressStart;
lcd.clear();
lcd.setCursor(0, 0);
lcd.print(pressDuration < 1000 ? "0" : "1");
delay(2000);
lcd.clear();
pressed = false;
}
}
void setup() {
pinMode(BUTTON_PIN, INPUT_PULLUP);
lcd.init();
lcd.backlight();
attachInterrupt(digitalPinToInterrupt(BUTTON_PIN), buttonISR, CHANGE);
}
void loop() {
// Nic se neděje v loop, vše řeší ISR
}
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
const int buttonPin = 2;
LiquidCrystal_I2C lcd(0x27, 16, 2);
unsigned long buttonPressTime = 0;
unsigned long buttonReleaseTime = 0;
bool buttonState = false;
bool lastButtonState = false;
bool longPress = false;
const unsigned long longPressThreshold = 1000;
void setup() {
pinMode(buttonPin, INPUT_PULLUP);
lcd.begin(16, 2);
lcd.print("Stiskni tlacitko");
}
void loop() {
buttonState = digitalRead(buttonPin) == LOW;
if (buttonState != lastButtonState) {
if (buttonState == HIGH) {
buttonReleaseTime = millis();
longPress = (buttonReleaseTime - buttonPressTime >= longPressThreshold);
if (longPress) {
lcd.clear();
lcd.print("0");
} else {
lcd.clear();
lcd.print("1");
}
} else {
buttonPressTime = millis();
}
lastButtonState = buttonState;
}
}
ukaž kód :)
Borci vyznáte se někdo v Arduinu? Za pomoci YT a Google jsem si udělal krátký kód, který by měl dělat to, že při krákém zmáčknutí tlačítka se na displayi zobrazí 1 a při dlouhém zmáčknutí 0 (něco jako morseovka). Problém nastal v tom že bez jakéhokoliv inputu mi to dokola píše 1.
Kód jsem řešil na jednom z fór, které jsem našel, a tam mi napsali že se může jednat o HW noise across digital input pin.
Než začnu něco dělat, tak jsem se raději chtěl zeptat i vás :D
Ch: super :) Opatrnej sem, jen obcas clovek udela kokotinu :)
Sejdeme se na míráku a domluvíme se.
kubba: Opatrně :) A mám tu na stole nějaký kotouče do té pily, už jsem je našel :)
kubba: AU! tak přeji brzké uzdravení :)
Bokor: je mi to jedno, se domluvíme na Míráku
Tak to je důležité že si netrefil nic důležitého, rychle se uzdrav ;)
Kam vyrazíme? Praha? nebo rychta?
Šlo to vedle kolena. Nic důležitýho sem netrefil. Jen nějakou žílu a maso. Ale au :)
Kuba, jak moc je trošku? Na kost, nebo jen kůže?
D4: ujela mi sekyrka, trošku :)
Já můžu a taky chci :)
já bych mohl
kubba: omg co si dělal ? :o
Ja nejdu, mam rozsekly koleno :-/
...je bláznů a kuchářů svátek xD
Já bohužel ne :/
pátek?
23.8.-30.8. - finální termín na BT
23.8.-30.8. taky muzu
Tak já s dovolenou počkám.
Pivo ano