Comment fabriquer un tank radiocommandé : un espion avec une télécommande et une caméra. On fabrique un tank radiocommandé sur l'Arduino Nano Tank battle sur arduino


Dans les documents précédents, nous avons fait des revues de vidéos sur la fabrication de divers jouets radiocommandés. Continuons ce sujet. Cette fois nous vous proposons de vous familiariser avec le processus de fabrication d'un char radiocommandé.

Nous aurons besoin:
- châssis fini ;
-Arduino Nano
- 3 servos;
- système rotatif ;
- pistolet jouet;
- Joystick PS2;
- récepteur au joystick ;
- une boîte pour accumulateurs ;
- batteries rechargeables;
- fils;
-laser.

Dans le châssis fini, dont le lien pour l'achat est présenté à la fin du matériel, il y a deux moteurs, deux boîtes de vitesses, un interrupteur et un compartiment à batterie. Selon l'auteur de l'idée, l'achat d'un châssis fini coûtera moins cher que le fait à la main. Si les batteries que vous prévoyez d'utiliser ne rentrent pas dans la baie du châssis, comme dans le cas de l'auteur, vous pouvez y cacher le pilote du moteur.

La première étape consiste à fixer le récepteur du joystick au châssis. Pour ce faire, retirez le couvercle de celui-ci.

Nous retirons également le couvercle de la boîte de vitesses.

Nous faisons deux trous sur le couvercle, qui serviront à fixer le couvercle avec des vis.

Nous remplissons les écrous avec lesquels les vis sont serrées avec de la colle afin qu'elles ne se déroulent pas lors de la conduite et ne tombent pas dans la boîte de vitesses.

Maintenant, vous devez réparer le pilote du moteur. Selon l'auteur, lorsque vous utilisez des fils avec des connecteurs spéciaux, le compartiment ne se ferme pas complètement, vous devez donc mordre les connecteurs, dénuder les fils et souder directement aux sorties du pilote.

Avant d'installer le pilote, vous devez prendre soin du système rotatif pour la bouche du réservoir. Pour ce faire, nous démontons le système rotatif en plastique et y installons deux servos. Le premier sera responsable des mouvements horizontaux et le second des mouvements verticaux.

Nous récupérons le système rotatif.

Nous installons le système sur le corps du réservoir.

Vous devez faire 3 trous supplémentaires dans le boîtier. Deux d'entre eux sont destinés aux fils du moteur et un large trou est nécessaire pour le bus dans la commande du pilote du moteur.

Le pistolet doit être connecté au servo. Pour ce faire, il suffit de faire un trou sur le servomoteur et le corps du pistolet et de le connecter avec une vis.

L'étape suivante consiste à connecter la gâchette du pistolet au servo. Pour ce faire, percez des trous sur la gâchette et la buse sur le servo. Nous connectons les éléments avec un morceau de fil.

Dans la partie supérieure du système rotatif, deux trous traversants doivent être pratiqués, qui doivent également traverser la bouche du pistolet. Ces trous seront utilisés pour monter la muselière sur le système pivotant.

Passons à la programmation de la carte Arduino Nano.

Nous assemblons les composants restants selon le schéma ci-dessous.

Sur le dessus du châssis, on installe des morceaux de la règle qui serviront d'ailes. Nous installons des compartiments de batterie sur les ailes.

Le laser est collé au museau avec de la colle chaude.

Notre char radiocommandé est prêt.

Le robot se compose d'un châssis de char radiocommandé et de plusieurs autres composants, dont la liste est donnée ci-dessous. C'est mon premier projet sur , et j'adore la plate-forme Arduino. Lors de la création de ce robot, j'ai utilisé des matériaux tirés de livres et d'Internet.

Matériel nécessaire
1. Châssis d'un char radiocommandé.
2. Arduino Uno.
3. Planche à pain et cavaliers.
4. Pilote de moteur intégré SN754410NE.
5. Servo standard.
6. Télémètre à ultrasons.
7. Pile 9V et connecteur pour celle-ci.
8. 4 piles D et un connecteur pour celles-ci.
9. Câble USB A-B.
10. Socle 6" x 6".

