Sepnutí relé pomocí kapacitního tlačítka
Re: Sepnutí relé pomocí kapacitního tlačítka
Děkuji,
moje AN je nic moc a tohle mi asi pomohlo s problémem co mám jinde.
Některé věci jsem kolem interupu vůbec netušil a evidentně je netuší více lidí,
na GIDHB je v mnoha zdrojích detach přímo ve funkci ktse vykonává po interupu.
tak ještě jednou díky, škoda že už ten můj příspěvek nejde upravit ...
moje AN je nic moc a tohle mi asi pomohlo s problémem co mám jinde.
Některé věci jsem kolem interupu vůbec netušil a evidentně je netuší více lidí,
na GIDHB je v mnoha zdrojích detach přímo ve funkci ktse vykonává po interupu.
tak ještě jednou díky, škoda že už ten můj příspěvek nejde upravit ...
UNO, NANO, Mikro, PRO mini, DUE, ESP32S2, RPi PICO
Pavel1TU
"Správně napsaný kod lze číst jako knihu"
Pavel1TU
"Správně napsaný kod lze číst jako knihu"
Re: Sepnutí relé pomocí kapacitního tlačítka
Ono ten detach tam klidne byt muze a muze mit dobry smysl - proste TENTO interrupt se od jeho zavolani nebude testovat az do dalsiho volani attach (cili tlacitko seplo, takze o dalsi spinani se ted starat nejakou dobu nebudeme, dokud se situace neuklidni) a nebudou se nam radit do fronty a nebudeme je potrebovat obsluhovat.
Akorat ze ta funkce, ktera osetruje ten prvni interrupt je furt v kontextu interruptu a az do sveho konce bude (pokud se s tim "neco nejak" neudela) a tak pro ni dal plati vse co dosud jako ze millis se neinkrementuje a delay s nenulovym parametrem je efektivne Halt a tak. (A taky ze by, jako kazdy interrupt mela udelat jen to nejnutnejsi a co nejdriv skoncit).
Jen uz to prechazi z urovne Arduino (mam tlacitko a LEDku, cosi stahnu z netu a s Bozi pomoci blikam) do urovne AVR (mam vykonny prumyslovy mikrokontroler se spoustou integrovanych periferii, propracovanym (ac stale jeste primitivnim) systemem inetrruptu, desitkami specializovanych registru a stovkami stranek toho nejzakladnejsiho datasheetu, kdyz budu vedet, co delam, tak si muzu dovolit opravdu dost).
Akorat ze ta funkce, ktera osetruje ten prvni interrupt je furt v kontextu interruptu a az do sveho konce bude (pokud se s tim "neco nejak" neudela) a tak pro ni dal plati vse co dosud jako ze millis se neinkrementuje a delay s nenulovym parametrem je efektivne Halt a tak. (A taky ze by, jako kazdy interrupt mela udelat jen to nejnutnejsi a co nejdriv skoncit).
Jen uz to prechazi z urovne Arduino (mam tlacitko a LEDku, cosi stahnu z netu a s Bozi pomoci blikam) do urovne AVR (mam vykonny prumyslovy mikrokontroler se spoustou integrovanych periferii, propracovanym (ac stale jeste primitivnim) systemem inetrruptu, desitkami specializovanych registru a stovkami stranek toho nejzakladnejsiho datasheetu, kdyz budu vedet, co delam, tak si muzu dovolit opravdu dost).
Re: Sepnutí relé pomocí kapacitního tlačítka
Takže ten kód co opravil pavel1tu nebude funkční? Je fakt že to programování není taková prdel jak to vypadá.
Šlo by vám třeba zadat zakázku na programování? Kdyby jste mi dal váš email, mohl bych vám poslat co potrebuji postavit a navrhnout, mám už nakoupené nějaké komponenty a mohu je poskytnout na testování. Popřípadě se můžeme osobně setkat.
Šlo by vám třeba zadat zakázku na programování? Kdyby jste mi dal váš email, mohl bych vám poslat co potrebuji postavit a navrhnout, mám už nakoupené nějaké komponenty a mohu je poskytnout na testování. Popřípadě se můžeme osobně setkat.
Re: Sepnutí relé pomocí kapacitního tlačítka
Ja ted zadne zakazky neberu a delsi dobu brat nebudu. Ani s Arduinem, ani jine (a pokud bych bral, tak moje ceny a lhuty urcite nejsou vhodne pro toto forum). Obcas tu pro sve poteseni neco poznamenam, kdyz mam zrovna cas a naladu a hvezdy jsou ve spravnem postaveni. A postavit ten kod tu zvladne urcite vic lidi, zvlast kdyz zakladni zaseky tu uz rozebrane jsou - neprohlizel jsem ho dukladne, ale IMHO tomu k dostatecne dobremu reseni moc nechybi.
Re: Sepnutí relé pomocí kapacitního tlačítka
Chápu, ale neoslovoval jsem jen vas, ale i kolegu Pavel1tu. S tím tlacitkem je to jen část zařízení.
Re: Sepnutí relé pomocí kapacitního tlačítka
A ten kod nefunguje ?
Pokud se staví něco většího, musí se to oživovat po kouskách,
trochu nechápu, že pokud si nevíte rady s obsluhou tlačítka,
že se pouštíte do něčeho většího.
tento kod by měl být OK
Kód: Vybrat vše
#define RELE1_PIN 6
#define RELE2_PIN 5
#define pinTlacitko 2
volatile int stavTlacitka = 0;
unsigned long currentMillis, previousMillis;
int stavRele = 0;
void setup()
{
pinMode(RELE1_PIN, OUTPUT);
pinMode(RELE2_PIN, OUTPUT);
pinMode(pinTlacitko, INPUT);
attachInterrupt(digitalPinToInterrupt(pinTlacitko), prerus, RISING);
previousMillis = millis(); //nacteni casu od spusteni
}
void loop()
{ // tady se bude zapinat rele po 5s pokud je VYP
currentMillis = millis();
if(currentMillis - previousMillis > 5000 && stavRele == 0) {
previousMillis = currentMillis;
digitalWrite(RELE1_PIN, HIGH);
digitalWrite(RELE2_PIN, HIGH);
stavRele = 1;
}
// tady se bude vypinat rele po 10s pokud je ZAP
if(currentMillis - previousMillis > 10000 && stavRele == 1) {
previousMillis = currentMillis;
digitalWrite(RELE1_PIN, LOW);
digitalWrite(RELE2_PIN, LOW);
stavRele = 0;
}
if (stavTlacitka == HIGH) {
digitalWrite(RELE1_PIN, HIGH);
delay (500);
digitalWrite(RELE1_PIN, LOW);
stavTlacitka = LOW;
}
}
void prerus()
{
stavTlacitka = HIGH;
// popripade dalsi kod co chcete od preruseni
}
UNO, NANO, Mikro, PRO mini, DUE, ESP32S2, RPi PICO
Pavel1TU
"Správně napsaný kod lze číst jako knihu"
Pavel1TU
"Správně napsaný kod lze číst jako knihu"
Kdo je online
Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 1 host