Étape 1: Faire connaissance avec les composants
Dans cette étape, je donne quelques informations importantes sur les composants du robot et la façon de les préparer pour le montage.
En premier lieu, le coeur du robot : un Arduino UNO R3. Bien que je suis en utilisant un Arduino UNO, vous pouvez utiliser les autres cartes Arduino pour monter votre robot. J’ai décidé d’utiliser un Arduino UNO, parce que c’est, de loin, la plus populaire carte Arduino et plus de gens seraient en mesure de reconstruire ce robot. Si vous avez un Arduino DUE, vous pouvez également ajouter les réponses de voix à votre robot comme je l’ai fait dans ce Instructable.
Pour déplacer les moteurs DC, j’ai utilisé ce bouclier de Pololu (photo ci-dessus). C’est un double moteur capable sur le contrôle de 5 à 28 v DC motors et remettre à courant continu 3 a par moteur. Bien que je pense qu’il s’agit d’un très bon bouclier, ce qui m’a impressionné le plus dans les produits de Pololu est leur documentation claire et détaillée. En outre, Pololu fournit une bibliothèque Arduino qui rend très simple pour commander les moteurs. Il suffit de passer la vitesse et la direction (valeurs positives ou négatives) à la fonction setSpeeds . Si vous choisissez d’utiliser un autre moteur DC, faites attention aux broches utilisées par le pilote, car ils ne peuvent pas entrer en conflit avec n’importe quel autre code pin utilisé par le robot. Le bouclier de Pololu utilise les broches Arduino suivants : digital 4, 7, 8, 9, 10 et 12 ; analogique 0 et 1 ; au sol ; et 5V. L’aspect le plus important ici est que seulement les broches 9 et 10 sont utilisées comme broches PWM et le minuteur utilisé pour générer des impulsions sur ces broches n’est pas le même timer (minuterie 2 sur la UNO) utilisé par la classe de BVSMic de BitSophia.
Pour établir la communication avec le serveur et accéder aux services de serveur BitVoicer, j’utilise la puce WiFi RN171VX module. Deux caractéristiques principales se distinguent dans ce module : toute communication peut se faire via le port série de manière simple ; et le module possède le même encombrement que la plupart des modules XBee populaires. En d’autres termes, si vous avez déjà un bouclier XBee, vous probablement pas devront acheter le bouclier Sparkfun que j’utilise dans ce robot.
En utilisant le bouclier XBee avec le module WiFi de Microchip fait le robot assez facile de montage. Cependant, j’ai identifié un problème dans cette combinaison. On sait que travailler avec radio est extrêmement complexe et considéré par certains comme « magie vaudou ». Eh bien, j’ai remarqué que tandis que le WiFi Adaptateur se trouve sur et transmission de données, une forte interférence du signal audio, mesurée par l’Arduino ADC. Je n’étais pas en mesure d’identifier précisément la source de cette ingérence, mais j’ai deux sources possibles : les tirages actuels de module PIC (jusqu'à 240mA) n’est pas être correctement découplées et compromettre la tension de référence fournie à l’ADC Arduino ; ou le signal émis par l’antenne est ramassé par certaines broches exposées juste en dessous du module. Généralement, les fabricants de modules WiFi instruisent concepteurs éviter d’imposer quoi que ce soit (même les avions au sol) près de l’antenne précisément pour éviter ce genre de question.
Pour corriger le problème décrit ci-dessus, j’ai soudé un 3.3V régulateur de tension et de 10μF un condensateur électrolytique à le Sparkfun bouclier alors qu’ils pourraient fournir la tension de référence à l’ADC de l’Arduino. La même source d’alimentation est utilisée par le microphone à électret Sparkfun. Il a résolu les problèmes de volume de pointe que je voyais dans le Gestionnaire de serveur BitVoicer. Même pendant les périodes de silence, le niveau audio devenait plus élevé que 35 (0-100) dans le Serveur moniteur. Si vous voyez la même chose se passe dans votre projet, examinez ce qui se passe avec le signal audio, mesuré par l’ADC Arduino.
J’ai décidé que j’allais aussi d’utiliser l’espace de prototypage disponible dans le bouclier de Sparkfun à souder quelques LEDs qui indiquent le statut d’un serveur BitVoicer fonctionnalités. Dans les images ci-dessus, vous pouvez voir comment j’ai soudé les composants sur le bouclier de Sparkfun. L’information suivante est exposée par les LEDs, de gauche à droite :
- Indique si BitVoicer Server est en cours d’exécution ou si la connexion reste active ;
- Indique si le service d’acheminement de données s’exécute ;
- Indique si un moteur de reconnaissance vocale a été assignés à l’Arduino ;
- Indique si nous sommes dans le mot-activé-période d’activation. Cette LED s’allume seulement quand le mot activation est identifié.
Concernant le microphone à électret préamplifié, il existe de nombreuses options disponibles sur le marché : Sparkfun, Adafruit, RoboCore, Hackerstore et probablement beaucoup d’autres. Pour utiliser le code que je poste sur ce Instructable, vérifiez que le microphone que vous achetez est analogique, la tension requise est disponible dans votre carte Arduino et l’amplification est élevée assez (habituellement 100 x pour microphones électret) pour l’ADC Arduino.
Le châssis de 2RM utilisé dans le robot est un des moins chers et plus populaires sur ebay. Le kit complet contient une seule plate-forme acrylique, deux roues en plastique/caoutchouc, une 360º roue, deux moteurs à courant continu avec des engins (01:48 ratio), un support de batterie 4xAA, deux disques de codeur de vitesse et un jeu de vis.