Outils
1. Un jeu de tournevis.
2. Pistolet à colle chaude.
3. Fer à souder et à souder.

Châssis

J'ai pris le châssis d'un char acheté 10 $. La base peut être attachée n'importe où, mais je l'ai attachée au milieu.

Pilote de moteur SN754410NE

J'ai utilisé le pilote SN754410NE pour contrôler les moteurs. Je l'ai utilisé parce que je l'avais, mais vous pouvez en utiliser un autre comme le L293.

Passons maintenant à la connexion du pilote à l'Arduino Uno. Connectez toutes les broches GND (4,5,12,13) ​​au GND de la planche à pain. Connectez les broches 1 et 16 du pilote aux broches 9 et 10 de l'Arduino. Connectez les broches 2 et 7 du pilote aux broches 3 et 4 de l'Arduino, ce sont les broches de commande du moteur gauche. Connectez les broches 10 et 15 du pilote aux broches 5 et 6 de l'Arduino, ce sont les bonnes broches de commande du moteur. Connectez les broches 3 et 6 au moteur gauche et les broches 14 et 11 à droite. Les broches 8 et 16 doivent être connectées à l'alimentation de la planche à pain. Alimentation : pile 9V.

Le télémètre à ultrasons aide le robot à éviter les obstacles tout en se déplaçant. Il est situé sur un servo standard, situé à l'avant du robot. Lorsque le robot repère un objet à une distance de 10 cm, le servo se met à tourner, à la recherche d'un passage, puis l'Arduino décide quel côté est le plus agréable à déplacer.
Attachez-y un connecteur. Limitez le servo afin qu'il ne puisse pas tourner à plus de 90 degrés de chaque côté.

Le capteur a trois broches GND, 5V et un signal. GND se connecte à GND, 5V à Arduino 5V et le signal se connecte à la broche Arduino 7.

Aliments

L'Arduino est alimenté par une pile 9V via le connecteur approprié. Pour alimenter les moteurs, j'ai utilisé 4 piles de taille D et le connecteur approprié. Pour alimenter les moteurs, connectez les fils du support à la carte avec SN754410NE.

Assemblée

Lorsque toutes les pièces sont prêtes, il est temps de les assembler. Nous devons d'abord attacher l'Arduino à la base. Ensuite, à l'aide de colle chaude, nous fixerons le télémètre avec un servo à l'avant du robot. Ensuite, vous devez attacher les piles. Vous pouvez les placer où vous voulez, mais je les ai placés à côté de l'Arduino. Lorsque tout est prêt, vous pouvez allumer le robot pour vous assurer que l'Arduino fonctionne.

Programme

Ainsi, après avoir assemblé le robot, il est temps d'écrire un programme pour celui-ci. Après avoir passé quelques jours, je l'ai écrit.
Le robot se déplacera en ligne droite tant que l'objet est à plus de 10 cm. Lorsqu'il remarque un objet, il commence à faire tourner le capteur, à la recherche d'un chemin. Lorsque le balayage est terminé, le programme sélectionne le côté optimal pour le mouvement. Si le robot est dans une impasse, il tourne à 180 degrés.
Le programme est téléchargeable ci-dessous. Vous pouvez le modifier et le compléter.

Un réservoir Arduino avec contrôle Bluetooth est un excellent exemple de la facilité avec laquelle et sans connaissances particulières, vous pouvez transformer un réservoir radiocommandé ordinaire en un jouet cool contrôlé à partir d'un appareil Android. De plus, vous n'avez même pas besoin d'éditer le code, tout sera fait par un logiciel spécialisé. Vous avez peut-être lu mon article précédent sur la conversion d'un modèle de voiture radiocommandée en commande. Avec un char, tout est presque pareil, seulement il peut encore faire pivoter la tourelle et changer l'angle d'élévation du canon.

