Table des matières:

Voiture robot avec Bluetooth, appareil photo et application MIT Inventor2 : 12 étapes (avec photos)
Voiture robot avec Bluetooth, appareil photo et application MIT Inventor2 : 12 étapes (avec photos)

Vidéo: Voiture robot avec Bluetooth, appareil photo et application MIT Inventor2 : 12 étapes (avec photos)

Vidéo: Voiture robot avec Bluetooth, appareil photo et application MIT Inventor2 : 12 étapes (avec photos)
Vidéo: Le Plus Grand Point Noir Du Monde ?😱 2024, Novembre
Anonim
Image
Image
Pièces et logiciels
Pièces et logiciels

Avez-vous déjà eu envie de construire votre propre voiture robotique ? Eh bien… c'est votre chance !!

Dans ce Instructable je vais vous expliquer comment faire une voiture robot contrôlée via Bluetooth et MIT App Inventor2. Sachez que je suis un débutant et qu'il s'agit de mon premier instuctable, alors soyez indulgent dans vos commentaires.

Il existe de nombreux instructables, mais dans celui-ci, j'ai essayé de combiner de nombreuses fonctionnalités telles que: la diffusion en continu de la caméra, l'évitement d'obstacles, le capteur de portée à ultrasons, le scanner Larson (avec charlieplexing) et la surveillance de la batterie à une application Android !!

Alors commençons et rencontrons Frankie (il utilise des idées de nombreux endroits… d'où Robo Frankenstein)

Étape 1: Pièces et logiciel

Pièces et logiciels
Pièces et logiciels
Pièces et logiciels
Pièces et logiciels

Ici, dans ma ville natale, il est difficile d'obtenir toutes les pièces, j'ai donc pu en obtenir la plupart sur www.aliexpress.com

J'estime que le projet peut être construit pour 25 à 30 USD sans tenir compte de l'ancien téléphone portable.

  • Châssis de voiture: 3 roues, 2 moteurs 6V (9 USD)
  • Arduino Nano (2 USD)
  • Bluetooth HC-05 (3 à 4 USD)
  • Pilote de moteur L293D pour entraîner les moteurs de roue (1,50 USD pour un lot de 5 pièces)
  • Ancien cellulaire avec caméra et Wi-Fi
  • Capteur à ultrasons HC-SR04 pour la mesure à un objet proche (1 USD)
  • 6 LED pour scanner Larson
  • ATtiny85 pour scanner Larson (1 USD)
  • Planche à pain (1 USD)
  • Fils
  • Résistance 100K Ohm (4)
  • Résistance 1K Ohm (2)
  • Résistance 2K Ohm (1)
  • Résistance 270 Ohms (3)
  • Avertisseur sonore

Logiciel:

  • IDE Arduino
  • Webcam IP (pour l'ancien Android cellulaire)
  • MIT App Inventor2: cette application est géniale mais ne fonctionne que pour le système d'exploitation Android (pas d'Iphones… désolé !)

Étape 2: Processus de construction

Processus de construction
Processus de construction
Processus de construction
Processus de construction
Processus de construction
Processus de construction
Processus de construction
Processus de construction

Le châssis de la voiture est très facile à assembler; il dispose de 2 moteurs 6V qui alimentent les roues arrière et d'un pack de 4 batteries.

La voiture Robot est contrôlée via Bluetooth et Wi-Fi. Bluetooth contrôle les communications série entre la voiture et l'application MIT inventor2 et le Wi-Fi est utilisé pour communiquer avec la caméra (ancien téléphone portable) installée devant la voiture.

Pour ce projet, j'ai utilisé deux jeux de piles: l'arduino est alimenté par une pile 9V et les moteurs de la voiture par 6V (quatre piles AA 1.5V).

Arduino Nano est le cerveau de ce projet qui contrôle la voiture, le buzzer, le capteur de portée à ultrasons HC-SR04, Bluetooth HC-05, le scanner Larson (ATtiny85) et surveille les batteries. La batterie 9V va à Vin (broche 30) et la broche 27 d'Arduino donne une alimentation régulée de 5V à la planche à pain. Besoin de relier toutes les masses de tous les circuits intégrés et batteries ensemble.

Ci-joint, le schéma de circuit l'a fait dans Excel (Désolé…. la prochaine fois, j'essaierai Fritzing). J'ai tout connecté à l'aide d'une planche à pain et de connecteurs mâles à mâles, le mien ressemble à un nid de rats.

