Arduino débutant (15 / 15 étapes)

Étape 15 : Bouton interrupteur à bascule

Parfois, vous serez intéressés au moment précis, un bouton est enfoncé ou relâché, donc vous pouvez déclencher un événement dans votre dessin. Dans ce cas, vous aurez besoin stocker l’état actuel de la touche et comparez-le avec le dernier état enregistré. Si le currentState est élevée et la lastState est faible, alors vous savez que juste avoir pressé la touche. Examinez le code ci-dessous :

J’ai utilisé quelque chose de nouveau dans mon si déclaration :

Si (currentState == HIGH & & lastState == faible)

Cela se lit comme « si currentState est élevé et lastState est faible », & & permet de vérifier la véracité de beaucoup de choses dans le même si déclaration. Vous pouvez également utiliser || ("ou") pour tester est une chose ou l’autre a la valeur true. Lire la suite ici.

Vous noterez également que la ligne suivante apparaît deux fois dans le code ci-dessus :

Delay(1) ;

Ce retard a été mis là pour donner le temps de touche pour s’établir à tension constante, avant de commencer à mesurer encore une fois, c’est ce qu’on appelle bouton debouncing; elle nous empêche de compter une seule pression comme deux presses à cause de bouton chatter. Utilisant un délai pour le bouton debouncing est très bien pour cet exemple simple, mais si vous mesuraient beaucoup de boutons les retards vont s’additionnent et rendre votre code exécute très lentement. Cela pourrait finir par votre matériel du donnant une impression de retard. Je vais aborder des meilleures techniques pour faire debouncing plus loin dans cette classe.

Ce code introduit également un nouveau type de données : boolean. Valeurs booléennes sont utilisés pour stocker 1 bit éléments d’information, des choses comme vrai/faux, marche/arrêt, 1/0, de HIGH/LOW. Dans mon code je l’ai utilisé pour stocker le courant et le dernier état du bouton (en haut ou en bas).

Voici comment nous pourrions utiliser ceci pour activer/désactiver une LED sur et off chaque fois que la touche :

Dans le code ci-dessus, j’ai créé une variable appelée « ledState » pour stocker l’état actuel de la LED, puis chaque fois que la touche a été pressée, j’ai utilisé digitalWrite pour définir la LED à l’état opposé et sauvé une ledState nouvelle.

Allant encore plus loin, vous pouvez utiliser le code du bouton bascule avec le code de fondu de l’exemple de LED RVB pour les éléments suivants :

J’ai ajouté une fonction d’assistance supplémentaire dans le code ci-dessus pour aider à choisir la couleur suivante à s’estomper à :

int getNextColor (int couleur) {}

Si (couleur == rouge) retour vert ;
Si (couleur == vert) retour bleu ;
Si (couleur bleu de ==) retourne rouge ;

}

