Table des matières:

ARCA (Adorable Android télécommandé) : 4 étapes (avec photos)
ARCA (Adorable Android télécommandé) : 4 étapes (avec photos)

Vidéo: ARCA (Adorable Android télécommandé) : 4 étapes (avec photos)

Vidéo: ARCA (Adorable Android télécommandé) : 4 étapes (avec photos)
Vidéo: STRANGE PARADIGMS - 04 - Новости и чат - НЛО - Паранормальные явления 2024, Juillet
Anonim
ARCA (Adorable Android Télécommandé)
ARCA (Adorable Android Télécommandé)
ARCA (Adorable Android Télécommandé)
ARCA (Adorable Android Télécommandé)
ARCA (Adorable Android Télécommandé)
ARCA (Adorable Android Télécommandé)

Cette instructable a été créée pour répondre aux exigences du projet du Makecourse à l'Université de Floride du Sud (www.makecourse.com).

ARCA est un adorable Android télécommandé qui est incroyablement amusant à construire et à utiliser. L'objectif de ce projet était de créer quelque chose que tout le monde peut comprendre et auquel tout le monde peut s'identifier en créant un robot à la fois adorable et fonctionnel.

Le robot fonctionne en affichant différentes émotions sur une matrice LED de 8 par 8, ces émotions incluent la joie, le sommeil, l'amour, la colère, l'idiotie et les yeux en l'air, à gauche et à droite. Le robot fonctionne également comme une voiture RC et peut avancer et tourner à gauche ou à droite. Le robot avance en activant les deux moteurs de roue, tourne à gauche en allumant le moteur droit et tourne à droite en allumant le moteur gauche. Le design est très simpliste mais ça marche, et je voulais me concentrer beaucoup sur la programmation de l'Arduino puisque je suis un programmeur dans l'âme.

Les dernières versions de tous les fichiers utilisés dans ce didacticiel sont disponibles sur mon référentiel Github ARCA.

Étape 1: Liste des pièces et impression 3D

Liste de pièces et impression 3D
Liste de pièces et impression 3D
Liste de pièces et impression 3D
Liste de pièces et impression 3D

Les pièces de ce projet peuvent être imprimées en 3D ou achetées en ligne. En pensant au montage, j'ai voulu faire de l'efficacité la clé et aussi essayer de ne pas (littéralement) réinventer la roue. L'imprimante 3D utilisée pour ce projet était une Makerbot Replicator, si vous voulez vous assurer que vos impressions 3D sont cohérentes avec les miennes, utilisez cette imprimante.