Étape 3: Pilote de moteur L293D

Pilote de moteur L293D
Pilote de moteur L293D
Pilote de moteur L293D
Pilote de moteur L293D

Le L293D est un pilote demi-H à courant élevé quadruple conçu pour fournir des courants de commande bidirectionnels allant jusqu'à 600 mA à des tensions de 4,5 V à 36 V. Il est utilisé pour entraîner les roues de la voiture.

Il est alimenté par une batterie 6V (quatre 1,5V AA) pour les moteurs et utilise 5V pour la logique qui provient du 5V régulé (broche 27) dans Arduino Nano. Les connexions sont indiquées dans le schéma ci-joint.

Il n'était pas nécessaire de l'installer dans un dissipateur thermique.

Étape 4: Bluetooth HC-05

HC-05 Bluetooth
HC-05 Bluetooth

Le Bluetooth HC-05 est alimenté en 5V (broche arduino 27), mais il est important de comprendre que le niveau logique est de 3,3V, c'est-à-dire les communications (Tx et Rx) avec 3,3V. C'est pourquoi Rx doit être configuré avec un maximum de 3,3 V, ce qui peut être obtenu avec un convertisseur à décalage de niveau ou, comme dans ce cas, avec un diviseur de tension en utilisant des résistances 1K et 2K comme on le voit dans le circuit.

Étape 5: Moniteur de batterie