J’ai déclaré la fonction avec un int pour dire Arduino qu’il devrait s’attendre à la fonction pour retourner un nombre (dans ce cas, le nombre de la goupille de Arduino qui s’est connecté à l’une des broches de la LED RGB. Le si des déclarations Regardez un peu différentes que ce que nous avons vu avant, j’aurais écrit la fonction comme ceci :

.. .et cela fonctionnerait de la même manière exacte. Si vous devez uniquement exécuter une seule ligne dans un if instruction, vous pouvez utiliser le raccourci :

Si (quelque chose) doSomething ;

sans accolades ou sauts de ligne.

Continuer à la partie 2 de cette série ici, ou apprendre comment raccorder le MIDI pour les entrées et les sorties de l’Arduino.

Articles Liés

Sable 2015 CNC + Arduino + début = LunchBox CNC

Sable 2015 CNC + Arduino + début = LunchBox CNC

C'est mon 2ème Instructable et mon 2ème Arduino alimenté CNC, cette fois-ci j'up le niveau de Difficulté en décidant de faire un self contenues unité de commande numérique par ordinateur de conception mes propres boîtiers électroniques et des stages.
3020 Arduino + début + CNC, CNC bouclier V3

3020 Arduino + début + CNC, CNC bouclier V3

Permet de convertir une machine CNC chinois bon marchée de Port parallèle à l'Arduino et début.Bon les gars, c'est l'aboutissement de semaines de la lecture, la recherche et la détermination. C'est mon premier instructable donc espérons que cette aid
Feux de circulation [projet d’Arduino Débutant]

Feux de circulation [projet d’Arduino Débutant]

il s'agit d'un projet de débutants pour l'Arduino. J'utilise l'Arduino Uno mais devrait fonctionner avec peu ou aucune modification sur les autres modèles d'arduino.Il est très facile de mise en place du matériel. Ce projet est plus un outil de forma
Arduino débutant - à l’aide d’un écran TFT de 1,8 pouces

Arduino débutant - à l’aide d’un écran TFT de 1,8 pouces

Il s'agit de votre guide d'introduction à l'utilisation d'un 1.8 en TFT avec un Arduino. J'aime le 1.8 en affichage par sa petite taille et faible coût. J'ai obtenu le mien pour environ 10 $ sur ebay, ici. Il ne vient pas avec des instructions, mais
Un projet de Arduino débutant : Tri Colour par une LED de couleur Bi

Un projet de Arduino débutant : Tri Colour par une LED de couleur Bi

Salut et Bienvenue à mon 7ème instructable. Cette fois je joue avec mon nouveau duemilanove TRduino. En fait c'est un clone d'Arduino faite par Thinnkware et ATMega 328.Arduino est un très bon programmeur, et il est également open source (la chose qu
Mise en route du Kit Arduino (débutant)

Mise en route du Kit Arduino (débutant)

Salut les gars, l'Arduino Starter Kit fourni par ElecFreaks (portant sur Open hardware 4 ans) est un excellent matériau pour permettre aux utilisateurs dans l'apprentissage étape par étape idéalement. Pour ce kit, il n'y a pas besoin de souder, prise
Sécurité alarme détecteur Laser ou capteur pour arduino débutant

Sécurité alarme détecteur Laser ou capteur pour arduino débutant

Salut, les gars aujourd'hui moi et vous tous allons faire un détecteur laser fonctionne avec un Arduino et piezo.Alors, comment ça marche. Lorsque le laser est bloqué à partir de la tête du module le piezo seral'alarme vers le haut.permet donc de dém
Interface Lcd avec Arduino débutant Guide

Interface Lcd avec Arduino débutant Guide

Partie requis1. JHD162A LCD2. carte Arduino3. potentiomètre4. fils de raccordement deCe qui est LCD ?Écran LCD (affichage à cristaux liquides) est la technologie utilisée pour les écrans portables et autres ordinateurs plus petits. Comme les diodes é
Débutant de l’Arduino et Basic Electronics Kit Primer

Débutant de l’Arduino et Basic Electronics Kit Primer

j'ai appris qu'une de mes nièces avait un intérêt dans la programmation.  Elle travaillait avec la robotique à l'école secondaire et a un stage d'été où ils avaient Arduinos.  Je pense qu'elle était en mesure d'emprunter un Arduino pour expérimenter
Maison CNC fraisage machine v2 - arduino uno début

Maison CNC fraisage machine v2 - arduino uno début

Ici, je voulais présenter mon deuxième fraiseuse cnc. À l'heure actuelle, il est prêt 1 axe avec contrôle arduino début. En fin de compte, je vais ajouter que plus d'étapes construit ma machine dans l'ordre de leur création. L'objectif de ce projet e
Shapeoko 2, Arduino UNO R3, début 9g, 8 bit gravure Photo au Laser Diode

Shapeoko 2, Arduino UNO R3, début 9g, 8 bit gravure Photo au Laser Diode

Moi et mon fils a inventé/développe un nouveau concept de "On-The Fly" des photos de 8 bits Diode Laser gravure il y a plus de deux ans. Avec ce concept, la Diode Laser désactive jamais grâce à la photo de toute processus de gravure. Il varie to
Arduino basé sombre interrupteur

Arduino basé sombre interrupteur

Arduino fonction commutateur Dark est un projet simple qui est essentiellement pour Arduino débutants qui ont tout juste commencé à apprendre à utiliser Arduino.Comme son nom l'indique, dans ce projet, on va se mettre en marche les feux automatiqueme
3W 4 « x 4 » Arduino Laser Cutter/graveur

3W 4 « x 4 » Arduino Laser Cutter/graveur

Dans ce tutoriel, vous apprendrez comment faire votre propre 4 pieds par 4 pieds, Arduino contrôlée, graveur laser 3 watt / fraise (pour les matériaux minces) pour environ 300$. La principale chose qui sépare ce tutoriel d'autres tutoriels de graveur
Contrôleur de LED RBG Arduino

Contrôleur de LED RBG Arduino

Ce projet est adapté pour les utilisateurs de Arduino débutant. C'est mon premier Instrucable depuis l'acquisition d'un kit Arduino récemment. Ce projet intègre à l'aide des entrées réglables pour contrôler l'éclairage de couleur d'une LED RGB. Ceci