Cau tvoje zadani jsem pochopil tak, ze stiskem tlacitka se vystup zapne a zustane zapnuty dokud ho dalsim stiskem nevypnes a potom zustane vystup vypnuty.
Tvuj program ale dela pouze obraceni hodnoty vstupu 12 na vystup 13.
Je urcite vice zpusobu jak to maso uvarit, ale podle me je nejjednodussi zpusob ulozit do promenny buttonState zmenu hodnoty vstupu 12 a vystup 13 se pak rovna hodnote buttonState. Asi by to chtelo dat tam i nejakou tu pauzu pro debouncing.
Celkem to chodi ale urcite to bude chtit dopilovat.
int start = 12;
int rele = 13;
int buttonState = 0;
void setup() {
pinMode(rele, OUTPUT);
pinMode(start, INPUT);
digitalWrite(start, HIGH);
}
void loop() {
if (digitalRead(start) == HIGH )
{
buttonState = buttonState + 1 ;
}
delay (100) ;
if (buttonState > 1)
{
buttonState = 0 ;
}
if (buttonState == 1) {
digitalWrite(rele, HIGH);
}
else
{ digitalWrite(rele,LOW);
}
delay (100) ;
}