Afin de surveiller les niveaux de batterie, j'ai défini des diviseurs de tension afin d'amener les niveaux de tension en dessous de 5V (plage maximale d'Arduino). Le diviseur de tension diminue la tension mesurée dans la plage des entrées analogiques Arduino.

Les entrées analogiques A4 et A6 sont utilisées et des résistances élevées (100K ohms) sont utilisées afin de ne pas trop décharger les batteries lors du processus de mesure. Nous devons faire des compromis, si les résistances sont trop faibles (10K ohms), moins d'effet de charge, la lecture de la tension est plus précise, mais plus de consommation de courant; s'ils sont trop élevés (1M ohms), plus d'effet de charge, la lecture de la tension est moins précise, mais moins de consommation de courant.

La surveillance de la batterie est effectuée toutes les 10 secondes et affichée directement dans votre téléphone portable contrôleur.

Je suis sûr qu'il y a beaucoup de place pour l'amélioration dans cette partie puisque je lis à partir de deux broches analogiques et que le MUX interne permute entre elles. Je ne fais pas la moyenne de plusieurs mesures et c'est peut-être ce que je devrais faire.

Laissez-moi vous expliquer la formule suivante:

//Lire la tension de la broche analogique A4 et effectuer l'étalonnage pour Arduino:

tension1 = (analogiqueLecture(A4)*5,0/1024,0)*2,0; //8.0V

La carte Arduino nano contient un convertisseur analogique-numérique à 8 canaux et 10 bits. La fonction analogRead() renvoie un nombre compris entre 0 et 1023 qui est proportionnel à la quantité de tension appliquée à la broche. Cela donne une résolution entre les lectures de: 5 volts / 1024 unités ou 0,0049 volts (4,9 mV) par unité.

Le diviseur de tension divise par deux la tension et, pour obtenir la vraie tension, il faut la multiplier par 2 !!

IMPORTANT: je suis sûr qu'il existe un moyen plus efficace d'alimenter un arduino que la façon dont je le fais !! En tant que débutant, j'ai appris à la dure. La broche Arduino Vin utilise un régulateur de tension linéaire, ce qui signifie qu'avec une batterie 9V, vous brûlerez une grande partie de la puissance du régulateur linéaire lui-même ! Pas bon. Je l'ai fait de cette façon parce que c'était rapide et juste parce que je ne connaissais pas mieux … mais soyez sûr que dans la version 2.0 de Robo Frankie, je le ferai certainement différemment.

Je pense (à voix haute) qu'une alimentation à découpage DC DC et une batterie rechargeable Li-ion pourraient être un meilleur moyen. Votre aimable suggestion sera plus que bienvenue…

Étape 6: Capteur de portée à ultrasons HC-SR04

Capteur de portée à ultrasons HC-SR04
Capteur de portée à ultrasons HC-SR04

HC-SR04 est un capteur de portée à ultrasons. Ce capteur fournit une mesure de 2 cm à 400 cm avec une précision allant jusqu'à 3 mm. Dans ce projet, il est utilisé pour éviter un obstacle lorsqu'il atteint 20 cm ou moins et également pour mesurer la distance à tout objet, qui est renvoyé à votre téléphone portable.

Il y a un bouton sur l'écran de votre téléphone portable sur lequel vous devez cliquer pour demander la distance à un objet à proximité.

Étape 7: Scanner Larson

Scanner Larson
Scanner Larson
Scanner Larson
Scanner Larson
Scanner Larson
Scanner Larson

Je voulais inclure quelque chose d'amusant, j'ai donc inclus le scanner Larson qui ressemble à K. I. T. T. de Knight Rider.

Pour le scanner Larson, j'ai utilisé ATtiny85 avec charlieplexing. Le Charlieplexing est une technique pour piloter un affichage multiplexé dans lequel relativement peu de broches d'E/S sur un microcontrôleur sont utilisées pour piloter un réseau de LED. La méthode utilise les capacités logiques à trois états des microcontrôleurs afin de gagner en efficacité par rapport au multiplexage traditionnel.

Dans ce cas, j'utilise 3 broches d'ATtiny85 pour allumer 6 LED !!

Vous pouvez allumer des LED "X" avec N broches. Utilisez la formule suivante pour calculer le nombre de LED que vous pouvez piloter:

X= N(N-1) LED avec N broches:

3 broches: 6 LED;

4 broches: 12 LED;

5 broches: 20 LED… vous voyez l'idée;-)

Le courant passe du positif (anode) au négatif (cathode). La pointe de la flèche est la cathode.

Il est important de noter que la broche 1 (dans le code Arduino IDE) fait référence à la broche physique 6 dans ATtiny85 (veuillez vous référer au brochage ci-joint).

Veuillez trouver ci-joint le code qui doit être téléchargé sur ATtiny85 qui contrôle le scanner Larson. Je ne décris pas comment télécharger un code dans ATtiny85 car il existe de nombreux instructables qui le font comme celui-ci.

Étape 8: Coder

Code
Code

Je joins le code qui doit être téléchargé sur ATtiny85 qui contrôle le scanner Larson et le code pour les nano Arduino.

Quant à l'Arduino nano, j'ai utilisé une partie des codes d'autres instructables (ici) et apporté des modifications pour répondre à mes besoins. J'ai inclus un organigramme (également en word pour une image plus claire) du code pour mieux comprendre le fonctionnement du Switch - Case.

Important: afin de télécharger le code CarBluetooth dans Arduino nano, vous devez déconnecter Rx et Tx du module Bluetooth HC-05 !

Étape 9: Appareil photo

Caméra
Caméra
Caméra
Caméra

L'application IP Webcam doit être téléchargée à partir du Play Store et installée sur votre ancien téléphone portable. Vérifiez les préférences vidéo, ajustez la résolution en conséquence et descendez enfin à la dernière commande « Démarrer le serveur » afin de démarrer la transmission. N'oubliez pas d'activer le Wi-Fi dans le téléphone portable !!

Étape 10: MIT App Inventor2

MIT App Inventor2
MIT App Inventor2

MIT App inventor2 est un outil basé sur le cloud qui permet de créer des applications dans votre navigateur Web. Cette application (uniquement pour les cellulaires basés sur Android) peut ensuite être téléchargée sur votre cellulaire et contrôler votre voiture robotique.

Je joins le code.apk et.aia pour que vous puissiez voir ce que j'ai fait et le modifier à votre guise. J'ai utilisé un code d'Internet (MIT App) et fait mes propres modifications. Ce code contrôle le mouvement de la voiture robotique, reçoit le signal du capteur à ultrasons, allume les lumières et émet un bip sonore. Il reçoit également un signal des batteries nous indiquant le niveau de tension.

Avec ce code, nous pourrons recevoir deux signaux différents de la voiture: 1) la distance à un objet proche et 2) la tension du moteur et des batteries de l'arduino.

Afin d'identifier la chaîne série reçue, j'ai inclus un indicateur dans le code d'Arduino qui spécifie le type de chaîne envoyée. Si Arduino envoie la distance mesurée à partir du capteur à ultrasons, il envoie un caractère "A" devant la chaîne. Chaque fois qu'Arduino envoie des niveaux de batterie, il envoie un indicateur avec un caractère "B". Dans le code MIT App inventors2, j'ai analysé la chaîne de série provenant d'Arduino et vérifié ces indicateurs. Comme je l'ai dit, je suis un débutant et je suis sûr qu'il existe des moyens plus efficaces de le faire et j'espère que quelqu'un pourra m'éclairer d'une meilleure manière.

Envoyez Arduino_Bluetooth_Car.apk sur votre téléphone portable (par e-mail ou Google Drive) et installez-le.

Étape 11: connectez votre téléphone portable à votre voiture RC

Connectez votre téléphone portable à votre voiture RC
Connectez votre téléphone portable à votre voiture RC
Connectez votre téléphone portable à votre voiture RC
Connectez votre téléphone portable à votre voiture RC

Tout d'abord, activez le wi-fi dans l'ancien téléphone portable (celui du robot RC).

Dans votre contrôleur de téléphone portable, allumez votre wi-fi, Bluetooth et ouvrez Arduino_Bluetooth_Car.apk que vous venez d'installer. À la fin de l'écran (faites défiler vers le bas si vous ne pouvez pas le voir), vous verrez deux boutons: Appareils et CONNECTER. Cliquez sur Appareils et sélectionnez le Bluetooth de votre voiture RC (devrait être quelque chose HC 05), puis cliquez sur CONNECTER et vous devriez voir le message CONNECTÉ en bas à gauche de votre écran. La première fois, un mot de passe vous sera demandé (entrez 0000 ou 1234).

Il y a une case où vous devez taper l'adresse IP de votre ancien cellulaire (téléphone portable qui se trouve dans votre voiture RC), dans mon cas c'est

Ce numéro IP peut être détecté dans votre routeur Wi-Fi. Vous devez entrer dans la configuration de votre routeur, sélectionner la liste des appareils (ou quelque chose comme ça selon la marque de votre routeur) et vous devriez pouvoir voir votre ancien appareil cellulaire, cliquez dessus et entrez ce numéro IP dans cette case.

Ensuite, sélectionnez CAMERA et vous devriez commencer à regarder la caméra en streaming depuis votre voiture RC.

Étape 12: Vous avez terminé

Vous avez terminé!
Vous avez terminé!

Vous avez terminé! Commencez à jouer avec

Changements futurs: je vais changer la batterie 9V avec des batteries Li-ion afin de les recharger et d'utiliser un régulateur de tension DC-DC, je souhaite également améliorer le moniteur de batterie en incluant le lissage (moyenne) des lectures analogiques. Ne pas prévoir d'inclure l'IA. encore …;-)

J'ai participé à mon premier concours instructable… alors s'il vous plaît votez;-)

Conseillé: