Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Processus de fabrication

BLE Bot 9000

Composants et fournitures

Arduino 101
× 1
Adafruit Motor/Stepper/Servo Shield pour Arduino v2 Kit - v2 .3
× 1
SparkFun Multi-Châssis - Kit 4WD (Basic)
[ Ambassadeurs :La variété Tank Kit de Sparkfun a été fournie comme alternative à cet appareil. Il a été déterminé qu'il y avait des problèmes d'alimentation associés au 5x AA inclus avec eux. Voir Problèmes connus pour plus d'informations. ]
× 1
Support de 6 piles AA Adafruit avec fiche 5,5 mm/2,1 mm
[ Ambassadeurs :Cette pièce est CONNUE MANQUANTE dans les kits. La banque de batteries Intel USB peut être complétée à sa place pour alimenter l'Arduino 101. ]
× 1
5x porte-piles AA
Inclus avec Robot Kit.
× 1
Pack de composants
Contient 4x élévateurs, vis en plastique/noir, ~20 fils, une bande Velcro de 3 pouces, éventuellement quelques piles AA.
× 1
Piles AA
× 11

Outils et machines nécessaires

Fer à souder (générique)
Soudure (générique)
Tournevis Philips
Inclus avec Sparkfun Bot Kits

Applications et services en ligne

Arduino IDE
Johnny-Five
Arduino Firmata

À propos de ce projet

Avis :

Mise à jour 05/12/16 de Drew :veuillez cliquer sur Problèmes connus à droite et examinez-les avant de terminer cette version. Certaines variétés du kit ont des problèmes connus et des pièces manquantes. Nous avons essayé de décrire les problèmes communs. Certains sont encore en cours de résolution. Les correctifs seront intégrés aux instructions au fur et à mesure de leur confirmation. Signalez-moi toutes les autres (@ReanimationXP) dans le #intel chaîne de slack.hacksterlive.com . Merci !

Ne pas exploser l'Arduino

Nous avons eu des rapports selon lesquels certains assemblaient leur bot et laissaient le cavalier VIN en place sur le Motor Shield. Veuillez prendre un moment pour le retirer avant de commencer. Pourquoi? Voir Alimentation de l'Arduino et du Shield ci-dessous.

Présentation

Ce projet montre comment utiliser la puce BLE intégrée sur un Arduino 101 pour contrôler un petit robot 4x4 depuis votre ordinateur portable. En laissant votre ordinateur prendre le contrôle de l'Arduino 101 lui-même, vous ouvrez la possibilité d'incorporer des méthodes de contrôle intensives du processeur telles que la vision par ordinateur, la conduite autonome et les boucles de rétroaction avancées (PID).

Matériel

Commençons! Qu'est-ce que ce chiot vient avec? La plate-forme robotique utilisée était le multi-châssis 4x4 de Sparkfun. Il est assez durable avec un cadre en aluminium et possède de nombreux points de montage pour des capteurs supplémentaires.

Étapes :

1) Le kit nécessite un assemblage simple, mais cela prend un certain temps. Suivez les instructions fournies avec votre kit pour le montage, avec les écarts suivants :

- Montez l'Arduino 101 sur des entretoises (qui font partie du kit de composants séparé) sur la plaque supérieure (couvercle) avant de fixer le couvercle au châssis du robot. Si vous n'avez pas les entretoises, isolez simplement le bas du 101 d'une manière ou d'une autre et attachez-le au couvercle.

2) Le bouclier moteur Adafruit v2.3 nécessitera également un certain assemblage, et nous entendons par là une soudure. Les broches d'en-tête devront être soudées. Si vous avez reçu les connecteurs femelles avec votre kit de composants (comme ceux de l'A101), utilisez-les et jetez les connecteurs mâles normaux. Sinon, utilisez la variété mâle incluse avec le bouclier moteur. Vous pouvez trouver des instructions détaillées pour souder les deux types ici (faites défiler jusqu'à la section appropriée pour le type d'en-tête mâle/femelle) :https://learn.adafruit.com/adafruit-motor-shield-v2-for-arduino/install-headers .

Si vous n'avez jamais soudé auparavant, vous voudrez peut-être vous entraîner sur quelque chose qui ne vous dérange pas de graver car les en-têtes peuvent être un peu difficiles à souder en place. Demander à quelqu'un qui a beaucoup soudé de vous regarder sera le moyen le plus rapide d'apprendre. Commencez chaque en-tête en soudant une broche sur le bord, en tirant fermement sur les en-têtes afin qu'ils soient au ras de la carte et parfaitement droits. Vous pouvez utiliser cette technique pour aligner les éléments avant de souder toutes les broches, ce qui bloquera le connecteur en place de manière quasi permanente.

