Reakční doba při stisku tlačítka
Napsal: 27 črc 2022, 14:27
Ahoj,
rád bych se zeptal. Mám menší projekt s časovačem a doba stisknutí tlačítka, aby se resetovala časomíra je delší než bych si představoval, jde o cca 1s a já bych potřeboval okamžitý reset při stisku tlačítka. Existuje nějaký způsob, aby Arduino zareagovalo ihned po stisku tlačítka?
Díky.
Zde je můj program:
rád bych se zeptal. Mám menší projekt s časovačem a doba stisknutí tlačítka, aby se resetovala časomíra je delší než bych si představoval, jde o cca 1s a já bych potřeboval okamžitý reset při stisku tlačítka. Existuje nějaký způsob, aby Arduino zareagovalo ihned po stisku tlačítka?
Díky.
Zde je můj program:
Kód: Vybrat vše
// Display TM1637
// Library
#include <Arduino.h>
#include <TM1637Display.h>
//setting numbers of pins for connecting with Arduino
#define CLK 3
#define DIO 4
//variable of button for reset timer and power supply for sensor
int Button1 = 2;
int Sensor = 8;
//instance of display from library TM1637
TM1637Display displej(CLK, DIO);
void setup() {
pinMode(Button1,INPUT_PULLUP);
pinMode(Sensor,OUTPUT);
// setting of brightness 8-15
displej.setBrightness(12);
}
// Reset function
void(*resetFunc) (void) = 0;
void loop()
{
//create a variable "vypis" for saving information about individual symbols
uint8_t vypis[] = { 0, 0, 0, 0 };
long cas = millis()/1000;
//recalculate minutes and seconds
vypis[0] = displej.encodeDigit((cas/60)/10);
vypis[1] = displej.encodeDigit((cas/60)%10);
vypis[2] = displej.encodeDigit((cas%60)/10);
vypis[3] = displej.encodeDigit((cas%60)%10);
//writing information on display
displej.setSegments(vypis);
delay(500);
//function of colon between numbers
// is necessary to add 1 to value 128
vypis[1] = vypis[1]+128;
displej.setSegments(vypis);
delay(500);
// Reset condition
if(digitalRead(Button1) == LOW)
{
digitalWrite(Sensor , HIGH); //Power supply of sensor
resetFunc();
}
}