Pour commencer, je présente bref examen les possibilités de mon métier :

Maintenant, reprenons tout dans l'ordre.

Réservoir Arduino avec contrôle Bluetooth - matériel.

La chose la plus importante dans le matériel est châssis, c'est-à-dire carrosserie. Rien n'en sortira sans le réservoir lui-même. Lors du choix d'un étui, faites attention à place libreà l'intérieur. Il va falloir y placer un nombre impressionnant de composants. Je suis tombé sur une telle option, et nous allons travailler avec elle.

Donateur pour notre projet.

Au départ, il était défectueux. Je voulais le restaurer, cependant, horrifié par la qualité de fabrication de la planche de travail, j'ai décidé que la modification serait plus fiable. Oui, et je ferai plaisir aux enfants avec un vieux gadget contrôlé d'une nouvelle manière.

Dimensions : 330x145x105 mm hors canon. La coque est équipée de quatre moteurs : deux pour le mouvement, un pour la tourelle et un pour le canon. Au départ, le char pouvait tirer des balles en caoutchouc, mais le mécanisme était cassé, alors je l'ai simplement coupé du canon. Après cela, il y avait suffisamment d'espace pour placer le remplissage.

Téléchargez et installez le programme à partir du site officiel et installez-le, la version portable peut simplement être décompressée. Ensuite, ouvrez mon fichier de projet et cliquez sur le bouton du micrologiciel en haut de l'interface (septième à partir de la gauche).

Interface FLProg

L'ArduinoIDE va ​​s'ouvrir, mais vous savez comment y travailler 😀 .

Réservoir Arduino avec contrôle Bluetooth - schéma de câblage

Nous connectons des éléments périphériques à la carte, dans notre cas, du bluetooth, des ponts et des LED selon le projet.

Liste des broches utilisées

La liste montre les numéros de broches arduino et leur objectif. Tout est commenté. Les contacts de commande de mouvement et de tourelle sont connectés directement à partir des ponts, aucun kit de carrosserie supplémentaire n'est requis. La connexion d'une entrée analogique pour mesurer la tension doit se faire via un diviseur résistif, car la tension à bord de l'arduino est de CINQ VOLTS !!! Ceci est très important, lorsque la tension de seuil du microcircuit est dépassée, le contrôleur passe dans un autre monde. Donc sois prudent. Dans mon cas, deux batteries li-ion au format 18650 ont été utilisées, un diviseur sur des résistances de 1 KΩ et 680 Ohm. Si votre tension de fonctionnement est différente de la mienne, rendez-vous sur n'importe quel calculateur en ligne pour calculer le diviseur résistif et calculez-le vous-même, en vous basant sur le fait que sa tension de sortie doit être égale à cinq volts. Si vous doutez de vos capacités, vous ne pouvez pas du tout utiliser la mesure de tension sur la batterie, cela fonctionnera quand même. J'ai arrêté de conduire comme ça - il est temps de recharger.

Les LED, le cas échéant, doivent être connectées via des résistances de limitation de courant.

Le réservoir Arduino avec contrôle Bluetooth est un programme pour une tablette ou un smartphone.

Comme dans le modèle précédent, nous utiliserons un programme pour appareils Android appelé HmiKaskada. Je poste une version gratuite de ce programme, que vous pouvez télécharger à partir de YandexDisk. Mon projet est réalisé en version payante et il n'est pas compatible avec la version gratuite du programme. Du matériel supplémentaire est donc consacré à la création d'un projet dans une version gratuite.

Interface de contrôle

À projet fini sur la tablette, il y a aussi un indicateur de niveau de batterie, et c'est le substrat du projet. Alors, commençons...

