Faire un simple Wireless bouton (6 / 6 étapes)

Étape 6: programmation

Le moyen le plus simple pour se connecter à le XBee est via un convertisseur série / USB.  La mort plus simple est un USB XBee Explorer tels que réalisé par SparkFun, Adafruit et les suspects habituels.  L’autre plus simple est une évasion FTDI, comme "FTDI ami." de Adafruit  J’ai fait les deux sens.  Pour tous ceux avec un Arduino qui traînent, vous pouvez transformer qu’en un convertisseur série / USB ainsi assez facilement (jusqu'à la Leonardo, c’est--n’est plus en tirant la puce pour autoriser l’accès à la FTDI, parce qu’il n’y a pas plus FTDI sur Leonardo!)  Vous pouvez, cependant, utiliser les ports série ou série de logiciels et envoyer aux commandes d’un Arduino.  J’ai justement aime faire dans un terminal sur mon portable.

Vous pouvez parler à un à l’aide d’un programme de terminal ordinaire, mais c’est gênant sur OS-X, parce que le XBee ne renvoyer la ligne de commande bon nouveau et toutes les réponses se mélangés ensemble.  Heureusement, Tom Igoe est intervenu avec un simple programme de terminal écrit en traitement (et diverses personnes ont développé depuis).  J’utilise une version modifiée du programme original de Tom, qui je suis entré à la main sur le texte dans son livre "Making choses parler."

Voici la dernière version du code que j’utilise :

Import processing.serial.* ;
Serial myPort ;
Chaîne portnum ;
String outString = "" ;
String inString = "" ;
int receivedLines = 0 ;
int bufferedLines = 8 ;

void setup()
{
taille (400, 300) ;
PFont myFont = createFont(PFont.list() [3], 14) ;
textFont(myFont) ;
println(Serial.List()) ;
portnum = Serial.list() [3] ;
myPort = nouvelle série (ce, portnum, 9600) ;
}

void draw()
{
Background(0) ;
texte ("Serial port:" + portnum, 10, 20) ;
texte ("tapé:" + outString, 10, 40) ;
texte ("reçu:" + inString, 10, 80) ;
}

Sub keyPressed()
{
commutateur (clé)
{
cas « \n » :
myPort.write (outString + « \r ») ;
outString = "" ;
rupture ;

cas 8 :
outString = outString.substring (0, outString.length() -1) ;
rupture ;

cas 65535 :
rupture ;

cas « + » :
myPort.write(key) ;
outString += clé ;
rupture ;

par défaut :
outString += clé ;
rupture ;

}
Si (outString == "+++")
{
Delay(2000) ;
outString = « / n » ;
}
}

Sub serialEvent(Serial myPort)
{
inString = « Série événement reçu! » ;
Delay(2000) ;
int inByte = myPort.read() ;
inString += char(inByte) ;
Si (inByte == « \r »)
{
inString += « \n » ;
receivedLines ++ ;
Si (receivedLines > bufferedLines)
{
deleteFirstLine() ;
}
}
}

Sub deleteFirstLine()


{
firstChar int = inString.indexOf('\n') ;
inString = inString.substring(firstChar + 1) ;
}

Forme abrégée ici.  Vous utilisez à commandes qui commencent par un code d’attention (+++, aucun retour chariot) pour obtenir l’attention de la puce, puis une série de commandes chacun suffixée par « AT ».  Elles sont toutes documentées dans le manuel pour le XBee, et si vous ne voulez pas aller aussi loin, les commandes de base pour la mise en place d’un mode de passage de ligne sont copiés dans plusieurs endroits sur le web-- ici, par exemple.

Je me souviens bien, les seules choses que j’ai dû mettre du côté de l’émetteur ont été :

+++ //gets attention du nœud, il répondra avec « OK »
ATMY2 //this est l’identité du soi du nœud
ATDL3 //this est l’octet de poids faible de l’adresse que du nœud veut parler
ATID5555 //this est l’ID de PAN ; l’ID du réseau sur que les deux appareils sont
ATD03 //this met en place la broche 20--e/s numériques 0, comme une entrée numérique
ATICFF / / surveille toutes les broches e/s et envoie une transmission lorsqu’un d'entre eux est modifié.  Il s’agit d’un champ de bits, si vous ne voulez tous.
ATWR / / n’oubliez pas cette commande !  Il écrit les paramètres dans la mémoire
ATAC / / cette commande entraîne le nœud commencer à utiliser les nouveaux paramètres (et le mode de commande de fermeture).

Vous pouvez également forcer l’échantillon à des intervalles en utilisant les commandes IR et il, ainsi que--à l’aide de la goupille de droite--ont le sommeil de nœud quand il n’y a aucune entrée actuelle.

Mon recieiver avait besoin d’avoir les ID réciproques et être mis en place pour la sortie de la broche :

+++
ATRE / / réinitialisation d’usine par défaut--soyons sûrs ici !
ATMY3
ATDL2
ATID5555
ATD05 / maintenant broche 20 is set to change d’État selon les données communiquées par l’émetteur
ATWR
ATAC

Comme vous l’avez peut-être remarqué, il n’y a rien qui force la transmission à l’être unidirectionnelle uniquement.  Nœuds communiquera avec bonheur dans les deux sens avec les lignes de la série (qui n’ont pas été affectés par ce mode de passage de ligne, laissez-moi Remarque!) et ils résonneront joyeusement i/o lignes dans les deux sens aussi bien.

Je recommande fortement d’obtenir les nœuds XBee parler sur le montage d’essai avant de commencer le vissage votre bouton à l’arrière.

Oh ; et l’autre extrémité ?  DETECTER une « faible tiré » est aussi facile que de courir un fil de goupille appropriée de I/O sur le XBee jusqu'à une tige de I/O ouverte sur un Arduino et l’écriture ;

const int xbeePin = 8 ;
const int ledPin = 13 ;

void setup()
{
pinMode (xbeePin, entrée) ;
pinMode (ledPin, sortie) ;
}

void loop()
{
Si (digitalRead(xbeePin) == faible)
{
digitalWrite (ledPin, HIGH) ;
}
d’autre
{
digitalWrite (ledPin, basse) ;
}
}

(Le code ci-dessus devrait fonctionner, mais je l’ai tapé par oeil ici dans l’Instructable.  J’ai obtenu jusqu'à maintenant à habituer à avoir le contrôle d’IDE Arduino--ou traitement--ma syntaxe pour moi!)

La première utilisation, à que j’ai mis mon bouton facile est de connecter le récepteur XBee à un Arduino, j’avais déjà mis en place pour crache un message de note MIDI chaque fois qu’il a vu le signal déclencheur approprié.  Nous avons presque utilisé comme sonnerie jeu-questionnaire-type pour le musical « Lucky Duck ».  Un peu plus tard, j’ai connecté le câble MIDI à notre console d’éclairage et a été en mesure d’exécuter des repères lumineux à partir à l’extérieur de la cabine lumineuse sur une émission où le personnel de tech était Short-handed.

L’horrible gâchis dans la deuxième photo c’est moi en utilisant le bouton pour changer les programmes sur le BlinkM je suis modifiant (aka branché sur mon FAI Adafruit et a écrit de nouveau logiciel au sein de l’IDE Arduino).  Ce dernier peut être un peu inutile d’une radio de 20 $, mais il ne montre pas la flexibilité d’un bouton sans fil autonome.

Articles Liés

Comment faire des fleurs de boutons

Comment faire des fleurs de boutons

si vous voulez faire des fleurs de boutons, hein ?Il s'agit d'un simple guide étape par étape pour faire vos propres petites fleurs mignons de rien mais les boutons et de la colle !Étape 1: Préparer votre matériel. Vous aurez besoin :Boutons (au moin
Comment faire une simple automobile avec bouteille

Comment faire une simple automobile avec bouteille

Salut! Dans ce instructable je vais vous montrer comment faire une simple automobile avec bouteille.Étape 1: Choses nécessaires1: a bouteille2:tape3:Scissors4: bouton marche/arrêt5:Battery.6:Back roues (avec moteur)7:front roues8:LED (facultatif)Étap
Comment faire une Simple lampe de poche LED

Comment faire une Simple lampe de poche LED

https://www.youtube.com/watch?v=QqlzWLRIZzU&feature=youtu.beÉtape 1: Faire une Simple torche LED vous devez ! Une cheville de vêtements, une ampoule à LED avec les longs fils de connecteur, une pile de montre 3 v et du ruban adhésif double face !Étap
Comment faire un simple organe de couleur || TUTORIAL || DIY

Comment faire un simple organe de couleur || TUTORIAL || DIY

Étape 1: Faire un simple organe de couleur vous devez!!! Dans d'aujourd'hui vidéo je vais vous montrer comment faire une musique d'orgue de couleur simple à la maison.Étape 2: Si vous avez des bandes de LED, du temps et patience, vous pouvez faire un
Comment faire un simple accessoire de MineCraft fait maison (pas cher)

Comment faire un simple accessoire de MineCraft fait maison (pas cher)

dans ce tutoriel, ces étapes vous guidera comment faire un minecraft maison bon marché et facile à prop.Vous aurez besoin :Mousse/cartonCiseauxPapier (tout type)ColleJe suggère aussi d'utiliser de carton épais. Prend plus de temps pour couper, mais s
Comment faire un simple générateur de pavées de Minecraft !

Comment faire un simple générateur de pavées de Minecraft !

Dans ce tutoriel, je vais vous montrer comment faire un simple générateur de pavées de Minecraft !Étape 1: matériaux *Stone* Un seau de lave* Un seau d'eauÉtape 2: Comment le faire ! * Faire un 5 de large par 5 long par 2 haut rectangle Pierre* faire
{LINDA} Comment faire un simple Wedding Shrug

{LINDA} Comment faire un simple Wedding Shrug

http://www.diyweddinggowns.com/Linda Shrug. Comment faire un simple Wedding Shrug. Il s'agit d'un simple tutoriel DIY sur comment créer un mariage haussement d'épaules à l'aide d'élastiques et tulle.
Comment faire une simple fleur quilling - Tutorial 1 (Fiori)

Comment faire une simple fleur quilling - Tutorial 1 (Fiori)

DIY Comment faire un simple de quilling fleurs - tutoriel 1 - pour les débutantsFlori - Quilling pentru incepatoriNous vous invitons à vous abonner à cette chaîne de regarder les vidéos futures !http://xlY.us/XI9s4N'oubliez pas de tout, de commenter
Comment faire un simple mais mortelle jeter étoiles.

Comment faire un simple mais mortelle jeter étoiles.

Hi there !Dans cette vidéo je va vous montrer comment faire un simple mais mortelle jeter étoiles.Mise en garde ! C'est incroyablement dangereux ! Faire à vos propres risques et ne la jetez pas à tout ce que vous ne prévoyez pas de frapper !Aussi s'i
Comment faire un simple détail de voiture de vinyle bicolore.

Comment faire un simple détail de voiture de vinyle bicolore.

Hey il makers, voici comment faire un simple deux couleur autocollant de voiture de vinyle.Ingrédients :-Vinyle, au moins deux couleurs-Papier transfert-Tac rapidePréparer votre conception en deux parties - la partie « conception », que j'ai en jaune
Faire un Bracelet de bouton - une façon amusante de recycler les boutons

Faire un Bracelet de bouton - une façon amusante de recycler les boutons

vous cherchez un plaisir projets d'artisanat pour les enfants ? (Chef Scout de fille, institutrice, maman de l'école à la maison) ou en essayant de penser à quelque chose d'amusant vous pouvez faire donner comme cadeaux cette année ?J'ai l'idée parfa
Faire un Simple Robot humanoïde bipède (Servo Walking Robot)

Faire un Simple Robot humanoïde bipède (Servo Walking Robot)

Bipèdes sont vraiment cool parce qu'ils sont de loin le plus reconnaissable genre de robot. Les entreprises ont passé des décennies et des millions pour faire ces choses. J'ai eu envie de faire un robot bipède pour un certain temps maintenant, mais l
Comment faire un Simple battement ptérodactyle jouet

Comment faire un Simple battement ptérodactyle jouet

dans ce Instructable je vais vous montrer comment faire un simple mais très agréable jouet.C'est un pteradactyl qui bat des ailes comme vous une paille monter et descendre - ceci est basé sur quelque chose que j'ai vu au Centre for Life de Newcastle,
Comment faire un Simple jeu vidéo

Comment faire un Simple jeu vidéo

jeux vidéo. Le point principal de maisons autour des world-some gens ont souvent une chambre juste pour les jeux ! Si vous aimez les jeux vidéo, pourquoi ne pas vous faire un simple dans un premier temps ? Cet article vous aidera à faire un simple je