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

Construire un Spybot Arduino piloté par Bluetooth

Composants et fournitures

Applications et services en ligne

À propos du projet

Présentation rapide

Ce robot à quatre roues est contrôlé via connexion Bluetooth. Il peut embarquer n'importe quel téléphone mobile servant de caméra IP. J'ai choisi de le programmer en JavaScript avec un serveur web Node.js pour surveiller les déplacements du robot.

Le circuit des éléments principaux est visible en Figure 1.

Construire un Spybot Arduino piloté par Bluetooth

Après lancement du serveur, on obtient un écran avec une introduction aux commandes et une fenêtre pour la vue caméra (Figure 2). L'interface est responsive.

Construire un Spybot Arduino piloté par Bluetooth

Le châssis

J'ai fabriqué moi-même le châssis. Si vous n'avez pas de perceuse ou préférez une solution plus simple, il existe de nombreux châssis plastiques tout faits.

La règle la plus importante pour la direction différentielle : placer les roues le plus près possible les unes des autres. Les erreurs principales et règles de base sont expliquées ici : Conception robot 4 roues motrices.

Le défi était de fixer les moteurs DC au châssis. Sans pièce spéciale, j'ai utilisé des colliers de serrage (150/3,5). Pour bien fixer les roues, il faut percer très précisément et utiliser 2 colliers par moteur. Malheureusement, les moteurs peuvent ne pas être parfaitement alignés, ce qui fait dévier le robot à gauche ou droite en marche avant/arrière.

Les batteries

Pour alimenter les cartes et les moteurs, j'ai opté pour une seule alimentation DC. Le châssis n'ayant pas de place pour un support 8×AA, j'ai assemblé deux supports 4×AA avec 2 vis chacun, en perçant le plastique.

Alimentation

L'Arduino Uno est alimenté par 8 piles AA rechargeables, ce qui alimente aussi le shield moteur. Ce shield possède un cavalier amovible pour ne pas tirer l'alimentation de l'Arduino ; on peut alors alimenter le shield séparément via ses broches d'alimentation. Voir les options d'alimentation : Adafruit Motor Shield V2 - Alimentation moteurs.

Connexion sans fil

J'ai utilisé un module Bluetooth HC-06 pour la liaison entre la voiture et l'ordinateur. Pour minimiser les câbles, j'ai construit un shield Arduino personnalisé en intégrant le module Bluetooth sur un shield prototype, en câblant sous le shield et en soudant des connecteurs pour l'emboîtement. Figures 3 et 4 montrent le résultat.

Construire un Spybot Arduino piloté par Bluetooth
Construire un Spybot Arduino piloté par Bluetooth

L'avantage : le module Bluetooth peut être démonté du shield à tout moment car il n'est pas soudé à la carte.

Pour configurer le module Bluetooth, suivez les instructions : Johnny-Five + JY-MCU Bluetooth.

Mouvements

Le robot avance, recule et tourne par direction différentielle. Le support caméra est monté sur un servo à rotation continue pour orienter le téléphone sans déplacer le châssis. Une courte démonstration vidéo est disponible.

Téléphone mobile

J'ai utilisé un Nokia Lumia 520 avec l'application Win IP Camera (Windows Store) : Win IP Camera.

À propos du code

En tant que développeur JavaScript, j'ai créé un serveur web Node.js pour la page de contrôle, avec des bibliothèques modernes pour l'interface et la syntaxe. La liste complète est sur mon GitHub.

J'ai choisi la modularisation tant côté frontend que 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();
});

Côté frontend, même séparation par modules :

import {moveWheels, stopWheels} from './wheelsControl';
import {moveServo, stopServo} from './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, voir le dépôt GitHub ci-dessus.

Bibliothèques logicielles

Mot de la fin

Je suis débutant dans l'IoT et c'est mon premier projet. Je ne prétends pas avoir utilisé les solutions optimales, mais j'espère que vous y trouverez des informations utiles.

Code

Dépôt GitHub

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

Schémas

arduino-spybot.fzz (fichier Fritzing)

Processus de fabrication

  1. Guide professionnel : Animation bitmap sur écran tactile ILI9341 2,4″ avec Visuino
  2. Système d'éclairage DMX piloté par web – Contrôleur maître Arduino
  3. FlickMote : Télécommande IR à gestes pour maison connectée
  4. TV-B-Gone DIY Arduino : Télécommande universelle pour toutes les TV
  5. Construire une horloge maître LED personnalisée avec alarme – Visible à 12 mètres
  6. Horloge HSV : Un Garde-Temps Vibrant et Personnalisable pour Passionnés d'Arduino
  7. Véhicule Télécommandé par Android avec Raspberry Pi et Shield Moteur
  8. Find Me : Localisateur d'objets intelligent avec Arduino et Bluetooth
  9. Solutions d'alimentation optimisées pour projets Arduino