Modification de la Wiimote sans fil pour les personnes handicapées (2 / 17 étapes)

Étape 2: Programmer l’Arduino : émetteur


L’émetteur de l’Arduino a été programmé afin que lorsqu’un ou plusieurs des commutateurs connecté à l’e/s numériques, 2-13 a été pressé qu’une certaine lettre de l’alphabet serait transmises sans fil au fil de la série. Par exemple, il passer 1 devait être éteint, la lettre « a » a été envoyé sans fil au fil de la série. Commutateur 1 devait être sur la lettre « b » était envoie sans fil au fil de la série. Si le commutateur 2 devait être éteint, la lettre « c » a été sans fil envoyée au cours de la série. Si le commutateur 2 devait être actionné la lettre « d » a été envoyée. Un exemple de toute la transmission série de 12 commutateurs peut être vu ci-dessous :
• Exemple 1: interrupteur 1 et 3 sont fermés, tous les autres interrupteurs sont ouverts
o « bcfgikmoqsuw »
• Exemple 2: commutateur 2, 3 et 5 sont fermés, et tous les autres interrupteurs sont ouverts
o « adfgjkmoqsuw »

Voici la répartition de la façon dont l’émetteur Arduino a été programmé.
1. Retirez le bouclier de Proto de l’Arduino que vous choisissez comme l’émetteur. Le microprocesseur ATMEGA devrait être dans la carte Arduino.
2. Télécharger le programme Arduino sur le site d’Arduino (www.arduino.cc)
3. Brancher l’Arduino à un ordinateur via le câble USB.
4. Ouvrez le logiciel Arduino sur votre ordinateur
5. Sélectionnez Outils -> Serial Port -> et puis sélectionnez le port COM qui fait référence à votre carte Arduino. C’est généralement le premier port COM dans la liste.
6. Copiez et collez le code suivant dans la fenêtre de code Arduino. Notez que ce code est pour transmission à un débit de 19200 bauds. Si vous avez besoin de transmettre, à une vitesse de transmission différents que partout dans le code il est dit 19200, changez-le à votre vitesse de transmission désiré.

Ce programme envoie des informations d’une radio de MaxStream XBee.

hors série est sur le port 1
série en est sur le port 0

une entrée numérique est sur les ports 2 à 13

int switchPin2 = 2 ;
int switchPin3 = 3 ;
int switchPin4 = 4 ;
int switchPin5 = 5 ;
int switchPin6 = 6 ;
int switchPin7 = 7 ;
int switchPin8 = 8 ;
int switchPin9 = 9 ;
int switchPin10 = 10 ;
int switchPin11 = 11 ;
int switchPin12 = 12 ;
int switchPin13 = 13 ;

un octet d’envoyer des données :
char thisByte2 = 0 ;
char thisByte3 = 0 ;
char thisByte4 = 0 ;
char thisByte5 = 0 ;
char thisByte6 = 0 ;
char thisByte7 = 0 ;
char thisByte8 = 0 ;
char thisByte9 = 0 ;
char thisByte10 = 0 ;
char thisByte11 = 0 ;
char thisByte12 = 0 ;
char thisByte13 = 0 ;
annuler le programme d’installation () {}
défini convenablement les broches d’entrée et de sortie
pinMode (switchPin2, entrée) ;
pinMode (switchPin3, entrée) ;
pinMode (switchPin4, entrée) ;
pinMode (switchPin5, entrée) ;
pinMode (switchPin6, entrée) ;
pinMode (switchPin7, entrée) ;
pinMode (switchPin8, entrée) ;
pinMode (switchPin9, entrée) ;
pinMode (switchPin10, entrée) ;
pinMode (switchPin11, entrée) ;
pinMode (switchPin12, entrée) ;
pinMode (switchPin13, entrée) ;
Démarrer la connexion série avec 19200-8-n-1-true (non-inversé) :
Serial.Begin(19200) ;

pour une raison quelconque, il semble pour aider à envoyer un caractère arbitraire tout d’abord
puis mettez en pause pour le temps de garde avant de demander le mode commande
Serial.Print("X") ;
Delay(1100) ;
mettre le XBee en mode commande
Serial.Print("+++") ;
Delay(1100) ;
attendre une réponse de le XBee pour 2000 ms, ou commencer
avec le programme d’installation si aucune réponse valide n’est

