Étape 4: L’électronique
Source d’alimentation:
oiO utilise une batterie recharchable 1300mA de 11,1 volts, principalement utilisée par les voitures et les avions RC. Avec cette batterie, oiO peut fonctionner autonome de 13 heures. Plus tard, j’ai l’intention d’utiliser le mode de sommeil de l’Arduino et quelques autres trucs pour réduire la consommation électrique de l’oiO.
Depuis que j’ai certains composants gourmands en énergie (3 servos et 2 NeoPixels), donc j’ai leur fourni une source d’alimentation externe 5v régulée (max 1 ampère) à l’aide du régulateur de tension linéaire 7805. Pour l’Arduino, il est alimenté aussi extérieurement, mais par l’intermédiaire de son propre régulateur de puissance. De cette façon, j’ai une séparation totale entre les charges capacitives et l’Arduino. J’ai aussi ajouté un 100mF sur la +/-rail d’alimentation de servos, cela aidera gardant le voltage stable quand les servos fais des mouvements brusques. En outre, l’équipe Adafruit a recommandé un condensateur 1000mF à la NeoPixel +/-entrées d’alimentation, alors j’ai ajouté ceci trop.
Le son et les capteurs de proximité IR sont également alimentés par la source de 5v régulé autonome.
N’oubliez pasde vous connecter à la source externe au sol à l’un des goupilles de terrestre de l’Arduino
Un interrupteur à bascule est ajouté entre la batterie et la remise à zéro du circuit. Placez l’interrupteur sur la borne positive de la batterie, c’est en ligne avec Adafruit recommandation se connecter toujours le côté positif après le terrain. et vice versa lors de la déconnexion)
Contrôles des sorties
Servos:
Les 3 servos sont contrôlés avec une PWM signal ligne chacun, facilement assurée par Arduino par l’intermédiaire de leur bibliothèque de Servo.h. J’ai branché les servos comme suit :
Servo1 (jambe): broche 3
Servo2 (Déchets): broche 5
Servo3 (Tête): goupille 6
NeoPixels :
Les 2 pixels sont contrôlés à l’aide de la ligne de commande seulement 1 (en cours d’exécution à travers une résistance de 470 ohms tel que recommandé par Adafruit). le contrôle utilise un protocole numérique (I2C) et la mise en œuvre exclusive de contrôler chaque pixel séparément. le résultat final est que vous pouvez facilement contrôler un ou tous les pixels à la fois et définissez une couleur impressionnante et très précise pour chaque pixel. la consommation d’énergie par pixel à 100 % LUMINOSITE est 66mA. (Mise en garde: éviter de regarder directement dans les leds quand ils sont sur)
Contrôle de NeoPixel se fait via Arduino axe 12
Entrées
Capteur de proximité IR :
Le capteur que j’ai utilisé se trouve habituellement dans des robots pour la détection des contours simples (ne pas tomber, murs... etc). Il a une sortie numérique, c'est-à-dire, donne haute quand des objets est environ 10cm de distance, ou faible, si aucun obstacle ne constaté. il ne fournit pas de distance. pour cela, qu’à l’aide d’une puce intégrée, également un rouge de SMD led s’allume sur le capteur chaque fois que le capteur détecte un obstacle.
Sortie de capteur de proximité est lu par Arduino sur la Broche 8
Capteur de sons :
Ce capteur, que j’ai utilisé a également une sortie numérique, ce qui signifie qu’il ne te donne quoi de charge le son ou son contenu en fréquences, il définit seulement sa sortie à haute lorsqu’un son est détecté, dans le cas contraire, la sortie est définie sur faible. Vous pouvez augmenter ou diminuer la sensibilité en tournant la molette bord. Tournant au réglage MAX, je suis capable de faire oiO détecte un claquement de n’importe où dans la pièce, étant donné que c’est un coup tranchant et fort (j’ai l’intention de construire mon propre amplificateur donc oiO peut répondre aux sons plus subtiles, et aussi pour avoir un VCG (gain de tension contrôlée) cela me permettra pour dynamiquement augmenter/diminuer la sensibilité de l’oiO de sons dans le cadre de son comportement:))
La sortie du capteur sonore est lu par Arduino au analogiques broches A0. Mais puisqu’il s’agit d’un capteur numérique, vous pouvez connecter à broches numériques de l’Arduino et utilisez digitalRead(pin) au lieu de ce que j’utilise maintenant analogRead(A0). Les deux fonctionnera très bien.
Mettre tous ensemble :
C’est votre appel que vous souhaitez concevoir un PCB pour connecter tous les composants, il suffit d’utiliser une carte de prototypage ou aimez ce que je faisais. J’ai utilisé un PCB préalablement percé et soudé toutes mes pièces, connecteurs et fils, selon la connexion indiquée lors de la conception. Ensuite, j’ai utilisé des fils de raccordement pour aller de cette carte de connexion à l’Arduino, je me connecte enfin la batterie, l’interrupteur puis un connecteur cylindrique de 9v pour brancher l’Arduino à la batterie et tous les mettre dans une boîte (j’ai utilisé la boîte qui est venu avec mon téléphone portable, après j’ai pulvérisé il en gris foncé:)) J’ai fait quelques ouvertures pour l’USB, le chargeur, le servo et le câblage de capteurs.