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

Étape 3: Programmer l’Arduino : récepteur


Le récepteur a été programmé de sorte qu’il a reçu des données en série de l’émetteur et ensuite envoyé 5V à travers les broches e/s numériques appropriées. Par exemple, si « a » a été reçue, la carte Arduino récepteur rendrait Digital i/o 1 être 0V. Si « b » a été reçue, la carte Arduino récepteur ferait Digital i/o 1 être 5V. Si « c » a été reçue, la carte Arduino récepteur ferait Digital i/o 2 être 0V. Si « d » a été reçu ensuite la carte Arduino récepteur ferait Digital i/o 2 être 5V. Voici les étapes nécessaires pour transférer le code pour le récepteur Arduino :

1. Retirez le bouclier de Proto de l’Arduino que vous choisissez comme le microprocesseur de l’ATMEGA récepteur doit dans la carte Arduino.
2. connecter l’Arduino à un ordinateur via le câble USB.
3. Ouvrez le logiciel Arduino sur votre ordinateur
4. Sélectionnez Outils Serial Port, puis sélectionnez le COM port qui fait référence à votre carte Arduino. C’est généralement le premier port COM dans la liste.
5. 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 reçoit des informations d’une radio de MaxStream XBee.

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

int outputPin2 = 2 ;
int outputPin3 = 3 ;
int outputPin4 = 4 ;
int outputPin5 = 5 ;
int outputPin6 = 6 ;
int outputPin7 = 7 ;
int outputPin8 = 8 ;
int outputPin9 = 9 ;
int outputPin10 = 10 ;
int outputPin11 = 11 ;
int outputPin12 = 12 ;
int outputPin13 = 13 ;

un octet pour recevoir des données :

char inByte = 0 ;
char inByte2 = 0 ;
char inByte3 = 0 ;
char inByte4 = 0 ;
char inByte5 = 0 ;
char inByte6 = 0 ;
char inByte7 = 0 ;
char inByte8 = 0 ;
char inByte9 = 0 ;
char inByte10 = 0 ;
char inByte11 = 0 ;
char inByte12 = 0 ;
char inByte13 = 0 ;

annuler le programme d’installation () {}
défini convenablement les broches d’entrée et de sortie

pinMode (outputPin2, sortie) ;
pinMode (outputPin3, sortie) ;
pinMode (outputPin4, sortie) ;
pinMode (outputPin5, sortie) ;
pinMode (outputPin6, sortie) ;
pinMode (outputPin7, sortie) ;
pinMode (outputPin8, sortie) ;
pinMode (outputPin9, sortie) ;
pinMode (outputPin10, sortie) ;
pinMode (outputPin11, sortie) ;
pinMode (outputPin12, sortie) ;
pinMode (outputPin13, sortie) ;

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éfinissez le MY (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("my1,") ;
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,my1,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("ATMY1") ;
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 () {}
obtenez toutes les données entrantes :
Si (Serial.available() > 1) {}
lire un octet
inByte = Serial.read() ;
Serial.Print(inByte) ;
la LED s’allume si un 1 a été reçu
Si (inByte == « a ») {}
digitalWrite (outputPin2, basse) ;
}
Si (inByte == « b ») {}
digitalWrite (outputPin2, HIGH) ;
}

Si (inByte == « c ») {}
digitalWrite (outputPin3, basse) ;
}
Si (inByte == a ') {}
digitalWrite (outputPin3, HIGH) ;
}

Si (inByte == « e ») {}
digitalWrite (outputPin4, basse) ;
}
Si (inByte == « f ») {}
digitalWrite (outputPin4, HIGH) ;
}

Si (inByte == « g ») {}
digitalWrite (outputPin5, basse) ;
}
Si (inByte == « h ») {}
digitalWrite (outputPin5, HIGH) ;
}

Si (inByte == « i ») {}
digitalWrite (outputPin6, basse) ;
}
Si (inByte == « j ») {}
digitalWrite (outputPin6, HIGH) ;
}

Si (inByte == « k ») {}
digitalWrite (outputPin7, basse) ;
}
Si (inByte == « l ») {}
digitalWrite (outputPin7, HIGH) ;
}

Si (inByte == suis ') {}
digitalWrite (outputPin8, basse) ;
}
Si (inByte == ' n ') {}
digitalWrite (outputPin8, HIGH) ;
}

Si (inByte == ' o ') {}
digitalWrite (outputPin9, basse) ;
}
Si (inByte == « p ») {}
digitalWrite (outputPin9, HIGH) ;
}

Si (inByte == « q ») {}
digitalWrite (outputPin10, basse) ;
}
Si (inByte == « r ») {}
digitalWrite (outputPin10, HIGH) ;
}

Si (inByte == de ') {}
digitalWrite (outputPin11, basse) ;
}
Si (inByte == ' t ') {}
digitalWrite (outputPin11, HIGH) ;
}

Si (inByte == « u ») {}
digitalWrite (outputPin12, basse) ;
}
Si (inByte == « v ») {}
digitalWrite (outputPin12, HIGH) ;
}

Si (inByte == « w ») {}
digitalWrite (outputPin13, basse) ;
}
Si (inByte == « x ») {}
digitalWrite (outputPin13, HIGH) ;
}

}
}

void blinkLED (int targetPin, int numBlinks) {}
Cette fonction clignote le statut LED lumière autant de fois que demandé
pour (int i = 0; i
digitalWrite (targetPin, HIGH) ; définit la LED sur
Delay(250) ; attend une seconde
digitalWrite (targetPin, basse) ; la LED se met
Delay(250) ;
}
}

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 ;
}

6. 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 ».
7. 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échargement le code pour le récepteur 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,