Si (returnedOK() == ' t ') {}
Si OK a été reçue, puis continuer
}
else {}
Setup() ; dans le cas contraire, revenir en arrière et recommencez le programme d’installation
}

définir le PAN (réseau personnel) ID nombre
Cet exemple utilise 0x3330, mais vous aurez envie de choisir votre propre
nombre hexadécimal unique entre 0 x 0 et 0xFFFE
(Notez la virgule à la fin de la commande qui indique qu’une autre commande suivra)
Serial.Print("ATID3330,") ;
définir la Destination haut sur 0 x 0
pour sélectionner 16 bit mode d’adressage. Ces adresses peuvent
être affecté et changé en envoyant des commandes d’un microcontrôleur
Serial.Print("DH0,") ;
définir la Destination Low (adresse de 16 bits)
Cet exemple utilise 0 x 0 pour envoyer et 0 x 1 pour recevoir, mais vous aurez
pour choisir vos propres numéros hexadécimaux entre 0 x 0 et 0xFFFE

Serial.Print("DL1,") ;
quitter le mode commande (Notez que nous utilisons Serial.printLN ici pour délivrer un saut de ligne qui termine la séquence de commandes)
Serial.println("CN") ;

les commandes précédentes peuvent également être envoyés sur une seule ligne comme ceci, en utilisant un seul au commandement par des virgules :
Serial.println("ATID3330,DH0,DL1,CN") ;

la ligne de commande qui précède pourrait également être envoyée comme des commandes séparées, publie de nouveau la commande :
Serial.println("ATID3330") ;
Serial.println("ATDH0") ;
Serial.println("ATDL1") ;
Serial.println("ATCN") ;

attendre une réponse de le XBee pour 2000 ms, ou commencer
avec le programme d’installation si aucune réponse valide n’est

Si (returnedOK() == ' t ') {}
Si OK a été reçue, puis continuer
}
else {}
Setup() ; dans le cas contraire, revenir en arrière et recommencez le programme d’installation
}

}

void loop () {}
lire l’interrupteur :
thisByte2 = digitalRead(switchPin2) ;
convertir en une valeur ASCII lisible, envoyez-le sur le port série :
Delay(20) ;
Si (thisByte2 == 0) {}
thisByte2 = « a » ; }
Si (thisByte2 == 1) {}
thisByte2 = "b";}
Serial.Print(thisByte2) ;

thisByte3 = digitalRead(switchPin3) ;
Delay(20) ;
Si (thisByte3 == 0) {}
thisByte3 = « c » ; }
Si (thisByte3 == 1) {}
thisByte3 = a ';}
Serial.Print(thisByte3) ;

thisByte4 = digitalRead(switchPin4) ;
Delay(20) ;
Si (thisByte4 == 0) {}
thisByte4 = « e » ; }
Si (thisByte4 == 1) {}
thisByte4 = "f";}
Serial.Print(thisByte4) ;

thisByte5 = digitalRead(switchPin5) ;
Delay(20) ;
Si (thisByte5 == 0) {}
thisByte5 = « g » ; }
Si (thisByte5 == 1) {}
thisByte5 = "h";}
Serial.Print(thisByte5) ;

thisByte6 = digitalRead(switchPin6) ;
Delay(20) ;
Si (thisByte6 == 0) {}
thisByte6 = « i » ; }
Si (thisByte6 == 1) {}
thisByte6 = "j";}
Serial.Print(thisByte6) ;

thisByte7 = digitalRead(switchPin7) ;
Delay(20) ;
Si (thisByte7 == 0) {}
thisByte7 = « k » ; }
Si (thisByte7 == 1) {}
thisByte7 = "l";}
Serial.Print(thisByte7) ;

thisByte8 = digitalRead(switchPin8) ;
Delay(20) ;
Si (thisByte8 == 0) {}
thisByte8 = am' ; }
Si (thisByte8 == 1) {}
thisByte8 = ' n ";}
Serial.Print(thisByte8) ;

