Arduino - Dual-functieknop - Long Press/korte Press (onverwijld) + Bonus (5 / 6 stap)

Stap 5: De volledige Code

Hier is de volledige code klaar voor uploaden naar je Arduino.

 int LED1 = 12; int LED2 = 13; int button = 3; boolean LED1State = false; boolean LED2State = false; long buttonTimer = 0; long longPressTime = 250; boolean buttonActive = false; boolean longPressActive = false; void setup() { pinMode(LED1, OUTPUT); pinMode(LED2, OUTPUT); pinMode(button, INPUT); } void loop() { if (digitalRead(button) == HIGH) { if (buttonActive == false) { buttonActive = true; buttonTimer = millis(); } if ((millis() - buttonTimer > longPressTime) && (longPressActive == false)) { longPressActive = true; LED1State = !LED1State; digitalWrite(LED1, LED1State); } } else { if (buttonActive == true) { if (longPressActive == true) { longPressActive = false; } else { LED2State = !LED2State; digitalWrite(LED2, LED2State); } buttonActive = false; } } } Boole LED1State = false; Boole LED2State = false; lange buttonTimer = 0; lange longPressTime = 250; int LED1 = 8; int LED2 = 9; int LED3 = 10; int LED4 = 11; int LED5 = 12; int LED6 = 13; int button1 = 3; int button2 = 4; long buttonTimer = 0; long buttonTime = 250; boolean buttonActive = false; boolean longPressActive = false; boolean button1Active = false; boolean button2Active = false; boolean LED1Active = false; boolean LED2Active = false; boolean LED3Active = false; boolean LED4Active = false; boolean LED5Active = false; boolean LED6Active = false; void setup() { pinMode(LED1, OUTPUT); pinMode(LED2, OUTPUT); pinMode(LED3, OUTPUT); pinMode(LED4, OUTPUT); pinMode(LED5, OUTPUT); pinMode(LED6, OUTPUT); pinMode(button1, INPUT); pinMode(button2, INPUT); } void loop() { if (digitalRead(button1) == HIGH) { if (buttonActive == false) { buttonActive = true; buttonTimer = millis(); } button1Active = true; } if (digitalRead(button2) == HIGH) { if (buttonActive == false) { buttonActive = true; buttonTimer = millis(); } button2Active = true; } if ((buttonActive == true) && (millis() - buttonTimer > buttonTime) && (longPressActive == false)) { longPressActive = true; if ((button1Active == true) && (button2Active == true)) { LED4Active = !LED4Active; digitalWrite(LED4, LED4Active); } else if((button1Active == true) && (button2Active == false)) { LED5Active = !LED5Active; digitalWrite(LED5, LED5Active); } else { LED6Active = !LED6Active; digitalWrite(LED6, LED6Active); } } if ((buttonActive == true) && (digitalRead(button1) == LOW) && (digitalRead(button2) == LOW)) { if (longPressActive == true) { longPressActive = false; } else { if ((button1Active == true) && (button2Active == true)) { LED1Active = !LED1Active; digitalWrite(LED1, LED1Active); } else if ((button1Active == true) && (button2Active == false)) { LED2Active = !LED2Active; digitalWrite(LED2, LED2Active); } else { LED3Active = !LED3Active; digitalWrite(LED3, LED3Active); } } buttonActive = false; button1Active = false; button2Active = false; } } void setup {pinMode (LED1, OUTPUT); pinMode (LED2, OUTPUT); pinMode (button, INPUT);} void loop {als (digitalRead(button) == HIGH) {}Als ((millis() - buttonTimer > longPressTime) & & (longPressActive == false)) {longPressActive = true; LED1State =! LED1State; digitalWrite (LED1, LED1State); }} else {als (buttonActive == true) {}

Gerelateerde Artikelen

Bluetooth gecontroleerde Arduino Dual Motor RC Platform

Bluetooth gecontroleerde Arduino Dual Motor RC Platform

* Als van 7/6/15, ben ik nog steeds ontbreken een aantal van de vergadering tekst. Ik zal worden afwerking de Instructable kort, in de tussentijd als u nog vragen, voel je vrij om me e-mail of een reactie achterlaten.Met dit Instructable zult u in st
Arduino dual ultrasoon vloeistof niveau meter met geïntegreerde website

Arduino dual ultrasoon vloeistof niveau meter met geïntegreerde website

dit project kunt u controleren van het niveau van 2 containers gevuld met vloeistof. De niveaus kunnen worden weergegeven op een website. Het onderstaande voorbeeld heeft een sensor aangesloten via de kabel, en een andere sensor draadloos aangesloten
Arduino Dual gecontroleerde RC auto (Bluetooth en WiFi)

Arduino Dual gecontroleerde RC auto (Bluetooth en WiFi)

Dit project zal combineren software en hardware met een Android app en Arduino module.Dingen die je zal nodig om dit project te voltooien:1. elke oude, tweedehands of ongewenste RC auto2. Arduino nano3. HC-05 / HC-06 Bluetooth-module4. ESP8266 WiFi m
Knop Arduino tutorial Arduino Tutorial

Knop Arduino tutorial Arduino Tutorial

wat is eenvoudiger en dommer dan een knop, u vragen...Ik zeg: achter een knop, onverwachte dingen kunnen verbergen. En binnen een programma dat verschillende dingen doet, behandeling van een knop kan worden lastig. Het aardige ding is dat een interes
Intelligente Arduino Uno & Mega Tic Tac Toe (nullen en kruisen)

Intelligente Arduino Uno & Mega Tic Tac Toe (nullen en kruisen)

Heb ik besloten om het klassieke spel van nullen en kruisen (of Tic Tac Toe, zoals het ook heet) op de Arduino na wordt gevraagd door mijn dochter als we samen een spel kon bouwen. Hier is een video haar het spelen van de definitieve versie op de Ard
Wachtwoord toegang kunnen verkrijgen met arduino

Wachtwoord toegang kunnen verkrijgen met arduino

~ ~ de volledige kit voor deze tutorial is nu te koop bij www.razvantech.com krijgen! ~~Dit instructable zal u tonen hoe te maken van een pass-code lock systeem met behulp van de Arduino Mega-board.Whenyou typt u de juiste code, een LED-lampje brandt
Password Lock met Arduino

Password Lock met Arduino

dit instructable zal u tonen hoe te maken van een pass-code lock systeem met behulp van de Arduino Mega-board.Wat u zult moeten:---> een Arduino Mega (de arduino uno of duemilianove hoeft niet genoeg digitale pinnen voor dit project)---> een LCD mod
DIY Arduino Dot Matrix polshorloge

DIY Arduino Dot Matrix polshorloge

Pols horloges zijn geweldig en fancy fashion accessoires voor mannen en vrouwen. Makers willen altijd iets anders gebruiken. Mijn diy arduino dot matrix polshorloge is de uiteindelijke uitvoer na één maand werken. Het horloge toont tijd, datum en tem
Cwik klok v1.0 - An Arduino Binary Clock

Cwik klok v1.0 - An Arduino Binary Clock

overzichtDit is een gids voor het opbouwen van een Arduino-aangedreven klok die LEDs gebruikt voor de weergave van een 24-uurs klok (uren en minuten) als binaire cijfers, een analoge meter wilt weergeven van de seconden, een schakelaar om te schakele
Raspberry Pi en Arduino: betrouwbare bouwsystemen met WatchDog Timers

Raspberry Pi en Arduino: betrouwbare bouwsystemen met WatchDog Timers

Samenvatting: In dit Instructable kijken we hoe het bouwen van meer betrouwbare computersystemen die gebruikmaken van de WatchDog timers. Laten we zien hoe u kunt instellen en gebruiken van de Raspberry Pi en Arduino interne watchdog timers. Ook legg
Eenvoudige Circuit/Arduino deurbel

Eenvoudige Circuit/Arduino deurbel

Dus, dit is mijn eerste intructable. U hoeft te verontschuldigenme als ik dat doe elke grammatica of technische fout in dit project. Plus hun zal niet worden eventuele afbeeldingen van mijn fysieke project. Alleen grafische schema's.Hoe dan ook, tot
Elektrische Arduino Go-kart

Elektrische Arduino Go-kart

Hallo iedereen! Zoals de titel al zegt, bouwde ik een elektrische go kart die wordt aangedreven door arduino! Hier is een korte video te vergewissen u daarom het volgende ding dat u gaan bouwen.NIEUWE VIDEO! Gemaakt voor de Boca lagers innovatie weds
Arduino IoT weer klok

Arduino IoT weer klok

In dit Instructable bouwen we een klok die ook binnen en buiten de klimatologische omstandigheden toont.Ik gebruikte om een koele kleine klok die, naast het vertellend de tijd, ook de temperatuur in het huis, de datum en de buitentemperatuur via een
Arduino Firefly-geprogrammeerde LEDs op handgemaakte vilten Tote tas

Arduino Firefly-geprogrammeerde LEDs op handgemaakte vilten Tote tas

Dit was mijn allereerste project dat codering vereist. Mijn idee was om een vilten tas die had sommige LED's die zou fade-in en fade out willekeurig, zoals vuurvliegjes. Het moest zo vrij en niet al te geeky, werkte ik hard aan het Gevilte ontwerp. G