Commençons par créer un projet avec un écran de travail, nous n'en aurons plus besoin. Ensuite, connectez notre module Bluetooth à la tablette. Pour ce faire, accédez à la modification de la liste des serveurs et cliquez sur le plus dans le coin supérieur droit. Nous sélectionnons notre bluetooth dans la liste et lui donnons un nom. Maintenant, il est configuré et prêt à fonctionner. L'étape suivante consiste à définir la sous-couche pour la zone de travail. Pour ce faire, allez dans le menu "autre - arrière-plan" de l'espace de travail principal et chargez l'image de l'interface. Vous pouvez utiliser le mien ou créer votre propre image. En fait, cela fonctionnera sans définir le fond, c'est juste pour la beauté.

Passons maintenant au placement des commandes. Nous allons dans le menu "setters" et faisons glisser le bouton vers l'espace de travail. Dans le menu du bouton, cliquez sur l'adresse et saisissez par exemple 1#0.12. Où 1 est l'adresse de la carte arduino, et 12 est l'adresse de la variable du projet. Les variables utilisées dans le projet peuvent être visualisées dans l'arborescence du projet.

Liste d'adresses de drapeau

Avec le réglage de l'indicateur de batterie de la même manière. Nous créons un registre de stockage au format Integer dans le projet Arduino et attribuons son adresse à l'indicateur. Par exemple 1#10, ajustez l'indicateur à votre goût.

Lorsque tous les contrôles sont créés, configurés et localisés à leur place, cliquez sur le lancement du projet. Android se connectera au réservoir et vous pourrez profiter du travail effectué.

Réservoir Arduino avec contrôle Bluetooth - assemblage.

L'assemblage de l'engin a pris deux heures de mon temps, mais le résultat a dépassé toutes les attentes. Le char s'est avéré assez agile, répondant instantanément aux commandes. J'ai dû bricoler la boîte de vitesses qui entraîne les chenilles du char. Il s'est effondré, mais à mon bonheur les engrenages n'étaient pas abîmés et un peu de colle, de graisse et des mains droites l'ont remis en service. La batterie standard a dû être remplacée par deux batteries li-ion 18650 connectées en série dans le support. La tension d'alimentation finale s'est avérée être de 6 à 8,4 volts, en fonction du niveau de charge des batteries. J'ai également dû remplacer le moteur qui entraîne la tour, il était en court-circuit.

Remplacé les diodes sur les phares de mon jouet. Les jaunes à faible courant n'étaient absolument pas agréables et étaient soudées aux blanches brillantes des briquets avec des lampes de poche 🙂 . Maintenant, ce miracle de la chenille est confortable à conduire même dans l'obscurité totale. Photos avant et après :

Formidable)

Le résultat de l'assemblage final n'a pas l'air très soigné, j'ai décidé de ne pas passer plus de temps à concevoir des blindages et à poser des fils. Et donc tout fonctionne très bien.

Voici comment la "farce" s'est avérée

Réservoir Arduino avec contrôle Bluetooth - conclusion.

Comme on peut le voir dans le matériel ci-dessus, il n'y a aucune odeur de fouille dans le code lors de la création d'un réservoir contrôlé par Bluetooth. Nous n'avons pas non plus besoin de connaissances approfondies en électronique. Toutes les opérations sont intuitives et conviviales pour les débutants. Initialement, le programme HMIKaskada a été développé comme une alternative aux panneaux IHM industriels coûteux, mais il s'est également avéré utile pour créer un jouet. J'espère que cela vous a aidé à dissiper le mythe sur la complexité de la création de projets multitâches sur arduino.

Je serai heureux de tout type de commentaires sur l'article, ainsi que des commentaires. Après tout, j'apprends aussi avec vous...

La partie principale du robot est le châssis du réservoir radiocommandé et d'autres composants, leur liste sera écrite ci-dessous. Ce réservoir est le premier projet de l'auteur sur la plate-forme Arduino, et il était ravi de l'avoir utilisé. L'auteur a utilisé des matériaux et des livres d'Internet.

