Ahoj, předem se omlouvám, jestli se to zde někde řešilo, ale potřebuji pomoct s programem. Nějaké základy mám, ale na tohle se necítím.
Mám arduino, LED a dvě tlačítka. Chci, aby se při krátkém zmáčknutí 1. tlačítka rozsvítila LED a při krátkém zmáčknutí 2. tlačítka zhasnula. Při delším podržení 1. tlačítka by se zvyšoval jas při podržení 2. tlačítka se jas snižoval. Ve fórech a návodech jsem našel pouze, stmívání pomocí dvou tlačítek, ale chtěl bych s tím ovládat světlo na chatě a přijde nahouby, abych musel pokaždé držet vypínač pro rozsvícení. Žádný kód zatím nemám. Kdyby se našel někdo kdo by mi to pomohl napsat byl bych moc vděčný.
LED - PWM, 2 tlačítka, spouštění, regulace
- pavel1tu
- Příspěvky: 2054
- Registrován: 26 říj 2017, 08:28
- Reputation: 0
- Bydliště: Trutnov
- Kontaktovat uživatele:
Re: LED - PWM, 2 tlačítka, spouštění, regulace
Pokud něco neumíš - pohledej knihovnu.
Existuje mnoho knihoven na obsluhu tlačítek, která umí i měřit jak dlouho je stisknuté tlačítko a vrací zda byl krátký/dlouhý stisk tlačítka.
třeba tahle https://github.com/JChristensen/JC_Button
Knihoven je spousty na obsluhu tlačítek.
Pokud nepořešíš do týdne, napiš PM, teď jsem na dovolené a pořešíme to spolu (je to otázka 10 min), kdysi jsem dělal ovládání MP3 přehrávače na 2 tlačítka, kdy krátký stisk je skok mezi skladbami a dlouhý hlasitost. Třeba to ještě najdu.
Omluvte překlepy - tablet ....
Existuje mnoho knihoven na obsluhu tlačítek, která umí i měřit jak dlouho je stisknuté tlačítko a vrací zda byl krátký/dlouhý stisk tlačítka.
třeba tahle https://github.com/JChristensen/JC_Button
Knihoven je spousty na obsluhu tlačítek.
Pokud nepořešíš do týdne, napiš PM, teď jsem na dovolené a pořešíme to spolu (je to otázka 10 min), kdysi jsem dělal ovládání MP3 přehrávače na 2 tlačítka, kdy krátký stisk je skok mezi skladbami a dlouhý hlasitost. Třeba to ještě najdu.
Omluvte překlepy - tablet ....
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: LED - PWM, 2 tlačítka, spouštění, regulace
Díky moc, podívám se na to. Jsem docela začátečník. Skončil jsem u if, elsif
Re: LED - PWM, 2 tlačítka, spouštění, regulace
nebo si to napis sam
při stisknutí tlačítka si ulož čas stisknutí, při puštění tlačítka vem současný čas, odečti od něj čas stisknutí a když to bude větší než pár milisekund (takže to není jen nějaký zákmit) a menší, než nějaká hranice, tak je to stisk krátký, jinak je to stisk dlouhý.
Stisknutí tlačítka poznáš tak, že máš uloženou starou hodnotu, načteš novou a když se liší, tak došlo ke změně.
Postupné zvyšování uděláš tak, že pokud je tlačítko stisknuto déle, než krátce a je pořád ještě stisknuto, tak se podíváš, jestli je kam zvyšovat a jestli od posledního zvýšení uběhla dost dlouhá doba. Pokud ano, zvýšíš a zaznamenáš si dobu.
potřebuješ umět používat proměnné, funkci millis() - viz dokumentace, a pro rozsvěcení/stmívání analogWrite() (viz dokumentace, dělá to různě rychlé pulzy PWM, aby předstíralo změnu napětí - LED jsou dost rychlé, tak se jim mění jas)
při stisknutí tlačítka si ulož čas stisknutí, při puštění tlačítka vem současný čas, odečti od něj čas stisknutí a když to bude větší než pár milisekund (takže to není jen nějaký zákmit) a menší, než nějaká hranice, tak je to stisk krátký, jinak je to stisk dlouhý.
Stisknutí tlačítka poznáš tak, že máš uloženou starou hodnotu, načteš novou a když se liší, tak došlo ke změně.
Postupné zvyšování uděláš tak, že pokud je tlačítko stisknuto déle, než krátce a je pořád ještě stisknuto, tak se podíváš, jestli je kam zvyšovat a jestli od posledního zvýšení uběhla dost dlouhá doba. Pokud ano, zvýšíš a zaznamenáš si dobu.
potřebuješ umět používat proměnné, funkci millis() - viz dokumentace, a pro rozsvěcení/stmívání analogWrite() (viz dokumentace, dělá to různě rychlé pulzy PWM, aby předstíralo změnu napětí - LED jsou dost rychlé, tak se jim mění jas)
Re: LED - PWM, 2 tlačítka, spouštění, regulace
Tak vyřešeno, díky. Nakonec mi pomohl kámoš a udělali jsme to trochu jinak. Kdyby se vám chtělo mi ukázat jak na to přes tu knihovnu, klidně můžete.
Kdo je online
Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 1 host