Faites l'en-tête femelle à 6 broches à côté du logo Bluetooth en dernier. Cela ressemble à ceci :[:::] Branchez le côté en plastique dans l'Arduino 101 pour qu'il soit complètement affleurant, montez votre blindage de moteur maintenant entièrement soudé sur le dessus et laissez le côté mâle de la grille à 6 broches le traverser. Appuyez sur le blindage du moteur pour qu'il soit complètement inséré dans le 101, puis soudez le côté mâle de l'embase à 6 broches.

3) Fixez le blindage du moteur assemblé au sommet de l'Arduino 101 à l'aide des en-têtes que vous avez soudés.

4) Utilisez les cavaliers (mâle à mâle) pour câbler les moteurs aux borniers de sortie du moteur sur le blindage du moteur, comme illustré ci-dessous. Assurez-vous de faire correspondre les bonnes paires de fils négatifs et positifs et suivez le schéma de câblage ci-dessous. Remarque :Les fils jaunes sont positifs sur le schéma , et rouge sur les moteurs réels. Les fils verts sont négatifs sur le schéma , noir sur les moteurs réels.

5) Vérifiez que le cavalier VIN n'est PAS attaché avant de continuer. Utilisez une paire de cavaliers pour vous connecter au AA 5 points batterie incluse avec le kit de robot au bornier d'entrée de tension sur le blindage du moteur, en faisant attention à l'orientation positive (rouge) et à la terre (noir) comme indiqué dans le schéma ci-dessous.

Remarque : Le support 2x AA illustré ci-dessous n'est PAS PRÉCIS à la vraie vie et vous n'en aurez pas dans votre kit - veuillez utiliser le support 5x AA inclus dans votre kit de robot. Certains kits ne contiennent pas non plus 4 moteurs. Dans ce cas, raccordez simplement les moteurs appropriés à M1 et M2 comme indiqué sur le côté droit de la carte et les deux moteurs supérieurs.

6) Soudez la prise cylindrique aux fils sortant de la deuxième batterie. Assurez-vous de souder le fil positif rouge à la connexion centrale (la plus courte) de la prise cylindrique.

Remarque :Le support de 6 piles AA et son bouchon de canon ci-dessous n'étaient pas inclus dans le premier envoi de kits d'ambassadeurs. Nous allons bientôt compléter cet envoi avec un support AA supplémentaire et éventuellement des composants supplémentaires. Terminez la création du bot et passez à la Présentation du logiciel pour le moment.

7) Fixez le pack de 6 piles AA à l'arrière du robot avec la bande de velcro :

Fixez la fiche cylindrique à l'Arduino 101 pour l'allumer. Vérifiez à nouveau que le cavalier VIN n'est pas attaché.

Le robot devrait maintenant être entièrement construit ! Assurez-vous que les deux groupes de batteries sont débranchés afin qu'ils ne consomment pas d'énergie.

Présentation du logiciel

Le système de contrôle du robot se compose de deux logiciels principaux. Le premier est le sketch du serveur Firmata qui est chargé sur l'Arduino 101. Firmata permet à votre ordinateur d'accéder aux broches de l'Arduino - et par extension de communiquer avec le blindage du moteur qui contrôle les moteurs eux-mêmes. Firmata permet également une communication bidirectionnelle de sorte que si à l'avenir vous attachez un capteur à votre robot, vous pourrez renvoyer les données du capteur à votre ordinateur.

Le deuxième logiciel est le client Firmata qui s'exécute sur votre ordinateur. Il existe de nombreux clients Firmata différents pour une variété de langues, mais dans ce projet, nous utiliserons le client Firmata intégré à Johnny-Five. Johnny-Five est une plate-forme robotique et IoT pour Arduino construite sur Node.js. Plus d'informations peuvent être trouvées ici :http://johnny-five.io/. Johnny-five possède de nombreuses bibliothèques utiles, notamment Firmata et des configurations pour l'Adafruit Motorshield que nous utilisons.

Pour que le client et le serveur Firmata se connectent, nous utilisons une bibliothèque ble-serial a node.js écrite pour ouvrir une connexion série via BLE à l'Arduino 101. https://github.com/monteslu/ble-serial

Enfin, pour lire les commandes clavier, nous utiliserons keypess, une bibliothèque node.js pour la lecture en appuyant sur des touches. https://github.com/TooTallNate/keypress

Charger Arduino Sketch

1) Pour charger le sketch du serveur Firmata sur l'Arduino 101, vous devrez d'abord télécharger et installer l'IDE Arduino :https://www.arduino.cc/en/Main/Software