thisByte9 = digitalRead(switchPin9) ;
Delay(20) ;
Si (thisByte9 == 0) {}
thisByte9 = ' o ' ; }
Si (thisByte9 == 1) {}
thisByte9 = "p";}
Serial.Print(thisByte9) ;

thisByte10 = digitalRead(switchPin10) ;
Delay(20) ;
Si (thisByte10 == 0) {}
thisByte10 = « q » ; }
Si (thisByte10 == 1) {}
thisByte10 = "r";}
Serial.Print(thisByte10) ;

thisByte11 = digitalRead(switchPin11) ;
Delay(20) ;
Si (thisByte11 == 0) {}
thisByte11 = de ' ; }
Si (thisByte11 == 1) {}
thisByte11 = ' t ';}
Serial.Print(thisByte11) ;

thisByte12 = digitalRead(switchPin12) ;
Delay(20) ;
Si (thisByte12 == 0) {}
thisByte12 = « u » ; }
Si (thisByte12 == 1) {}
thisByte12 = 'v';}
Serial.Print(thisByte12) ;

thisByte13 = digitalRead(switchPin13) ;
Delay(20) ;
Si (thisByte13 == 0) {}
thisByte13 = « w » ; }
Si (thisByte13 == 1) {}
thisByte13 = "x";}
Serial.Print(thisByte13) ;

}

char returnedOK () {}
Cette fonction vérifie la réponse sur le port série pour voir si c’était un « OK » ou non
char incomingChar [3] ;
char okString [] = "OK" ;
char de résultat = ' n ' ;
int startTime = millis() ;
tandis que (millis() - startTime < 2000 & & résultat == ' n ') {/ / utiliser un délai d’attente de 10 secondes
Si (Serial.available() > 1) {}
lire trois octets entrants qui doivent être « O », « K » et un saut de ligne :
pour (int i = 0; i < 3; i ++) {}
incomingChar [i] = Serial.read() ;
}
Si (strstr (incomingChar, okString)! = NULL) {/ / vérifier si la suite est « OK »
Si (incomingChar [0] == ' o ' & & incomingChar [1] == « K ») {/ / vérifier si les deux premiers caractères sont « OK »
résultat = ' t ' ; T retour si « OK » fut la réponse
}
else {}
résultat = « F » ; sinon retourner F
}
}
}
retourner le résultat ;
}

7. une fois que le code a été copié dans la fenêtre de code Arduino, sélectionnez « Compiler » pour vérifier qu’il n’y a pas d’erreurs dans le code. Si aucune erreur n’est présents, puis appuyez sur le « transférer vers le bouton i/o Board ».
8. une fois que le code a été téléchargé dans la carte Arduino, débranchez le câble USB et rattacher le ProtoShield (y compris le module Xbee). Vous avez maintenant terminé Télécharger le code de l’émetteur de l’Arduino.

Articles Liés

Rendre le Web plus Accessible pour les personnes handicapées

Rendre le Web plus Accessible pour les personnes handicapées

rapports indiquent qu' au moins 2,1 millions de l'utilisation estimée de 54,4 millions d'américains souffrant d'un handicap Internet. Pour les personnes handicapées, accéder à et de vivre pleinement documents présentés sur Internet peuvent souvent êt
Bras robotique pour les personnes handicapées

Bras robotique pour les personnes handicapées

