Table des matières:

Inspecteur Roomba : 6 étapes (avec photos)
Inspecteur Roomba : 6 étapes (avec photos)

Vidéo: Inspecteur Roomba : 6 étapes (avec photos)

Vidéo: Inspecteur Roomba : 6 étapes (avec photos)
Vidéo: HONITURE Q6 Pro | Aspirateur Robot Laveur avec Station de Vidange - App Honysmart - Déballage & Test 2024, Novembre
Anonim
Image
Image
Connexion de pièces électroniques
Connexion de pièces électroniques

La plupart d'entre nous n'utilisent les robots iRobot Roomba que pour passer l'aspirateur, mais peu savent qu'il s'agit d'une base idéale pour de nouveaux projets robotiques. Tous les fabricants devraient essayer l'interface ouverte (OI) du Roomba pour découvrir à quel point il est facile de contrôler ce robot. Dans cette instruction, vous apprendrez comment ajouter des fonctionnalités utiles à votre Roomba. Au début, je décrirai comment contrôler à distance le Roomba via Bluetooth et l'application Android. Plus tard, je vous montrerai comment exécuter un streaming vidéo basé sur le RPi et enfin, je décrirai le plan de développement ultérieur de ce projet.

Pièces nécessaires dans ce projet:

  1. Module bluetooth BTM-222 ou autre fonctionnant à 115200 baud rate x1
  2. Régulateur de tension abaisseur 5V D24V6F5 x1
  3. mini planche à pain x1
  4. Quelques fils

version avec boîtier:

  1. Connecteur mini DIN 8 broches x1
  2. interrupteur d'alimentation x1
  3. led 3 mm x1
  4. résistance 10k x1
  5. petit boîtier 50x40x20 mm x1

version étendue:

  1. Framboise Pi 3x1
  2. Dissipateur thermique en cuivre RPi x1
  3. Adaptateur Wi-Fi USB x1
  4. carte micro SD 8 Go ou plus x1
  5. Caméra RPi - Objectif Fisheye x1
  6. Étui pour RPi x1
  7. Pack batterie haute capacité 5V (au moins 10 Ah) x1
  8. Un morceau de support en plastique x1
  9. Écrous et boulons M2 x4

Étape 1: connexion des pièces électroniques

Connexion de pièces électroniques
Connexion de pièces électroniques
Connexion de pièces électroniques
Connexion de pièces électroniques
Connexion de pièces électroniques
Connexion de pièces électroniques

Cette fois, cette étape est très simple car il suffit de connecter deux modules pour pouvoir contrôler notre Roomba. Le premier est un module Bluetooth qui peut fonctionner à 115200 bps. Le second est le régulateur de tension abaisseur 5V D24V6F5. La batterie Roomba chargée a une tension d'environ 14,4 V et notre module Bluetooth a besoin de 5 V, nous devons donc réduire la tension de la batterie au niveau de 5 V à l'aide d'un régulateur de tension. Le régulateur D24V6F5 a un rendement compris entre 80 et 90% ce qui est un très bon rapport qualité-prix par rapport aux régulateurs linéaires classiques qui ont typiquement un rendement inférieur à 40%. Le moyen le plus simple de connecter ces deux modules est de les mettre dans une mini maquette et de les câbler selon le schéma de câblage ci-dessus. De plus, toutes les connexions sont représentées sur des photos numérotées. Soyez prudent lors de la connexion aux bornes de la batterie. Un court-circuit accidentel peut endommager la batterie !

Étape 2: Utilisation de l'application Android Control

Image
Image
Utilisation de l'application de contrôle Android
Utilisation de l'application de contrôle Android
Utilisation de l'application de contrôle Android
Utilisation de l'application de contrôle Android
Utilisation de l'application de contrôle Android
Utilisation de l'application de contrôle Android

J'ai développé une application Android qui vous permet de contrôler l'aspirateur robot Roomba série 500 via Bluetooth. Vous pouvez télécharger mon application gratuitement depuis Google Play - Roomb Control. Il fonctionne aussi bien avec les smartphones que les tablettes.

