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

Arduino Spybot

Composants et fournitures

Arduino UNO
× 1
Arduino Proto Shield
Vous pouvez utiliser n'importe quelle autre maquette à souder avec des en-têtes à broches
× 1
Adafruit Motor/Stepper/Servo shield V2
× 1
Servomoteur à rotation continue SM-S4306R
× 1
Moteur à courant continu (générique)
× 4
Pneu de moteur
× 4
Câbles de raccordement (générique)
Vous en avez besoin pour les moteurs
× 8
Support de 4 piles AA
× 2
Piles AA
× 8
Téléphone portable
J'ai utilisé un Nokia Lumia 520 pour le projet
× 1
Support pour téléphone portable
× 1
Châssis personnalisé
J'ai utilisé une simple planche de bois
× 1

Applications et services en ligne

Johnny-Five

À propos de ce projet

Brève introduction

Il s'agit d'une simple voiture à quatre roues contrôlable via une connexion Bluetooth. La voiture peut contenir n'importe quel téléphone portable qui peut être utilisé comme caméra IP. J'ai décidé de créer ce robot avec javascript en utilisant un serveur Web de nœud où je peux surveiller où va le robot.

Vous pouvez voir le circuit des pièces principales sur la figure 1.

Après avoir exécuté le serveur, j'obtiens un écran qui contient une introduction sur le contrôle et une fenêtre pour la vue de la caméra (figure 2).

Et oui, cette mise en page est responsive.

Le châssis

Dans cette version du bot, j'ai décidé de fabriquer le châssis moi-même. Si vous n'avez pas de perceuse ou si vous voulez simplement une solution plus simple, vous pouvez acheter parmi une grande variété de carrosseries en plastique.

J'ai décidé de faire mon propre châssis et ce n'était pas aussi facile qu'il y paraît. La règle la plus importante est que vous devez placer les pneus le plus près possible les uns des autres si vous souhaitez choisir une direction différentielle pour faire demi-tour. Vous pouvez lire les principales erreurs et règles de base de la physique dans le lien suivant :

http://www.rakeshmondal.info/4-Wheel-Drive-Robot-Design

Un autre défi était de savoir comment attacher les moteurs à courant continu au châssis. Dans mon cas, je n'ai pas de pièce spéciale pour cela, j'ai donc décidé de choisir des serre-câbles (150/3,5) pour la tâche. Pour une bonne fixation des pneus, j'ai dû percer les trous aussi précisément que possible et utiliser 2 attaches de câble pour un moteur à courant continu. Malheureusement, il est possible que les moteurs ne soient pas aussi droits que nécessaire et que votre voiture se déplace un peu vers la gauche ou la droite lorsque vous contrôlez l'avant et l'arrière.

Les piles

Pour alimenter les cartes et les moteurs, j'ai décidé de choisir une seule alimentation CC pour la tâche. Le châssis n'a pas de place pour un support de 8 piles AA, j'ai donc dû faire quelques personnalisations, j'ai donc attaché deux supports 4 x AA avec 2 vis l'un à l'autre. Pour cela, j'ai également dû percer le plastique.

Alimentation

Dans mon cas, j'alimente la carte Arduino Uno avec 8 piles rechargeables AA. C'est assez de puissance pour servir également le blindage du moteur. Il y a un cavalier sur ce blindage qui est amovible afin que votre blindage moteur ne soit pas alimenté par l'Arduino. Dans ce cas, vous pouvez alimenter votre shield séparément à l'aide des broches d'alimentation qu'il contient. Vous pouvez en savoir plus sur les différentes options d'alimentation dans le lien suivant :

https://learn.adafruit.com/adafruit-motor-shield-v2-for-arduino/powering-motors

Connexion sans fil

J'ai utilisé un module Bluetooth HC-06 pour établir une connexion entre la voiture et mon ordinateur. Je voulais utiliser le moins de câbles possible, j'ai donc décidé de créer un blindage Arduino personnalisé en plaçant le module Bluetooth et un prototype de blindage vide, de faire le câblage sous le blindage et de souder des en-têtes de broches pour le mécanisme de fixation correct. Vous pouvez avoir un aperçu rapide du résultat dans les figures 3 et 4.

La bonne chose est que vous avez la possibilité de déconnecter le module Bluetooth du shield à tout moment car il n'est pas soudé à la carte.

Pour configurer le module Bluetooth, veuillez suivre les instructions de ce site :

https://github.com/rwaldron/johnny-five/wiki/Getting-Started-with-Johnny-Five-and-JY-MCU-Bluetooth-Serial-Port-Module

Mouvement

Le robot est capable d'avancer, de reculer et de tourner à l'aide d'une direction différentielle. Le support de l'appareil photo est fixé à un servomoteur à rotation continue afin que vous puissiez regarder autour de vous avec le téléphone sans déplacer la voiture elle-même. Vous pouvez voir une courte démonstration dans la vidéo suivante.

Téléphone portable

J'ai utilisé un Nokia Lumia 520 pour le projet et l'application Win IP Camera que vous pouvez trouver dans la boutique :

https://www.microsoft.com/en-us/store/p/win-ip-camera/9nblgggz4xb1

À propos du code

En tant que développeur javascript, j'ai décidé de créer un serveur Web de nœuds pour la page de contrôle et d'utiliser des bibliothèques sophistiquées pour l'amélioration de l'apparence et de la syntaxe du code. Vous pouvez voir la liste complète sur ma page github et la section suivante.

J'ai décidé de choisir la modularisation à la fois en frontend et en backend. Voici le point d'entrée de l'application :

var boardModule =require('./src/boardModule'), servoModule =require('./src/servoModule'), motorModule =require('./src/motorModule'); boardModule.initBoard().then(function() { motorModule.initMotors(); servoModule.initServo();}); 

Dans la partie frontale, j'utilise également une séparation pour chaque module :

import {moveWheels, stopWheels} depuis './wheelsControl';import {moveServo, stopServo} depuis './servoControl' ; document.onkeydown =checkKeyDown;document.onkeyup =checkKeyUp; function checkKeyDown(e) { moveWheels(e.keyCode); moveServo(e.keyCode);} function checkKeyUp(e) { stopWheels(e.keyCode); stopServo(e.keyCode);} 

Pour la base de code complète, consultez mon référentiel github ci-dessus.

Bibliothèques Sortware

  • express.js - pour améliorer notre application Nodejs
  • johnny-five - pour utiliser l'API de contrôle Arduino Javascript
  • socket.io- pour utiliser des sockets Web pour établir la communication entre le back-end et le front-end
  • susy - pour créer la mise en page et le responsive design
  • google material design - pour utiliser des éléments matériels
  • gulpJS - pour l'automatisation des tâches
  • BabelJS - pour transpiler EcmaScript 6
  • Naviguer - pour les supports de module

Derniers mots

Je suis un débutant de ce monde IoT et c'est mon premier projet. Je ne veux pas dire que j'ai utilisé des solutions optimales, mais j'espère que vous pourrez trouver des informations utiles dans ce guide.

Code

Github
https://github.com/dominikfilkus/arduino-spybot-V2

Schémas

arduino-spybot.fzz

Processus de fabrication

  1. Animation bitmap sur le bouclier d'affichage à écran tactile TFT ILI9341
  2. Contrôleur DMX Web
  3. FlickMote
  4. Téléviseur maison B-Gone
  5. horloge maîtresse
  6. HSVClock
  7. Jouet contrôlé par Android utilisant un bouclier de moteur Raspberry
  8. Trouvez-moi
  9. Puissance Arduino