Matériaux et outils :
- Châssis de réservoir
-Arduino Uno
- Cavaliers et planche à pain
- Pilote moteur intégré SN754410NE
- Servo conventionnel
- Télémètre à ultrasons
- Pile 9V avec connecteur pour celle-ci
- Piles de type D
- Câble USB pour Arduino
- Base de châssis
- Tournevis
- Pistolet thermique et colle pour celui-ci
- Fer à souder et soudure

La première étape. Châssis de réservoir.
L'auteur a pris le châssis d'un vieux char Abrams acheté dans une brocante. Le réservoir résultant a été démonté afin que le châssis puisse en être retiré. Il n'est pas nécessaire d'utiliser le même réservoir, n'importe quel réservoir radiocommandé fera l'affaire. De plus, le moteur d'origine laissait beaucoup à désirer, j'ai donc dû assembler le mien, son assemblage se fera à l'étape suivante. Après avoir préparé le châssis, l'auteur y a attaché la base avec de la colle chaude. Peu importe où il sera fixé, mais il a été décidé de le coller au centre.

Deuxième étape. Conducteur de machine.
Le pilote SN754410NE est utilisé pour contrôler le moteur, l'auteur l'a utilisé, puisqu'il était disponible, vous pouvez en prendre un similaire.
La connexion du pilote à l'Arduino est la suivante :

Toutes les broches GND sont connectées aux broches GND de la planche à pain.
- Broches de pilote 1 et 16 vers Arduino 9 et 10.
- Les broches 2 et 7 du driver sont connectées aux broches 3 et 4 de l'Arduino (elles sont chargées de contrôler le moteur gauche).
- Les broches Arduino 5 et 6 sont connectées aux broches 10 et 15 du pilote (elles sont responsables du contrôle du bon moteur).
- Les broches 3 et 6 sont connectées au moteur gauche, et 14 et 11 au moteur droit.
- Les broches 8 et 16 doivent être connectées à l'alimentation sur le Bredboard, alimenté par une pile 9V.

Troisième étape. Installation du télémètre.
Le capteur à ultrasons permet au robot d'éviter les obstacles sur son chemin tout en se déplaçant. Le capteur est situé sur un servo standard et sera monté à l'avant du robot. Au moment où le robot remarque un obstacle à moins de 10 cm, le servo commencera à tourner dans les deux sens, cherchant ainsi un passage. Arduino lit les informations du capteur et décide quel côté est le plus favorable pour un mouvement ultérieur.
Tout d'abord, un servo est attaché au capteur. L'auteur fixe le servo de sorte qu'il ne puisse tourner que de 90 degrés dans chaque direction, en d'autres termes, un tour complet du servo sera de 180 degrés.

Le capteur a trois broches GND, signal et 5V. L'alimentation 5V est connectée à l'alimentation Arduino 5V, GND à GND et le signal à la broche Arduino 7.

Quatrième étape. Aliments.
Arduino est alimenté par une pile 9V, il est connecté au connecteur approprié. Les moteurs sont alimentés par quatre batteries de type D installées dans le support de batterie. Pour alimenter les moteurs, les fils du support sont connectés à la carte sur laquelle le pilote de moteur SN754410NE est déjà installé.

Cinquième étape. Assemblage de robots.
Après avoir terminé toutes les étapes précédentes, il est temps de rassembler tous les détails. Tout d'abord, l'Arduino est fixé à la base du réservoir. Après cela, un télémètre à ultrasons est fixé à l'avant du robot à l'aide de colle chaude. Ensuite, l'auteur fixe les piles à côté de l'Arduino. Les batteries peuvent être installées sur n'importe quelle partie du réservoir. Après avoir installé tous les composants, tous les fils ont été soulevés et l'alimentation a été appliquée à la carte pour s'assurer que l'assemblage était correct.

Sixième étape. Code de programme.
Une fois l'assemblage du réservoir terminé, il est temps d'écrire un programme pour celui-ci. Le programme doit indiquer au robot quand se déplacer et quand s'arrêter pour éviter une collision avec un obstacle. Lors de l'écriture du code de l'auteur