2) Une fois que vous avez installé l'IDE de base, vous devrez installer la carte Arduino 101. Le didacticiel suivant couvre l'installation de la carte ainsi que la programmation de base. Si vous n'êtes pas familier avec Arduino, c'est un bon point de départ :https://www.arduino.cc/en/Guide/Arduino101 . La version courte est que vous devez installer le package "Intel Curie Boards" via le gestionnaire de cartes dans l'IDE. Une fois que vous avez fait cela, Arduino / Genuino 101 apparaîtra dans le sous-menu Board.

3) Branchez l'Arduino 101 sur votre ordinateur via le câble USB.

4) Dans l'IDE Arduino, allez dans Outils -> Carte et sélectionnez Arduino / Genuino 101 . Vous ne le voyez pas ? Retournez à l'étape 2.

5) Allez dans Outils -> port et assurez-vous d'avoir sélectionné le bon port pour votre carte. Si vous ne savez pas quel port utiliser, débranchez l'Arduino et voyez quel port disparaît de la liste.

6) Installez le package AdaFruit Motor Shield v2. Allez dans Sketch -> Inclure la bibliothèque -> Gérer les bibliothèques, puis recherchez "AdaFruit Motor Shield v2". Sélectionnez-le puis cliquez sur le bouton Installer.

6a) Si vous souhaitez tester votre bot, flashez le fichier .ino suivant pour tester vos moteurs. Par défaut, ce fichier fera aller votre bot En avant, en arrière, à gauche, puis à droite à plusieurs reprises. https://github.com/ReanimationXP/a101_motortest.

REMARQUE ! Préparez-vous à faire bouger vos roues !

Si vous flashez le programme a101_motortest sur le bot, les roues commenceront à bouger dès que l'esquisse commencera à s'exécuter. Si vous souhaitez arrêter les roues, vous pouvez soit tirer sur le câble USB (couper l'alimentation de l'Arduino), soit retirer l'une des batteries.

7) Dans l'IDE Arduino, accédez à Fichier -> Exemples -> Firmata -> StandardFirmataBLE pour charger l'esquisse du serveur Firmata BLE. Téléchargez le croquis sur l'Arduino 101 en cliquant sur la flèche de téléchargement dans le coin supérieur gauche de l'éditeur.

Si l'esquisse est chargée avec succès, le dernier message de la sortie doit être "Esquisse commençant dans 5 secondes".

Installez Python 2.7.13

1) Vous aurez besoin de Python 2.7.13 pour installer et compiler le package bluetooth-hci-socket Node.js.

2) Allez sur https://www.python.org/downloads/. Téléchargez Python 2.7.13 et installez-le.

Charger le client Firmata

1) Le client Firmata fonctionnera sur Node.js, si vous ne l'avez pas installé, veuillez vous rendre sur le lien suivant et suivre les instructions d'installation :https://nodejs.org/en/

2) Une fois Node.js installé, créez un nouveau dossier pour contenir votre code de contrôle.

3) Ouvrez une invite de commande Node.js et accédez au dossier de votre projet. Si vous envisagez d'installer les outils Windows à l'étape suivante, exécutez l'invite de commande en mode Administrateur.

4) Si vous utilisez Windows 10, vous devez installer les outils Windows. Pour ce faire, utilisez la commande suivante :

npm install --global --production windows-build-tools 

5) Installez les modules NPM suivants :

npm installer johnny-fivenpm installer keypressnpm installer ble-serial npm installer bluetooth-hci-socket 