Les composants structuraux

  • Boîte avec trous sur les côtés pour les roues et les bras
  • Couvercle de boîte avec des trous pour les roues arrière et un trou pour le capteur IR
  • Bras gauche
  • Bras droit
  • Essieu pour les deux roues arrière
  • deux connecteurs d'essieu pour connecter le couvercle à l'essieu
  • 4 roues (moteurs également inclus dans ce lien)
  • Petites vis (pour s'adapter aux moteurs)

Composants électriques

  • Arduino Uno
  • Petite maquette (j'ai acheté le kit Arduino et il est venu avec)
  • Deux matrices de points rouges MAX7219 avec contrôle MCU
  • Récepteur infrarouge et télécommande
  • Deux transistors TIP 120
  • Fils de connexion (j'ai utilisé beaucoup de fils mâle à femelle ainsi que mâle à mâle, et je recommande d'avoir des fils longs plutôt que des fils courts)
  • une résistance de 220 ohms
  • Deux moteurs à engrenages
  • Blocs d'alimentation connectables par USB (les portables utilisés pour les téléphones portables)

Étape 2: Assemblage

Assemblée
Assemblée
Assemblée
Assemblée
Assemblée
Assemblée

Assemblage structurel

Les pièces imprimées en 3D auront probablement besoin d'être nettoyées, et je recommande de les poncer avec un grain fin et d'utiliser de l'acétone (dissolvant pour vernis à ongles) pour éliminer tout résidu de colle utilisé dans le processus d'impression 3D. Certaines pièces peuvent ne pas s'adapter parfaitement, et il m'a fallu poncer l'axe pour qu'il soit parfaitement rond et passe correctement dans les trous.

Les roues ont besoin d'un léger réglage, elles ont dû être percées davantage pour s'adapter aux dimensions de l'axe à l'arrière et des vis à l'avant. Utilisez un foret de 6 mm pour percer les trous dans les roues afin de percer des trous plus gros dans les roues.

Pour cet assemblage, j'ai utilisé une variété de colles, mais j'ai trouvé que le béton liquide (colle à modeler) était le meilleur pour la tenue malgré un long temps de séchage, mais l'époxy était le meilleur pour les choses dont vous avez besoin pour sécher rapidement et bien tenir, malgré le fait qu'il soit salissant.

Le reste du montage est assez simple:

  1. Fixez les supports d'essieu à l'arrière du couvercle de la boîte, en utilisant de l'époxy pour sceller
  2. Faites passer l'essieu à travers les supports d'essieu
  3. Coller les roues sur l'essieu avec du béton liquide
  4. Passez les bras dans les trous supérieurs et collez-les au support de bras à l'aide d'époxy
  5. Visser le couvercle de la boîte dans la boîte
  6. Utilisez du ruban électrique sur le fond de la boîte où les roues sont

Assemblage électrique

Les roues avant sont fixées directement aux moteurs, et vous devez utiliser une petite vis dans le moteur pour qu'il soit suffisamment long pour passer à travers le trou du robot de chaque côté. Il devrait y avoir un petit trou dans la cheville rotative du moteur et vous pouvez y visser la vis et coller la tête de la vis dans la roue après avoir poussé la vis à travers le trou de la boîte.

L'arrière de ma planche à pain avait un support collant, mais vous pouvez utiliser du ruban isolant pour le faire adhérer si ce n'est pas le cas. Du ruban électrique a également été utilisé pour fixer les composants électriques qui n'étaient pas dans la carte, pour des raisons de sécurité. Les MCU avec les écrans LED ont été fixés à l'arrière des orbites à l'aide de ruban électrique et les moteurs ont également été fixés sur les côtés de la boîte près des trous à l'aide de ruban électrique. J'ai utilisé du ruban électrique rouge pour le rendre plus invisible, juste au cas où, et je recommande d'utiliser un ruban électrique avec une couleur similaire à votre version d'ARCA.

La planche à pain et les épingles sont configurées comme cette image de Fritzing. Si vous souhaitez ajouter plus à ce diagramme pour personnaliser ARCA, vous pouvez télécharger le fichier Fritzing dans mon référentiel Github et le modifier à votre guise.

J'ai attaché les fils aux boucles des motoréducteurs en pliant les fils autour des boucles, pour les maintenir attachés. Ce serait probablement une meilleure idée de souder ces connexions si vous avez accès à du fer à souder, mais c'est une solution facile si vous n'en avez pas.

Le bloc d'alimentation est attaché au même cordon utilisé pour connecter l'Arduino à l'ordinateur pour télécharger votre programme, et celui-ci est simplement lâche dans le robot afin qu'il puisse être facilement retiré et chargé.

Étape 3: Programmation

La programmation
La programmation

Voici le code que vous pouvez télécharger sur votre ARCA pour qu'il fonctionne exactement comme le mien, vous avez également besoin des deux bibliothèques suivantes pour utiliser le code.

Par souci de clarté et de personnalisation, cependant, je vais vous expliquer mon code. N'hésitez pas à sauter cette étape si vous ne personnalisez pas votre robot ou si vous ne prévoyez pas de changer les émotions.

Tout d'abord, j'inclus deux bibliothèques à utiliser dans mon code, me permettant d'utiliser les fonctions et objets de ces bibliothèques. Je définis également mes épingles ici. Si vous avez décidé de rendre vos épingles différentes de ma configuration à l'étape précédente, apportez les modifications à votre code ici avec les épingles appropriées.

Ensuite, j'ai défini les émotions, déclaré les objets nécessaires pour le capteur IR et les affichages LED 8 par 8, et défini quelques variables globales. Les émotions sont déclarées dans un tableau d'octets, où chacun des nombres hexadécimaux du tableau représente les lignes de l'affichage 8 par 8 résultant. Pour créer vos émotions personnalisées, je vous recommande de dessiner l'émotion que vous vouliez dans une grille de 8 par 8, puis d'écrire chaque ligne un nombre binaire de 8 bits où la lumière éteinte est un 0 et la lumière allumée est un 1, puis créez un nombre hexadécimal à partir de cela et le mettre dans un tableau de longueur 8. J'ai également défini quelques variables globales à utiliser dans la boucle; les variables pour le mécanisme de clignotement et les pointeurs pour stocker les émotions et les définir pour démarrer au neutre.

Nous arrivons maintenant à la boucle de configuration, où j'active la surveillance série à des fins de test, et cela devrait être utile pour tester votre code avec différentes télécommandes IR. Ensuite, j'ai initialisé les objets de l'œil gauche et droit à l'aide des fonctions de la bibliothèque de contrôle LED. J'ai également réglé les broches du moteur à engrenages en sortie et démarré le récepteur IR.

Dans la boucle, il attend essentiellement que le signal IR change le statu quo du robot. Donc, si un signal IR est reçu et qu'il correspond à l'un des codes d'un bouton spécifique, alors cette instruction if est déclenchée et définit les valeurs de l'œil gauche et de l'œil droit en conséquence pour les émotions. Si un bouton de mouvement est enfoncé, comme gauche, droite, avant et OK, les broches sont écrites numériquement pour être activées ou désactivées en fonction du bouton enfoncé. Juste une note sur les codes des récepteurs IR: il existe un exemple de code dans la bibliothèque de télécommandes IR qui vous donnera les codes hexadécimaux de votre télécommande, si rien ne se passe lorsque vous appuyez sur les boutons, ouvrez ce programme pour vous assurer que les codes sont corrects. Tout ce que vous avez à faire est de changer le numéro hexadécimal qui va avec chaque bouton.

Enfin, vous avez la fonction qui imprime les émotions sur les écrans 8 par 8. Cela utilise les fonctions setRow de la bibliothèque de contrôle LED et parcourt simplement les tableaux que vous avez créés et définit les lignes en conséquence. Il prend en compte deux paramètres: le tableau pour l'œil gauche et le tableau pour l'œil droit. Cela peut être soit un pointeur d'octets, soit un tableau d'octets lui-même (c'est-à-dire le nom "neutre") qui agit comme un pointeur.

Étape 4: Trucs et astuces bonus

Trucs et astuces bonus
Trucs et astuces bonus

J'ai certainement beaucoup appris au cours de ce projet et je voulais partager ici quelques conseils supplémentaires qui s'appliquent à la fois à ce projet et à d'autres projets utilisant un Arduino.

  • Il existe de nombreuses ressources en ligne pour Arduino et les plus utiles à mon avis proviennent du site Web Arduino en raison de leurs exemples de code clairs et concis.
  • Ne réinventez pas la roue, il existe de nombreux kits et pièces préfabriquées que vous pouvez utiliser pour faciliter votre projet. Je suis programmeur et non ingénieur en mécanique et j'ai eu du mal à comprendre comment j'allais faire fonctionner ce robot, mais il était facile de trouver quelque chose à acheter en ligne et de l'implémenter dans ma conception plutôt que de réinventer littéralement le roue
  • Les bibliothèques sont vos amies dans Arduino ainsi que dans tous les langages orientés objet et elles existent pour une raison. Associez-le à des micro-contrôleurs et programmer une LED 8 par 8 est simple. J'en ai déjà programmé un à la main et un seul utilise à peu près toutes les broches de l'Arduino et nécessite une tonne de code. Très salissant et pas très amusant.
  • Les imprimantes 3D sont cool mais pas parfaites et il est normal de devoir poncer certaines choses. Vous préférez agrandir l'impression 3D pour cette raison, car dans la plupart des cas, vous pouvez le poncer un peu pour obtenir un ajustement parfait.
  • L'alimentation peut être un problème car j'ai pensé à l'utilisation de l'énergie à la dernière minute et j'ai pensé qu'une batterie 5v ferait l'affaire. Ensuite, apparemment au hasard, parfois un moteur ou un écran LED ne fonctionnait pas. Une fois que je suis passé au bloc d'alimentation, il n'y a plus eu de problèmes, malgré le fait qu'il soit plus encombrant à l'intérieur du robot.

Conseillé: