Comment faire un bouton virtuel avec l'Arduino

Vous apprendrez comment faire un bouton à l'écran dans le traitement qui affecte une LED physique sur votre Arduino. Ceci est une excellente esquisse pour commencer avec des interactions entre les ordinateurs et le monde réel, et entre un Arduino et Processing.

Sommaire

Tu as besoin:

  • Un Arduino Uno

  • Une LED

La configuration est simple pour cette introduction à Arduino et Processing, ne nécessitant qu'une seule LED.

image0.jpg

Insérez la jambe longue de la LED dans la broche 13 et la branche courte dans GND. Si vous ne disposez pas d'une LED, vous pouvez simplement suivre la LED bord marqué L.

image1.jpg

Comment mettre en place le code Arduino




Après votre circuit est assemblé, vous avez besoin du logiciel approprié de l'utiliser. Dans le menu Arduino, choisissez Fichier-exemples-04.Communication-PhysicalPixel pour trouver l'esquisse.

Cette esquisse contient à la fois le code Arduino et le code de traitement pertinent pour l'esquisse de travailler (il a aussi une variation de Max 5). Le code sous le code Arduino est commenté pour éviter d'interférer avec le code Arduino.

Dans les anciennes versions de Arduino, les fichiers croquis pris fin avec .pde, qui est le suffixe de traitement. Cela a provoqué la confusion, alors maintenant le suffixe est Arduino .ino. Différents suffixes permettre d'avoir l'esquisse Arduino et l'esquisse de traitement dans le même lieu.

/ * Physique exemple de Pixelan de l'utilisation de la carte Arduino à recevoir des données à partir thecomputer. Dans ce cas, les cartes Arduino tourne sur une LED whenit reçoit le caractère «H», et éteint le LED lorsque itreceives le caractère 'de données L'.Les peut être envoyé par le moniteur de série Arduino, ou anotherprogram comme traitement (voir code ci-dessous), Flash (via une série-NetProxy), PD, ou un circuit Max / MSP.The: * LED connectée à partir de la broche numérique 13 à groundcreated 2006by David A. Mellismodified 30 août 2011by Tom Igoe et Scott FitzgeraldThis exemple de code est dans le public domain.http: //arduino.cc/en/Tutorial/PhysicalPixel*/const int ledPin = 13- // la broche que le LED est attaché àint incomingByte- // une variable pour lire les données série entrantes configuration intovoid () {// initialiser la communication série: Serial.begin (9600) - // initialiser la broche LED comme une sortie: pinMode (ledPin, SORTIE) -} void loop ( ) {// voir si il ya des données série entrant: si (Serial.available ()> 0) {// lire l'octet le plus ancien dans le tampon série: incomingByte = Serial.read() - // Si elle est un grand H (ASCII 72), tourner sur la LED:si (incomingByte == 'H') {DigitalWrite (ledPin, HIGH) -} // si elle est un L (ASCII 76) éteindre la LED:si (incomingByte == 'L') {DigitalWrite (ledPin, LOW) -}}}

Maintenant, allez à travers les étapes pour télécharger votre croquis.

Avec l'Arduino configuré pour recevoir un message de traitement, vous avez besoin de mettre en place le schéma de traitement pour envoyer un message de signal sur le même port série à votre Arduino.

Comment mettre en place le code de traitement

Ce code est disponible dans les marqueurs de commentaire multiligne (/ * * /) Au bas de l'esquisse Arduino PhysicalPixel. Copiez le code dans les marqueurs de commentaires, le coller dans une nouvelle esquisse de traitement, et l'enregistrer avec un nom approprié, tel que PhysicalPixel.

 // // Passage de la souris série montre comment envoyer des données à la carte Arduino E / S, afin d'// allumer une lumière si la souris est sur un carré et désactiver // si la souris ne soit pas créé .// 2003-4 // basés sur des exemples par Casey Reas et Hernando Barragan // Modifié le 30 août 2011 par Tom Igoe // // Cet exemple de code est dans le domaine public.importation processing.serial *. -flotteur boxX-flotteur boxY-int BoxSize = 20booléen mouseOverBox = faux-Serial Port-vide setup () {taille(200, 200) = -boxX largeur/2.0-boxY = hauteur/2.0-rectMode(RADIUS)-// Liste tous les ports série disponibles dans le volet de sortie .// Vous devrez choisir le port que la carte Arduino est // connecté à partir de cette liste. Le premier port de la liste est // port # 0 et le troisième port dans la liste est le port # 2.println(Série.liste()) - // Ouvre le port que la carte Arduino est connecté à (dans ce cas 0 #) // Assurez-vous d'ouvrir le port à la même vitesse Arduino utilise (9600 bps) port = nouveau (Serialce, Série.liste() [0], 9600) -} void draw () {background (0) - // Test si le curseur est sur la boîtesi (mouseX > Boxx-BoxSize mouseX lt; Boxx + BoxSize mouseY > Boxy-BoxSize mouseY lt; Boxy + BoxSize) {mouseOverBox = vrai-// Tracer une ligne autour de la boîte et changer sa couleur:accident vasculaire cérébral(255) -remplir(153) - // envoyer un «H» pour indiquer la souris est sur place: port.write ('H') -} else {// retourner la boîte à son état inactif:accident vasculaire cérébral(153) -remplir(153) - // envoie un «L» pour éteindre la LED: port.write ('L') -mouseOverBox = faux-} // Dessine la boîterect(Boxx, Boxy, BoxSize, BoxSize) -}

Cliquez sur le bouton Run pour exécuter l'esquisse de traitement, et une applet apparaît. L'applet montre un fond noir avec un carré gris au milieu, représentant votre bouton virtuel. Si vous déplacez votre souris sur le carré gris (ou pixel), vous pouvez voir que ses bords deviennent blancs.

Si vous regardez ensuite à votre Arduino, vous voyez que chaque fois que la souris survole le carré gris, la LED de votre conseil éclaire, vous donnant une représentation physique de votre pixel.

image2.jpg

Si votre voyant éteint, vérifiez votre câblage:

  • Assurez-vous que vous utilisez le code PIN correct.

  • Assurez-vous que les jambes LED sont dans le bon sens.

  • Vérifiez que votre code Arduino téléchargé correctement et que votre code de traitement n'a pas d'erreurs. Notez que vous ne pouvez pas télécharger tout le croquis de traitement communique avec votre Arduino, de sorte que vous devez arrêter le croquis avant de le télécharger.


» » » » Comment faire un bouton virtuel avec l'Arduino