Hirdetés
- Kormányok / autós szimulátorok topikja
- Milyen egeret válasszak?
- Fejhallgató erősítő és DAC topik
- Milyen billentyűzetet vegyek?
- Nem indul és mi a baja a gépemnek topik
- Apple MacBook
- Októberben kerülnek legacy státuszba a régebbi GeForce VGA-k
- Milyen SSD-t vegyek?
- TCL LCD és LED TV-k
- Gaming notebook topik
Hirdetés
Talpon vagyunk, köszönjük a sok biztatást! Ha segíteni szeretnél, boldogan ajánljuk Előfizetéseinket!
-
PROHARDVER!
Arduino hardverrel és szoftverrel foglakozó téma. Minden mikrovezérlő ami arduinoval programozható, és minden arduino program, board, és hardverrel kapcsolatos kérdések helye.
Új hozzászólás Aktív témák
-
tibi-d
tag
Sziasztok!
Úgy látom, hogy a nyomógombok prellegésmentesítése ekkora probléma. Bemásolom az általam használt megoldást (kiollózva egy működő alkalmazásból). Ezt a metódust bármilyen menürendszer felépítésére fel lehet használni. Csak a fantázia szab határt.#include <TimerOne.h>
int Pin3 = 3;
int Pin4 = 4;
int Pin5 = 5;
int Pin6 = 6;
int Value;
int Back;
int Up;
int Down;
int Enter;
int Time1;
int Count1;void setup()
{
Timer1; // Timer1 meghívása
Timer1.initialize(100000); // Az időzítés beállítása
Timer1.attachInterrupt( timerIsr ); // A megszakításkor meghívott függvény
pinMode(Pin3, INPUT_PULLUP);
pinMode(Pin4, INPUT_PULLUP);
pinMode(Pin5, INPUT_PULLUP);
pinMode(Pin6, INPUT_PULLUP);
}void timerIsr() // Minden megszakításkor lefut 1 ciklusidőre.
{
Time1 = 1; // Globális változó beállítása, ami bárhol használható
Count1 ++; // 0.5 s alatt körbeszámol
if ( Count1 > 4 ) Count1 = 0;}
void loop()
{
if (Time1 == 1 ) // 0.1 s-ként billentyű beolvasás
{
Back = digitalRead(Pin3);
Up = digitalRead(Pin4);
Down = digitalRead(Pin5);
Enter = digitalRead(Pin6);
Menu();
Time1 = 0; // Csak 1 ciklus idejére figyeli a gombokat
}}
void Menu()
{
if ( Up == 0 && Count1 == 2 )
{
Value ++; // 0.5 s-ként növeli az értéket}
if ( Down == 0 && Count1 == 2 )
{
Value --; // 0.5 s-ként csökkenti az értéket}
}Lehet, hogy csak billentyű beolvasásra kicsit körülményesnek látszik, de amiben én használom ott ez a módszer vált be. (szerteágazóbb funkciók meghívása, stb)
Új hozzászólás Aktív témák
- Kormányok / autós szimulátorok topikja
- Call of Duty: Black Ops 6
- Milyen egeret válasszak?
- Székesfehérvár és környéke adok-veszek-beszélgetek
- Xiaomi 14 - párátlanul jó lehetne
- Fejhallgató erősítő és DAC topik
- Milyen billentyűzetet vegyek?
- Nem indul és mi a baja a gépemnek topik
- sziku69: Szólánc.
- sziku69: Fűzzük össze a szavakat :)
- További aktív témák...
Állásajánlatok
Cég: FOTC
Város: Budapest