LED - PWM, 2 tlačítka, spouštění, regulace

Odpovědět
abuk8
Příspěvky: 3
Registrován: 14 črc 2019, 16:31
Reputation: 0

LED - PWM, 2 tlačítka, spouštění, regulace

Příspěvek od abuk8 » 14 črc 2019, 16:39

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ý.

Uživatelský avatar
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

Příspěvek od pavel1tu » 14 črc 2019, 17:38

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 ....
UNO, NANO, Mikro, PRO mini, DUE, ESP32S2, RPi PICO
Pavel1TU
"Správně napsaný kod lze číst jako knihu"

abuk8
Příspěvky: 3
Registrován: 14 črc 2019, 16:31
Reputation: 0

Re: LED - PWM, 2 tlačítka, spouštění, regulace

Příspěvek od abuk8 » 14 črc 2019, 21:16

Díky moc, podívám se na to. Jsem docela začátečník. Skončil jsem u if, elsif :D

Uživatelský avatar
gilhad
Příspěvky: 779
Registrován: 07 bře 2018, 11:22
Reputation: 0

Re: LED - PWM, 2 tlačítka, spouštění, regulace

Příspěvek od gilhad » 14 črc 2019, 22:53

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)

abuk8
Příspěvky: 3
Registrován: 14 črc 2019, 16:31
Reputation: 0

Re: LED - PWM, 2 tlačítka, spouštění, regulace

Příspěvek od abuk8 » 15 črc 2019, 22:46

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.

Odpovědět

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 5 hostů