Arduino - bouton double fonction - Long court/presse presse (sans délai) + Bonus (4 / 6 étapes)

Étape 4: Le logiciel en détail partie 2

Maintenant la boucle for. Je vais décomposer peu à peu, d’expliquer ce qui se passe. La première chose que le programme va faire est lire l’état du bouton. Cela nous donnera le code ci-dessous et et nous permettent de créer des fonctions pour les États non pressés tant pressés, souvenez-vous que la fonction appuyer brièvement sur le bouton.

 if (digitalRead(button) == HIGH) { //Button pressed } else { //Button not pressed } 

Dans la section de touche, la première chose que nous ferons est de tester le buttonActive variable, sur Set-up, c’est faux. S’il s’agit actuellement de faux, cela signifie que le programme détecte le bouton ne soit utilisé pour la première fois. C’est parce qu’après lecture faux que nous immédiatement mettre à true et seulement en libérant le bouton peut affectez-lui la valeur false. Nous enregistrons également le temps que la touche a été enfoncée tout d’abord.

 if (buttonActive == false) { buttonActive = true; buttonTimer = millis(); } 

L’étape suivante dans la section touche, consiste à tester combien de temps nous avons tenu le bouton. Nous cela en vérifiant l’heure actuelle, en soustrayant la pression tout d’abord en millisecondes et les comparer à la longueur de temps, que nous souhaitons jusqu'à ce que la presse longue est activée.

On vérifie aussi que la longPressActive boolean a la valeur false, car une fois que nous avons activé la fonction appuyez longuement nous allons définir cette valeur à true pour arrêt répéter l’activation. Une fois que nous avons tenu le bouton le temps désiré, nous renversera l’état de la valeur booléenne de LED1State qui renversera à son tour la goupille de que la LED est attachée à haute ou basse en conséquence.

 if ((millis() - buttonTimer > longPressTime) && (longPressActive == false)) { longPressActive = true; LED1State = !LED1State; digitalWrite(LED1, LED1State); } 

Sur la route à la touche n'appuyée pas l’article du code. Est la première chose que nous allons vérifier si le buttonActive boolean a la valeur true. Si elle est définie sur true, le code en boucle pour la première fois puisque le bouton est relâché. Il sera ensuite ensemble l’arrière booléen false pour permettre au code ci-dessus pour détecter le bouton étant pressé à nouveau.

 if (buttonActive == true) { buttonActive = false; } 

Dans le cas ci-dessus énoncé, car nous sommes détectant la première boucle après bouton relâché, nous allons ensuite vérifier si longuement sur fonction a été activée, qui va abandonner deux étapes possibles. Si pression longue a été activée, nous placerons simplement le longPressActive retour à false pour permettre au programme d’appuyer longuement sur une fois de plus. Si il n’a pas été activé, nous renversera l’état de la deuxième LED comme nous l’avons fait avec le premier.

 if (longPressActive == true) { longPressActive = false; } else { LED2State = !LED2State; digitalWrite(LED2, LED2State); } 

Articles Liés

Arduino bouton Tutorial

Arduino bouton Tutorial

ce qui est plus simple et plus bête que d'un bouton, vous demandez...J'ai dit : derrière un bouton, peuvent cacher des choses inattendues. Et au sein d'un programme qui fait des choses différentes, un bouton de manutention peut être délicat. La bonne
Rail double fonction : Accrocher tableaux et éclairage indirect

Rail double fonction : Accrocher tableaux et éclairage indirect

ce rail en bois a deux fonctions :1. permettre d'accrocher les tableaux sans avoir besoin d'enfoncer un clou dans le mur ; et2. fournir une lumière éclairant indirectement le plafond : éclairage d'ambiance.Le rail a été fixé au mur à environ 50 cm (2
Un seul bouton Multiple fonctionne!! #Arduino

Un seul bouton Multiple fonctionne!! #Arduino

au lieu d'utiliser plusieurs boutons pour sélectionner une fonction différente, voici une technique simple qui utilise un seul bouton pour sélectionner une fonction différente!!Étape 1: composants nécessaires Arduino uno,Bouton poussoir,conduit!!Étap
INTRODUCTION à I / O en ARDUINO (bouton poussoir)

INTRODUCTION à I / O en ARDUINO (bouton poussoir)

Date : 11/03/2016Titre : Entrées Arduino (numérique)Difficulté : facileBonjour tout le monde. Je suis ici pour parler des entrées numériques en général, les types de boutons de commande numériques et numérique bouton-poussoir programmation arduino. U
Modules d’Arduino - L298N double pont en H contrôleur de moteur

Modules d’Arduino - L298N double pont en H contrôleur de moteur

Guide de démarrage rapide et simple d'utilisation et d'explorer un module L298N double pont en H contrôleur de moteur avec un Arduino.Le modèle dans l'exemple que j'utilise est sur Ebay.Matériel nécessaire :Module de L298N double pont en H contrôleur
Domotique avec arduino, boutons, écran LCD, téléphone intelligent EEPROM et

Domotique avec arduino, boutons, écran LCD, téléphone intelligent EEPROM et

Maintenant nous pouvons contrôler la coque à la maison avec le téléphone intelligentÉtape 1: Matériel nécessaire pour la domotique, vous pouvez ajouter des choses différentes, je choisis de commutation ou de relaisDans ce projet, vous contrôlerez swi
Arduino NodeMCU ESP8266 fonction WIFI Smart bande 4 relais commutateur Board avec Raw TCP/IP, Mqtt & Android App

Arduino NodeMCU ESP8266 fonction WIFI Smart bande 4 relais commutateur Board avec Raw TCP/IP, Mqtt & Android App

Le nœud MCU est un open source ESP8266 fonction Wifi activé IoT plate-forme pour tous les goûts. Ce que nous avons fait est créé un Conseil de quatre relais pour elle, et la partie la plus fraîche est que Conseil a aussi un 100-240V-AC sur alimentati
Arduino bouton activé traiter distributeur

Arduino bouton activé traiter distributeur

pour ma classe de multimédia numérique final, j'ai créé un distributeur de friandise qui est activé en tirant sur une chaîne, qui commence un servo moteur qui fait tourner une roue pour distribuer la traite de mes de perroquets gris du Gabon.Étape 1:
Arduino bouton clignote

Arduino bouton clignote

c'est mon premier instructable et j'espère que cela fonctionne pour vous tous !J'enseigne les gars comment faire un circuit, donc lorsque le bouton est enfoncé, le voyant s'allume !Choses nécessaires9 fils de connecteur1 bouton1 Arduinorésistance de
Arduino - bouton d’alarme, relais d’alarme. Exemple de KY-019

Arduino - bouton d’alarme, relais d’alarme. Exemple de KY-019

Salut tout le monde! Aujourd'hui, j'ai fait un exemple sur le module de relais KY_019.Dans ma vidéo, j'utilise une alarme avec stroboscope attaché à elle, mais le flash ne fonctionne pas car j'utilise une pile de 9 volts,et l'alarme est de 12v. en to
Difficulté un Arduino qui ne fonctionne via le port USB (régulateur soufflé)

Difficulté un Arduino qui ne fonctionne via le port USB (régulateur soufflé)

C'est arrivé à tout le monde, vous accidentellement quelque chose de mal branché ou tiré trop actuelle par le biais de votre arduino. Par la suite, vous a entendu un bruit, qui obtenu merveilleux grillée odeur électronique et un soupçon de fumée. Vou
Arduino mini Multi fonction Controller w / LCD Display

Arduino mini Multi fonction Controller w / LCD Display

ce Instructable s'appuie sur la surveillance de l'environnement Arduino mini et mini moniteur Arduino EEG Instructables.Il vous permet de contrôler jusqu'à 4 relais en utilisant l'heure, la température et/ou lumière, votre esprit, ou quel que soit le
Camion RC sans fil double (2 x distance de communication sans fil et bluetooth) sur Arduino

Camion RC sans fil double (2 x distance de communication sans fil et bluetooth) sur Arduino

Bonjour tout le monde. J'ai décidé de faire quelque chose de simple et accessible à tous. Comment construire un contrôlables à distance des voitures, camions, j'ai vu beaucoup de vidéos et des descriptions. Mon point est donc d'investir le moins poss
Arduino eletronic double dés

Arduino eletronic double dés

ce dé est basé sur l'Arduino.Il est de construction facile et l'utilisation de peu de composants, les composants sont :1 Atmega 81 pile 3v14 LEDune résistance k 10un connecteur icsp AVRun boutonet un interrupteurL'ATMEGA8 est programmée via un progra