bras robotique dans les statsUn bras mécanique est robotique, habituellement programmable, avec des fonctions similaires à un bras humain. Les liens de tel un manipulateur sont reliés par des raccords permettant un mouvement de rotation (par exemple,
L’un d’un aimable Machines de mobilité personnalisé pour les personnes handicapées !

L’un d’un aimable Machines de mobilité personnalisé pour les personnes handicapées !

Mon idée !L'un d'un aimable Machines de mobilité personnalisé pour les personnes handicapées !J'ai conçu et construit toutes sortes de machines dans le passé.J'ai conçu des machines pour Robot Wars et construit plus de 30 véhicules électriques et les
Souris pour les personnes handicapées de la main

Souris pour les personnes handicapées de la main

j'ai pensé à ce instructable quand j'ai vu une de mes tantes, elle a des problèmes lorsque vous utilisez la souris d'ordinateur, parce que ses mains tremblent beaucoup en raison d'un problème de maladie.En résumé, c'est une modification de la télécom
Dispositif de Vision anti-nocturne ¡¡¡CAUTION, non sans danger pour les personnes sujettes épileptique ou saisie!!!

Dispositif de Vision anti-nocturne ¡¡¡CAUTION, non sans danger pour les personnes sujettes épileptique ou saisie!!!

Avez-vous déjà été préoccupé par faire bricolage Vision de nuit, il y a, et pourtant il n'y a aucun anti-Night Vision Instructables ? Comment de nombreux tutoriels DIY Drone sont là, mais pas anti-Drones ? Comment protégeons-nous nous-mêmes et notre
Force & Fitness exercices pour les personnes handicapées

Force & Fitness exercices pour les personnes handicapées

je fais du bénévolat dans un organisme appelé AccesSports qui prend les activites qui le plus agile des athlètes trouve difficile et apporte ces sports aux enfants et aux adultes handicapés. La joie de vivre inhérente à chaque sport est juste une par
Tableau de communication pour les personnes handicapées

Tableau de communication pour les personnes handicapées

L'incapacité de parler ou s'exprimer peut être frustrante et peut produire un obstacle sérieux dans une relation patient-médecin. Cet appareil simple et peu coûteux permet aux personnes ayant une déficience communiquer avec les soignants et les fourn
Discours virtuel pour les personnes vocalement contestée (Intel IOT)

Discours virtuel pour les personnes vocalement contestée (Intel IOT)

Nous avions prévu de fournir une solution intelligente pour les personnes handicapées vocalement à communiquer comme des comme des gens normaux. Cette méthode implique la reconnaissance de mouvements musculaires de la main avec précision et s'intègre
Solar powered véhicule zéro émission pour les gens handicapés

Solar powered véhicule zéro émission pour les gens handicapés

le réchauffement climatique est le principal facteur qui montre un point d'interrogation sur la vie des êtres humains, animaux, etc.. Pour remédier à cet effet, il est nécessaire d'introduire le « véhicule respectueux de l'environnement ». Il s'agit
Utiliser votre Mac OSX comme un adaptateur sans fil pour votre console XBOX 360

Utiliser votre Mac OSX comme un adaptateur sans fil pour votre console XBOX 360

j'ai vu un autre guide sur la façon de le faire ici, mais c'était horriblement mal et à gauche sur tant de choses, alors j'ai décidé de faire mes propres.Étape 1: Ce que vous aurez besoinVous n'avez vraiment beaucoup à cela.Tout ce dont vous avez bes
Comment pirater une manette Xbox sans fil pour faire un robot autonome !

Comment pirater une manette Xbox sans fil pour faire un robot autonome !

Introduction:Ce projet est venu en essayant de faire un robot autonome faible coût destiné àéducation. L'idée étant que les élèves seraient en mesure d'identifier avec la manette Xboxet bonne chance il pirater quelque chose de beaucoup plus intéressa
Programme de téléchargement sans fil pour Arduino sans câble USB

Programme de téléchargement sans fil pour Arduino sans câble USB

Programmateur sans fil Arduino est conçu pour télécharger le programme de votre PC/ordinateur portable à Arduino à bord juste par Bluetooth.Alors maintenant que vous pouvez mettre à jour le programme de cartes Arduino à laquelle était jointe dans la
Meilleur des paramètres sans fil pour DD-WRT TP-LINK TL-WR841ND V10

Meilleur des paramètres sans fil pour DD-WRT TP-LINK TL-WR841ND V10

Meilleur des paramètres sans fil pour DD-WRT TP-LINK TL-WR841ND V10
Smartphone pour les personnes âgées/nuls

Smartphone pour les personnes âgées/nuls

So thisLAZY vieux GEEK (LOG) a décidé d'obtenir un smartphone. Donc être qui je suis, il s'agissait d'une prise de décision et ce Instructable explique certaines de mes décisions, alors peut-être que ce pourrait être appelé :Smartphone pour les nuls,