6) Téléchargez le code de contrôle dans le github ( https://github.com/martinkronberg/Firmata-BLE-Bot ) et assurez-vous que control.js se trouve dans votre dossier de projet. Vous pouvez cloner le repo si vous le souhaitez mais les chances de mises à jour sont assez faibles...

Exécutez le code

Nous sommes maintenant prêts à commencer à conduire le robot ! Assurez-vous que les deux banques de batteries sont branchées et à partir de votre dossier de projet :

contrôle de nœud.js 

Si tout fonctionne, vous recevrez un message semblable à :

1476382259569 [objet objet] connecté 

Maintenant, lorsque vous appuyez sur "w", le robot avancera, "s" pour rouler en marche arrière, "a" et "d" feront tourner le robot à gauche et à droite.

Vous pouvez recevoir un message du type "Aucun périphérique USB Bluetooth 4.0 compatible trouvé". Assurez-vous que votre ordinateur prend en charge Bluetooth et que Bluetooth est activé.

Notez que vous pouvez vérifier le Gestionnaire de périphériques dans Windows pour voir si votre PC prend en charge Bluetooth. Recherchez un sous-arbre appelé « Radios Bluetooth ».

Version Blynk

Si Node et Firmata ne fonctionnent pas bien pour vous, vous pouvez utiliser la bibliothèque Blynk.cc à la place. Ceci est facile à utiliser, multiplateforme, a des interfaces pour les appareils mobiles.

1. Téléchargez la bibliothèque Blynk.cc et installez-la sur Arduino. Cela peut être fait via le gestionnaire de bibliothèque Arduino. Version 0.4.7 au moment de la rédaction.

2. Téléchargez et flashez le croquis suivant sur votre Arduino 101 :

https://github.com/ReanimationXP/a101_blynk_base

3. Téléchargez l'application Blynk. Créez l'interface suivante dans l'application :

Problèmes connus

Pièces manquantes : 6x porte-piles AA et sa prise barillet, le kit de réservoir n'a que 2x moteurs, pas 4x.

Problèmes d'alimentation avec le kit de réservoir : Il semble que le kit de réservoir Sparkfun ait un défaut - le support de batterie inclus avec celui-ci n'est pas assez puissant pour entraîner les bandes de réservoir. Les solutions consistent soit à retirer les bandes, à remplacer le support de batterie 5x AA par une batterie lipo 2S (7.4v) avec un mAh important (750mah par exemple), et/ou à alimenter le 101 avec l'un de vos parcs de batteries Intel USB.

De plus, si le support de batterie fourni avec le châssis Sparkfun ne semble pas fonctionner, les batteries peuvent ne pas être correctement installées. Tirez-les vers l'arrière tout en poussant vers le bas et vous les sentirez se mettre en place.

Problèmes Bluetooth/BLE : Le support BLE a des exigences minimales. Un ordinateur doit prendre en charge Bluetooth 4.0 ou supérieur, avec Windows 8.1 ou supérieur, pour être assuré de prendre en charge BLE, la variété à faible consommation d'énergie de Bluetooth. Certains ordinateurs peuvent encore rencontrer des problèmes en fonction de la pile de pilotes et des différences matérielles. La plupart des smartphones sont plus compatibles avec le BLE. Nous envisageons d'utiliser la plate-forme Blynk pour contrôler le 101, qui inclut désormais le support BLE. Les détails seront publiés ici lorsqu'ils seront disponibles.

On nous a également dit que la partie BLE de l'Arduino 101 est très floconneuse si elle n'est pas alimentée correctement. Assurez-vous de connecter une alimentation adéquate à l'Arduino 101. Je suggérerais une alimentation USB 5v puissante, environ 2 ampères pour éliminer les problèmes de baisse de tension.

Compatibilité des vis avec Arduino 101 : Les vis du kit de composants ont des têtes trop grosses pour tenir sur le 101. La solution consiste à échanger des vis argentées du kit de robot à leur place, et vice versa si possible. Vous pouvez également utiliser des carrés de Velcro pour que la planche soit solidement fixée et isolée, mais facilement amovible.

Bibliothèques : Vous devez mettre à niveau la bibliothèque Firmata vers au moins 2.5.3 (les versions inférieures à 2.5.3 n'incluent pas le sketch Firmate BLE)

Voici quelques ressources pour vous simplifier la vie lorsque vous organisez une rencontre. Les deux derniers liens nécessitent l'installation de la bibliothèque Adafruit Motor Shield v2.

  • Ce tutoriel BLE Bot 9000 :http://bit.ly/blebot1
  • Script de test de moteur à courant continu de Pete Hoffswell :http://bit.ly/blebot2
  • Robotique commandée par téléphone BLE avec Blynk :http://bit.ly/blebot3

Code

Commandes à écran tactile
Contrôlez votre 'bot depuis un écran tactile, en utilisant un serveur Express ! (Pour les hacksters plus avancés.)https://github.com/monofuel/blebot9000
Code de contrôle du robot
Github avec le code pour exécuter le robothttps://github.com/martinkronberg/Firmata-BLE-Bot

Schémas

PDF pour l'assemblage du châssis

Processus de fabrication

  1. Kit de test de glucomètre
  2. Kit de modèle de jouet
  3. Le kit fournit la plate-forme de développement mmWave
  4. Le kit de développement simplifie le réseau maillé BLE
  5. Guide de branchement du kit de démarrage Raspberry Pi 3
  6. Kit de démarrage Hologram Nova
  7. Création du kit robot MonkMakes Raspberry Pi
  8. Intellisaurus – Kit Robot Dinosaure
  9. 8 choses à savoir sur ISO 9000