Comment utiliser l'application Roomb Control:

  • appuyez sur le coin supérieur droit de l'écran (3 points verticaux)
  • sélectionnez l'onglet "Connecter"
  • appuyez sur l'onglet "BTM222" et après un certain temps, vous devriez voir le message "Connecté au BTM222"
  • après connexion, vous pouvez contrôler votre Roomba
  • si vous ne voyez pas votre appareil Bluetooth, appuyez sur le bouton "Rechercher les appareils"
  • lors de la première utilisation de votre module bluetooth, n'oubliez pas de l'appairer avec votre smartphone en entrant le code par défaut donné dans les spécifications du module bluetooth

Étape 3: l'interface ouverte de Roomba dans des exemples

Dans cette étape, vous trouverez des exemples de commandes courantes utilisées pour contrôler le Roomba série 500. Vous pouvez trouver plus d'informations sur l'interface ouverte du Roomba dans ce document.

Roomba 500+ peut fonctionner dans l'un des quatre modes suivants:

  • Le mode complet vous donne un contrôle total sur Roomba (aucune restriction de sécurité comme c'est le cas pour les modes sûr et passif)
  • Le mode sans échec introduit quelques exceptions liées à la sécurité lorsque vous ne pouvez pas contrôler tous les actionneurs:

    • détection d'une chute de roue
    • détection d'une falaise en avançant ou en reculant
    • chargeur branché et alimenté
  • Le mode passif vous permet de demander et de recevoir des données de capteurs, mais dans ce mode, vous ne pouvez pas contrôler les actionneurs Roomba (moteurs, lumières, haut-parleur)
  • Mode arrêt lors de la première mise sous tension ou après un changement de batterie (en attente de la commande Start)

Un mode de fonctionnement sécurisé et entièrement fonctionnel est le mode sans échec qui est le mode préféré pour le contrôle à distance. Pour exécuter le mode sans échec, nous devons d'abord envoyer la commande 128 qui démarre l'interface ouverte, puis la commande 130 (ou 131) pour mettre Roomba en mode sans échec. Si nous voulons exécuter l'un des modes de nettoyage intégrés (clean, spot, dock, etc.), nous devons envoyer la troisième commande avec le code approprié (Clean-135, Spot-134, Dock-143). La séquence série complète pour ces modes est la suivante:

  • Définir le mode sans échec - (128, 130)
  • Spot - (128, 130, 134)
  • Propre - (128, 130, 135)
  • Quai - (128, 130, 143)

Si le Roomba est en mode sans échec, nous pouvons contrôler les roues motrices du Roomba à l'aide de la commande 137. La séquence série complète de 5 octets est la suivante: (137, octet de vitesse élevée, octet de vitesse faible, octet de rayon élevé, octet de rayon faible). Exemples de séquences en série pour le contrôle de mouvement Roomba:

  • Aller de l'avant - (137, 100, 0, 128, 0)
  • Retour - (137, 254, 12, 128, 0)
  • Tourner à droite - (137, 100, 0, 255, 255)
  • Tourner à gauche - (137, 100, 0, 0, 1)

Alternativement, pour contrôler le mouvement du robot, nous pouvons utiliser la commande 146. Cette commande nous permet de contrôler PWM (Pulse-Width Modulation) pour la roue droite et gauche: (146, Right PWM high byte, Right PWM low byte, Left PWM high byte, Left PWM octet de poids faible). Exemple de contrôle PWM:

  • Déplacer en haut à droite - (146, 0, 130, 0, 255)
  • Déplacer en haut à gauche - (146, 0, 255, 0, 130)

La commande 139 contrôle les couleurs des LED. Nous pouvons changer la couleur de la LED Clean/Power en définissant la valeur de l'octet Color en séquence série: (139, LED Bits, Color, Intensity). Si Color byte est défini sur 0, nous obtenons une couleur verte. En augmentant cette valeur on obtient des couleurs intermédiaires (orange, jaune, etc) et une couleur rouge pour la valeur maximale 255. Exemples de contrôle de LED:

  • vert - (139, 0, 0, 128)
  • orange - (139, 0, 128, 128)
  • rouge - (139, 0, 255, 128)

La dernière commande que je voudrais mentionner est la commande 140 qui permet de jouer des chansons simples. Exemples de séquences en série pour jouer des chansons:

  • chanson 1 - (140, 0, 5, 72, 32, 74, 32, 76, 32, 77, 32, 79, 32, 141, 0)
  • chanson 2 - (140, 1, 5, 69, 16, 71, 16, 72, 16, 74, 16, 76, 16, 141, 1)

Étape 4: Webcam à distance RPi

Webcam à distance RPi
Webcam à distance RPi

Pour pouvoir visualiser le streaming vidéo de la caméra sur tous les appareils connectés à mon réseau local (PC, smartphone, tablette, etc.), j'ai installé le serveur de webcam Motion. Vous pouvez trouver des détails sur la façon de procéder dans ce Instructable. Les principales étapes sont les suivantes:

  1. Edit: sudo nano /etc/modules - ajouter à la fin du fichier: bcm2835-v4l2
  2. Installer Motion: sudo apt-get install motion
  3. Ouvrez le fichier motion.conf en tapant: sudo nano /etc/motion/motion.conf et définissez les paramètres vidéo (par exemple: daemon on, width 640, height 480, framerate 30, webcam_localhost off)
  4. Activez le démon (service): sudo nano /etc/default/motion et recherchez et modifiez start_motion_daemon=yes.
  5. Démarrer le service: sudo service motion start ou sudo motion -n -c /etc/motion/motion.conf
  6. Ouvrez maintenant le navigateur Web sur votre ordinateur ou votre smartphone et tapez: RPi IP:8081 (où "RPi IP" est l'IP de votre Raspberry Pi et 8081 est le port par défaut). Exemple: 192.168.1.14:8081. Si tout fonctionne bien après un certain temps, vous devriez voir la vue de votre caméra dans votre navigateur Web.

Étape 5: Plans de développement ultérieur

Plans de développement ultérieur
Plans de développement ultérieur
Plans de développement ultérieur
Plans de développement ultérieur
Plans de développement ultérieur
Plans de développement ultérieur
Plans de développement ultérieur
Plans de développement ultérieur

Actuellement, mon Roomba est équipé d'un petit bras robotique décrit dans cette instruction. Ce bras robotique peut être contrôlé à distance via Bluetooth depuis l'application Android. Dans l'étape suivante, je vais utiliser la vue depuis la caméra pour saisir à distance et déplacer des objets vers l'espace marqué (fonctionnement en mode semi-autonome).

Si vous souhaitez voir mes autres projets liés à la robotique, veuillez visiter:

  • mon site web: www.mobilerobots.pl
  • facebook: robots mobiles

Étape 6: Connexion des pièces électroniques - Version 2 avec boîtier

Connexion de pièces électroniques - Version 2 avec boîtier
Connexion de pièces électroniques - Version 2 avec boîtier
Connexion de pièces électroniques - Version 2 avec boîtier
Connexion de pièces électroniques - Version 2 avec boîtier
Connexion de pièces électroniques - Version 2 avec boîtier
Connexion de pièces électroniques - Version 2 avec boîtier

Si vous souhaitez créer votre propre récepteur amovible pour contrôler le Roomba, cette étape supplémentaire est pour vous. Nous ajoutons quelques éléments supplémentaires et les fermerons tous dans un boîtier mince. Le composant principal dont nous aurons besoin dans cette étape est un connecteur mini DIN à 8 broches. De plus, nous aurons besoin de l'interrupteur d'alimentation et de l'indicateur basé sur une LED et une résistance de 10k.

Maintenant, vous n'avez plus à vous soucier de faire sortir les fils. Le récepteur bluetooth est fermé dans un petit boîtier aux dimensions de 50x40x20 mm. Lorsque vous ne souhaitez pas l'utiliser, vous pouvez facilement le retirer de votre Roomba en tirant sur la prise mini DIN.

Conseillé: