Faites une voiture RC que vous pouvez contrôler avec n'importe quelle télécommande: 6 étapes

Faites une voiture RC que vous pouvez contrôler avec n'importe quelle télécommande: 6 étapes

Table des matières:

Anonim

Dans ces instructables, je vais vous montrer comment vous pouvez créer une voiture facile à fabriquer vous-même.

La meilleure chose à propos de cette voiture est que, avec de légères modifications, vous pouvez la contrôler avec presque toutes les télécommandes imaginables.

Par exemple, vous pouvez le contrôler en utilisant:

  • Une application (que je vous montrerai bientôt;))
  • Une télécommande RC (que j'utilise ici)
  • Une télécommande IR

Commençons!

Provisions:

Étape 1: Pièces

Pour fabriquer la voiture, vous aurez besoin de plusieurs pièces.

  • Un kit voiture, avec les moteurs et le cadre
  • Un pont en H pour contrôler le moteur. (vitesse et direction)
  • Un arduino, j'utilise un méga ici, mais vous pouvez utiliser n'importe quel type d'arduino
  • Un certain type de télécommande (j'utilise le Spektrum DX6i, mais vous pouvez utiliser presque n'importe quelle télécommande)

Optionnel:

  • Un convertisseur 12V à 6V (Uniquement si vous utilisez une batterie 12V au lieu des 4 piles AA)
  • Un module Bluetooth HC-05 (pour contrôler la voiture pour un téléphone ou un PC)
  • Autres accessoires

Étape 2: Ce qui est inclus dans le kit voiture

Avec le kit voiture, vous obtenez de nombreuses pièces. Elles sont:

  • 4 roues avec des pneus en caoutchouc
  • Plaque supérieure et inférieure en acrylique
  • 4 Moteurs avec boîtes de vitesses, l'arbre de sortie tourne donc moins vite que l'arbre du moteur, mais avec plus de couple.
  • Boîte à piles pour 4 piles AA, je ne l'utilise pas, car j'utilise plutôt une pile lipo
  • 2 fils pour chaque moteur (rouge et noir)
  • Suffisamment de vis et d’écrous pour l’assembler et un peu plus pour monter le contrôleur
  • 6 entretoises pour la plaque supérieure et inférieure
  • 8 supports de moteur, 2 pour chaque moteur
  • 4 disques d'encodeurs pour si vous voulez mesurer la vitesse du moteur
  • Un tourne vis
  • Un instructions de construction

Étape 3: Assemblage de la voiture

La première étape consiste à décoller le papier protecteur de toutes les pièces en acrylique. (Plaque supérieure et inférieure, supports de moteur, disques de codeur)

Après cela, vous pouvez commencer à assembler le châssis en utilisant les images sur les instructions. Laissez la plaque supérieure éteinte.

Après cela, vous pouvez raccourcir les fils et les souder en croix aux quatre moteurs. (Comme on le voit dans la dernière image)

Étape 4: Installation de l'électronique

Placez d'abord le pont en H entre les 4 moteurs et connectez-le aux moteurs.

Après cela, vous pouvez connecter le régulateur de tension, le cas échéant, sinon connectez la batterie au pont en H, à VCC et à GND.

Ajoutez également 2 fils (rouge et bleu) pour alimenter l’arduino. Vous pouvez utiliser le régulateur 5V sur le pont en H.

Ajoutez également des câbles de jonction femelle à mâle ou femelle à femelle aux broches de commande du pont en H.

si vous utilisez une batterie lipo, connectez un connecteur de batterie à l'entrée du régulateur de tension.

Maintenant, vissez la plaque supérieure. Et montez l'arduino sur le dessus.

Connectez le fil rouge et bleu à 5V et GND de l'arduino.

Connectez également les 4 broches de contrôle du pont en H aux broches 10 - 13.

C'est la pièce pour la voiture. La prochaine partie est pour la télécommande. Si vous utilisez un autre type (Bluetooth, …), vous devez changer ici.

Pour un contrôleur RC, il suffit de connecter le 5V et GND à une connexion 5V et GND de l’arduino. Connectez également les canaux 2 et 3 (pour la conduite) aux broches 3 et 4.

Voilà pour le matériel. Nous passons maintenant au logiciel.

Étape 5: logiciel Arduino

Le logiciel de l'arduino n'est pas si difficile. J'ai ajouté des commentaires, mais si quelque chose n'est pas clair, merci de me le faire savoir.

#define Motor1_Dir 13 // Broche de contrôle de direction du moteur 1 #define Motor2_Dir 11 // Broche de contrôle de la direction du moteur 2 #define Motor1_PWM 12 // Broche de contrôle de la vitesse du moteur 1 #define Motor2_PWM 10 // Broche de contrôle de la vitesse du moteur 2 dans le canal int 4 = {0, 0, 0, 0}; // Une variable pour sauvegarder les valeurs de la télécommande int pwm 4 = {0, 0, 0, 0}; // Une variable pour enregistrer les valeurs distantes de -255 à 255 int prev_pwm 4 = {0, 0, 0, 0}; // Une variable pour vérifier si l'état a changé int pwm_m1 = 0; // Une variable pour enregistrer la vitesse du premier moteur int pwm_m2 = 0; // Une variable pour enregistrer la vitesse du deuxième moteur int reverse = 0; // Une variable pour vérifier si la voiture doit rouler en arrière int prev_reverse = 0; // Une variable pour vérifier si l'état d'inversion changée de const int pins 4 = {2, 3, 4, 5}; // Une variable const pour les broches du void distant setup () {pinMode (2, INPUT); // Ch1 pinMode (3, INPUT); // Ch2 pinMode (4, INPUT); // Ch3 pinMode (5, INPUT); // Ch4 pinMode (6, INPUT); // Ch5 pinMode (7, INPUT); // Ch6 pinMode (Motor1_Dir, OUTPUT); pinMode (Motor2_Dir, OUTPUT); pinMode (Motor1_PWM, OUTPUT); pinMode (Motor2_PWM, OUTPUT); digitalWrite (Motor1_Dir, LOW); // Moteur 1 avant digitalWrite (Motor2_Dir, LOW); // Moteur 2 en avant} void loop () {for (int i = 1; i <3; i ++) // vérifie les canaux 2 et 3 (de 0 à 3) {channel i = pulseIn (broches i, HIGH, 25000); // Lire le canal canal du canal i = (canal i == 0)? 990: canal i; // S'il y a une erreur, la valeur est 0 / ************************************** *** * Identique à ceci mais plus court: * if (canal i == 0) * {* canal i = 990; *} * else * {* canal i = canal i; *} **************************************** / pwm i = map (canal i, 990, 2000, -255, 255); // Conversion de (990 - 2000) en (-255 - 255) si (i == 2) // Si la voie 3 est cochée (mouvement vertical) {reverse = (pwm i <2)? dix; // avant ou arrière pwm i = (pwm i <0)? (255 + pwm i): pwm i; // si en arrière, au lieu de (-255 à 0) => (0 à 255)} if ((prev_pwm i + 4 <pwm i) || (prev_pwm i - 4> pwm i)) // S'il y a un mouvement minimal de 4 dans un sens {/ ** Définir la vitesse du moteur 1 ** / pwm_m1 = pwm 2 - pwm 1; pwm_m1 = (pwm_m1 <0)? 0: pwm_m1; // Minimum 0, pas négatif pwm_m1 = (pwm_m1> 255)? 255: pwm_m1; // Maximum 255, pas plus / ** Définition de la vitesse du moteur 2 ** / pwm_m2 = pwm 2 + pwm 1; pwm_m2 = (pwm_m2 <0)? 0: pwm_m2; // Minimum 0, pas négatif pwm_m2 = (pwm_m2> 255)? 255: pwm_m2; // 255 maximum, pas plus analogWrite (Motor1_PWM, pwm_m1); // Vitesse d'écriture sur les moteurs analogWrite (Motor2_PWM, pwm_m2); prev_pwm i = pwm i; // Place ici pour vérifier le mouvement minimal de 4 (voir en haut)} if (reverse! = Prev_reverse) // Si la direction est modifiée {digitalWrite (Motor1_Dir, reverse); // Écris-le sur le pont en H digitalWrite (Motor2_Dir, reverse); // Ecris-le sur le pont en H prev_reverse = reverse; // Définir pour une vérification ultérieure}} delay (100); // dors un peu de temps}

Donc c'est tout le code.

Étape 6: Reprendre

Alors voilà, vous avez fabriqué une voiture que vous pouvez contrôler avec presque toutes les télécommandes.

Profitez de faire et de conduire!

Si cela vous a plu, votez pour et partagez-le.

Si vous avez des idées pour moi, que faire ensuite, partagez-les!

Si vous avez des questions, laissez-les savoir dans les commentaires.

Et une heureuse nouvelle année!

Laurens