Ce post sera le premier test afin de comprendre si cela intéresse quelqu'un d'autre que moi. J'y décrirai structure générale technologies et dispositifs utilisés.

UPD : vidéo ajoutée.


Tout d'abord, une courte vidéo pour attirer l'attention. Le son provient du haut-parleur du réservoir.

Comment tout a commencé

Il y a longtemps, j'ai rêvé de fabriquer un robot sur un châssis de chenille qui pourrait être dirigé à distance. Le principal problème était l'absence d'un châssis à chenilles directement. Au final, j'ai déjà décidé d'acheter un char radiocommandé pour le démontage, mais j'ai eu de la chance, dans le magasin, parmi les ordures, il y avait un char Snow Leopard (Pershing) - USA M26 avec électronique brûlée, mais un entièrement fonctionnel partie mécanique. C'était exactement ce qu'il fallait.

En plus du châssis, deux régulateurs de tension pour les moteurs de collecteur, un trépied pour une caméra de deux servos, une webcam avec support matériel mjpeg et une carte WiFi externe TP-LINK TL-WN7200ND ont été achetés. Un peu plus tard, un haut-parleur portable, une boîte de son Creative SoundBlaster Play USB et un simple microphone, ainsi que quelques hubs USB ont été ajoutés à la liste des appareils pour connecter tout cela au module de contrôle, qui est devenu le Raspberry Pi. La tourelle a été démontée du char, il était très peu pratique de la diriger, car toute la mécanique régulière était construite sur des moteurs conventionnels sans retour d'information.

Je dois dire tout de suite que les photos ont été prises lorsque le réservoir était presque prêt, et non pendant le processus de fabrication.

Alimentation et câblage


J'ai fourré la plus grande batterie Li-Po qui rentre dans le compartiment de la batterie. Il s'est avéré qu'il s'agissait d'une batterie à deux cellules de 3300 mAh dans un boîtier solide, qui est généralement utilisée dans les modèles réduits de voitures. J'étais trop paresseux pour souder, donc une planche à pain standard avec un pas de 2,54 a été utilisée pour toutes les commutations. Plus tard, un deuxième est apparu sur le capot supérieur et un train qui les reliait. Pour chacun des deux moteurs, j'avais mon propre régulateur de tension, qui, en prime, fournit une alimentation stabilisée d'environ 5,6 volts. La framboise et la carte WiFi étaient alimentées par un régulateur, l'alimentation du second allait aux servos et au concentrateur USB avec des périphériques.

Faut le faire bouger

Il fallait le faire d'une manière ou d'une autre. La framboise n'a pas été choisie par hasard. Premièrement, il vous permet d'installer un Linux normal à part entière, et deuxièmement, il dispose d'un tas de jambes GPIO, qui, entre autres, peuvent générer un signal d'impulsion pour les servos et les contrôleurs de déplacement. Vous pouvez générer un tel signal à l'aide de l'utilitaire ServoBlaster. Lorsqu'il est exécuté, il crée un fichier /dev/servoblaster où vous pouvez écrire quelque chose comme 0=150, où 0 est le numéro de canal et 150 est la longueur d'impulsion en dizaines de microsecondes, donc 150 est de 1,5 millisecondes (la plupart des servos ont une plage de valeurs 700-2300 millisecondes).
Donc, nous connectons les régulateurs aux broches GPIO 7 et 11 et démarrons le servoblaster avec la commande :

# servod --min=70 --max=230 --p1pins=7,11
Maintenant, si vous écrivez les lignes 0=230 et 1=230 dans /dev/servoblaster, le char se précipitera vers l'avant.

Probablement suffisant pour la première fois. Si vous aimez l'article, j'écrirai lentement les détails dans les messages suivants. Et quelques photos de plus à la fin, ainsi qu'une vidéo fraîchement filmée. Certes, la qualité n'était pas très bonne, donc je m'excuse d'avance auprès des esthètes.