CxemCAR sur Arduino - Contrôle de voiture Bluetooth depuis Android. Voiture bluetooth simple sur Arduino

Maintenant encore, je veux vous proposer une option intéressante "Nous contrôlons la machine Arduino à l'aide du capteur G sur un smartphone Android"

Dans cet article, je vais vous expliquer comment utiliser ce service RemoteXY est très facile à configurer pour contrôler à distance la plate-forme ou la voiture. Nous contrôlerons le robot à l'aide de la commande "Joystick", qui peut fonctionner à partir du capteur G de votre smartphone. À la fin de l'article, vous trouverez une vidéo et vous pouvez voir ce que nous avons obtenu.

Nous avons mis en place un chariot à deux roues très simple pour vous montrer comment construire un système. télécommande... Les composants suivants sont utilisés dans le chariot (nous ne prétendons pas être de la main-d'œuvre, le chariot est assemblé pour démontrer les capacités de la ressource RemoteXY) :

  • Plate-forme- nous le découpons dans du matériau en feuille. Pour plus de simplicité, des panneaux de fibres ont été utilisés;
  • Roue avant- roue pivotante de la chaise;
  • Moteurs à engrenages 2 pièces ;
  • roues, avec axe adapté aux motoréducteurs 2 pcs. Nous avons acheté les roues avec le motoréducteur ;
  • Compartiment à piles avec interrupteur, le 4 piles de doigts(type AA) ;
  • Arduino, nous avons utilisé le même clone Seeeduino ;
  • Module Bluetooth HC-06;
  • Conducteur de moteur sur la puce L298N ;

Toutes les pièces peuvent être commandées sur le site chinois pour un centime. La vérité devra attendre un peu. mais il vaut mieux économiser que payer trop cher

La partie électrique et le schéma de connexion de tous les modules de la machine sont représentés sur la figure suivante.

Programme de gestion

Entrez dans l'éditeur sur cette ressource et construisez l'interface de contrôle suivante :

Centrez le Joystick sur l'écran. Dans les propriétés du joystick, sélectionnez l'installation du contrôle supplémentaire "Activer le capteur G". Sélectionnez la position du commutateur G-sensor "Bas-Gauche". Vous pouvez également changer la couleur en rouge dans les paramètres. À l'avenir, nous utiliserons le joystick pour contrôler le mouvement de la voiture.

Réglez le "commutateur". Placez-le à gauche du joystick. Vous pouvez également changer sa couleur. L'interrupteur sera utilisé pour contrôler la LED de la carte Arduino sur la broche 13.

Si vous avez tout fait correctement, vous devriez avoir quelque chose comme l'interface de contrôle suivante :

Dans les paramètres du projet, sélectionnez la plate-forme cible pour laquelle nous obtenons la source"Arduino (SoftwareSerial)". Cliquez sur le bouton "Obtenir le code" et téléchargez le code source sur votre ordinateur.

Ouvrons l'esquisse téléchargée dans l'IDE Arduino. Le croquis compile parfaitement sans erreurs. Cependant, bien sûr, il n'y a pas de code pour contrôler notre voiture. Notre tâche est d'écrire ce code. Pour l'exemple, nous utiliserons l'exemple téléchargé.

Attention à la définition de la structure RemoteXY_TypeDef dans le fichier remotexy.h... La structure contient des champs qui correspondent entièrement aux contrôles installés sur l'interface de contrôle. On voit des variables manette_1_x et joystick_1_y, reflétant les coordonnées x et y de notre joystick, ainsi que la variable commutateur_1 interrupteur réfléchissant.

/ * la structure définit toutes les variables de votre interface de contrôle * / typedef struct (

/ * variable d'entrée * / car signé joystick_1_x; / * = -100..100 x coordonnée de la position du joystick * / car signé joystick_1_y; / * = -100..100 coordonnée y de la position du joystick * / unsigned char switch_1; / * = 1 si le commutateur est activé et = 0 si désactivé * /

/ * autre variable * / unsigned char connect_flag; / * = 1 si fil connecté, sinon = 0 * /

) RemoteXY_TypeDef ;

Ce qui suit est le code principal du programme, qui est déjà intégré dans le contrôle des moteurs de notre machine. Vous pouvez simplement copier code donné dans votre croquis, ou ajoutez sélectivement les morceaux de code nécessaires à l'exemple chargé.

#comprendre #comprendre #include "remotexy.h"

/ * définir les bonnes broches de commande du moteur * /
#define PIN_MOTOR_RIGHT_UP 7
#define PIN_MOTOR_RIGHT_DN 6
#define PIN_MOTOR_RIGHT_SPEED 10

/ * définir les broches de commande du moteur gauche * /
#define PIN_MOTOR_LEFT_UP 5
#define PIN_MOTOR_LEFT_DN 4
#define PIN_MOTOR_LEFT_SPEED 9

/ * définir la broche de contrôle LED * /
#define PIN_LED 13

/ * définir deux tableaux listant les broches pour chaque moteur * /
caractère non signé RightMotor = (PIN_MOTOR_RIGHT_UP, PIN_MOTOR_RIGHT_DN, PIN_MOTOR_RIGHT_SPEED);
caractère non signé LeftMotor = (PIN_MOTOR_LEFT_UP, PIN_MOTOR_LEFT_DN, PIN_MOTOR_LEFT_SPEED);

/*
contrôle de la vitesse du moteur
moteur - référence à un réseau de broches
v - vitesse du moteur, peut prendre des valeurs de -100 à 100
*/
void Wheel (car non signé * moteur, int v)
{
si (v> 100) v = 100 ;
si (v<-100) v=-100;
si (v> 0) (
digitalWrite (moteur, HAUT);
digitalWrite (moteur, LOW);
analogWrite (moteur, v * 2,55) ;
}
sinon si (v<0) {
digitalWrite (moteur, LOW);
digitalWrite (moteur, HAUT);
analogWrite (moteur, (-v) * 2,55) ;
}
autre (
digitalWrite (moteur, LOW);
digitalWrite (moteur, LOW);
analogWrite (moteur, 0);
}
}

void setup ()
{
/ * initialise les broches * /
pinMode (PIN_MOTOR_RIGHT_UP, SORTIE);
pinMode (PIN_MOTOR_RIGHT_DN, SORTIE);
pinMode (PIN_MOTOR_LEFT_UP, SORTIE);
pinMode (PIN_MOTOR_LEFT_DN, SORTIE);
pinMode (PIN_LED, SORTIE);

/ * initialisation du module RemoteXY * /
RemoteXY_Init ();

boucle vide ()
{
/ * gestionnaire d'événements du module RemoteXY * /
RemoteXY_Handler ();

/ * contrôle le pin de la LED * /
digitalWrite (PIN_LED, (RemoteXY.switch_1 == 0) ? BAS : HAUT );

/ * contrôler le bon moteur * /
Molette (Moteur droit, RemoteXY.joystick_1_y - RemoteXY.joystick_1_x);
/ * contrôler le moteur gauche * /
Molette (Moteur Gauche, RemoteXY.joystick_1_y + RemoteXY.joystick_1_x);
}

Au tout début, les numéros de broche qui seront utilisés pour contrôler les moteurs sont déterminés. De plus, les numéros de broche sont regroupés en deux tableaux, respectivement pour les moteurs droit et gauche. Pour contrôler chaque moteur via le pilote de la puce L298N, vous devez utiliser 3 signaux : deux signaux discrets indiquant le sens de rotation du moteur, et un analogique, qui détermine la vitesse de rotation. Ces transformations sont gérées par la fonction Roue... A l'entrée de la fonction, nous passons une référence au tableau de broches du moteur sélectionné, et la vitesse de rotation sous la forme d'un nombre signé de -100 à 100. Si la vitesse est 0, alors le moteur est éteint.

Dans une fonction prédéfinie installer les broches sont configurées pour fonctionner comme des sorties. Le signal analogique utilise des broches qui peuvent agir comme des convertisseurs PWM. Ce sont les broches 9 et 10. Elles ne nécessitent pas de configuration dans l'environnement Arduino.

Dans une fonction prédéfinie boucleà chaque itération du programme, le gestionnaire du module RemoteXY est appelé. Ensuite, l'allumage des LED est contrôlé, puis les moteurs sont contrôlés. Pour contrôler des moteurs à partir d'une structure À distanceXY les champs sont lus dans les coordonnées X et Y du joystick, en fonction des coordonnées, une opération mathématique est effectuée pour calculer la vitesse de chaque moteur, et la fonction est appelée Roue réglage de la vitesse du moteur. Ces calculs sont effectués à chaque cycle du programme, assurant la continuité du calcul des impulsions de commande des moteurs en fonction des coordonnées du joystick.

Versez l'esquisse Arduino résultante dans le contrôleur. Téléchargez et lancez l'application mobile Android sur votre smartphone ou tablette. Connectez-vous avec votre appareil et vous pouvez le contrôler. Le joystick peut être utilisé normalement en déplaçant le curseur avec votre doigt. Vous pouvez activer le capteur G et le curseur du joystick se déplacera en fonction de l'inclinaison de votre smartphone.

Si, après avoir assemblé votre appareil, un ou les deux moteurs tournent dans le sens opposé, échangez les fils lors de la connexion du moteur.

Mais aussi avec l'achat d'un robot à part entière prêt à l'emploi basé sur cette carte. Pour les enfants d'âge primaire ou préscolaire, de tels projets Arduino prêts à l'emploi sont même préférables, car Le tableau "mort" a l'air ennuyeux. Par ici convient à ceux qui ne sont pas particulièrement attirés par les circuits électriques.

En achetant un modèle de robot fonctionnel, c'est-à-dire en fait, un jouet de haute technologie prêt à l'emploi, vous pouvez éveiller l'intérêt pour l'auto-conception et la création de robots. Après avoir suffisamment joué avec un tel jouet et compris son fonctionnement, vous pouvez commencer à améliorer le modèle, tout démonter et commencer à assembler de nouveaux projets sur Arduino, en utilisant la carte, les lecteurs et les capteurs libérés. L'ouverture de la plate-forme Arduino vous permet de fabriquer de nouveaux jouets à partir des mêmes composants.

Nous vous proposons un petit aperçu des robots prêts à l'emploi sur la carte Arduino.

Machine Arduino contrôlée via Bluetooth

Voiture contrôlée par Bluetooth, coûtant un peu moins de 100 $. Livré non monté. En plus de la carrosserie, du moteur, des roues, de la batterie au lithium et du chargeur, nous obtenons une carte Arduino UNO328, un contrôleur de moteur, un adaptateur Bluetooth, une télécommande, etc.

Vidéo présentant ceci et un autre robot :

Une description plus détaillée du jouet et la possibilité d'acheter sur le site Web de la boutique en ligne DealExtreme.

Robot tortue Arduino

Kit de montage robot tortue coûte environ 90 $. Il ne manque plus que la coque, tout le reste nécessaire à la vie de ce héros est inclus dans le kit : carte Arduino Uno, servos, capteurs, modules de tracking, récepteur IR et télécommande, batterie.

La tortue peut être achetée sur le site Web DealExtreme, un robot similaire moins cher sur Aliexpress.

Véhicule à chenilles Arduino contrôlé à partir d'un téléphone portable

Véhicule à chenilles contrôlé via Bluetooth à partir d'un téléphone portable, d'une valeur de 94 $. En plus de la base à chenilles, nous obtenons une carte Arduino Uno et une carte d'extension, une carte Bluetooth, une batterie et un chargeur.

Le véhicule à chenilles peut également être acheté sur le site Web DealExtreme, il y a aussi une description détaillée. Fer peut-être plus intéressant Réservoir Arduino sur Aliexpress.

Voiture Arduino roulant dans des labyrinthes

Voiture roulant dans des labyrinthes, d'une valeur de 83 $. En plus des moteurs, des cartes Arduino Uno et d'autres éléments nécessaires, il contient des modules de suivi et des modules d'évitement d'obstacles.

Robot fini ou châssis de robot

En plus de la possibilité d'utiliser des kits prêts à l'emploi pour créer des robots Arduino discutés dans la revue, vous pouvez acheter un cadre (corps) séparé du robot - il peut s'agir d'une plate-forme sur roues ou d'une chenille, d'un humanoïde, d'une araignée et autres modèles. Dans ce cas, vous devrez effectuer vous-même le remplissage du robot. Un aperçu de ces cas est donné dans notre.

Où d'autre acheter des robots prêts à l'emploi

Dans la revue, nous avons sélectionné les robots Arduino prêts à l'emploi les moins chers et les plus intéressants, à notre avis, dans les magasins en ligne chinois. S'il n'y a pas le temps d'attendre un colis en provenance de Chine, il existe un grand choix de robots prêts à l'emploi dans les boutiques en ligne Amperka et DESSY. Des prix bas et une livraison rapide sont offerts par la boutique en ligne ROBstore. Liste des magasins recommandés.

Vous pouvez également être intéressé par nos revues de projets Arduino :


Apprentissage Arduino

Vous ne savez pas par où commencer pour apprendre Arduino ? Pensez à ce qui est plus proche de vous - assembler vos propres modèles simples et les compliquer progressivement ou apprendre à connaître des solutions plus complexes, mais toutes faites ?

Machine Arduino et Bluetooth sans édition de code. Nous utiliserons un logiciel de dessin gratuit spécialisé. De plus, vous n'avez pas besoin d'acheter un châssis pour notre embarcation, presque n'importe quel modèle radiocommandé défectueux d'une voiture ou d'un char fera l'affaire.

Je suggère de regarder une vidéo de présentation d'une machine contrôlée par Bluetooth et de son remplissage.

Examinons donc de plus près un exemple en direct de la fabrication d'une machine à écrire contrôlée à distance via Bluetooth à partir d'une tablette ou d'un smartphone Android de vos propres mains. L'article, assez curieusement, est conçu pour le niveau initial de connaissance. Il n'y a pas de tutoriel sur la façon d'éditer le code dans l'IDE Arduino ici, et nous ne l'utiliserons que pour remplir notre code. Et nous allons composer un algorithme de contrôle dans un programme appelé FLProg. Programme de contrôle de smartphone - HmiKaskada_free. Mais d'abord, à propos du matériel dont nous avons besoin.

Machine Arduino et Bluetooth - matériel.

La première chose dont vous avez besoin est châssis, c'est-à-dire un corps avec des roues et des moteurs, qui roulera pour le plus grand plaisir de nous et de ceux qui nous entourent. Dans mon cas, le corps a été utilisé à partir d'un jouet radiocommandé dans lequel le bloc d'alimentation a brûlé. La perspective de rénovation me paraissait terne, et je voulais quelque chose de nouveau pour mes enfants. C'est ainsi qu'est né ce projet. Dans la coque, il y a deux moteurs qui entraînent les roues le long des côtés de la machine, comme un char. Tout le remplissage électronique est allé aux pièces de rechange.

Pour piloter les moteurs électriques de notre future création, il vous faudra Pont en H sur la puce L298N Lien vers Ali, j'ai pris de celui-ci. L'image est cliquable.

Pont en H pour arduino

Il peut entraîner deux moteurs dans une plage de tension de 5 à 35 volts. Prend en charge PWM, c'est-à-dire que vous pouvez régler la vitesse des moteurs. La carte a une sortie de tension stabilisée de 5 volts pour alimenter l'arduino.

Le schéma de connexion est simple et direct :

La prochaine partie intégrante du remplissage électronique de notre projet est module bluetooth HC-06. Le module le plus courant pour arduino, si populaire qu'il n'a pas besoin d'une description supplémentaire.

HC-06 bluetooth pour arduino

L'élément principal et le cerveau dans mon cas est arduino nano, ici je ne mettrai même pas de photo, car tout le monde la connaît et sait comment travailler avec elle. Soit dit en passant, n'importe quelle carte Arduino convient, tant qu'elle rentre dans le boîtier 😀

Les batteries et les fils à souder n'ont pas besoin de définition de spécification. Le choix des batteries dépend de la tension de fonctionnement des moteurs électriques.

Voiture Arduino et Bluetooth - croquis.

Je vais me répéter - il n'y aura pas de fouille dans le code ici. Nous utiliserons le célèbre programme FLProg. Vous pouvez télécharger sa dernière version sur le site officiel. L'interface du programme est simple et sans prétention, mais il existe une énorme fonctionnalité et un support pour presque tous les modules populaires. Je n'écrirai pas comment l'utiliser, car cela prendra quelques articles. Je dirai simplement que je n'ai pas trouvé de programme plus pratique et accessible pour dessiner des croquis pour arduino et ses clones. Écran d'interface :

Interface FLProg

Le site est plein de manuels texte et vidéo, je pense que vous pouvez le comprendre.

Mon projet de machine télécommandée peut être téléchargé à partir d'un disque Yandex via le service de raccourcissement des liens.

Machine Arduino et Bluetooth - interface de contrôle sur la tablette Android.

À la demande générale, j'ai écrit des instructions détaillées pour développer une interface de contrôle basée sur HmiKaskada android dans l'article. Le lien est cliquable.

Pour les appareils fonctionnant sous Android, il existe un programme HmiKaskada (lien vers YandexDisk). Il a été conçu à l'origine comme une alternative aux coûteux panneaux IHM industriels. Mais les esprits curieux ont vite compris qu'elle pouvait tout contrôler. Dans notre cas, une machine à écrire. Prend en charge les interfaces sans fil Wi-Fi et Bluetooth, en outre, vous pouvez connecter l'appareil directement via USB.

Il existe des versions payantes et gratuites du programme. J'ai les deux, mais j'ai essentiellement fait le projet dans la version gratuite pour vous montrer et m'assurer encore une fois que la version gratuite fonctionne parfaitement. La principale différence entre les versions gratuite et PRO est qu'elle ne fonctionne qu'en bluetooth.

Il y a un fil de discussion géant sur le forum FLProg sur la question de la compatibilité Cascade, et le développeur est actif et sortant. Je ne vois aucun intérêt à télécharger l'écran du panneau de contrôle - il est dans la vidéo.

L'idée principale du projet est de créer une plate-forme mobile autonome à quatre roues peu coûteuse.

Le projet utilise une logique basée sur Arduino, une voiture radiocommandée peu coûteuse, une alimentation électrique de 9 volts. Un émetteur infrarouge est utilisé comme capteurs de retour.

Le matériel étant peu coûteux, cet article ne peut être considéré que comme un guide général et la première étape pour d'autres modifications de votre plate-forme autonome à quatre roues.

Équipements et matériaux nécessaires

  • Arduino
  • Bouclier de moteur Arduino
  • Voiture radiocommandée
  • Fer à souder
  • Souder
  • Émetteur infrarouge
  • Récepteur infrarouge
  • Pile 9 V avec connecteurs
  • Changer

* Veuillez noter : si votre machine a une grande carte contrôleur, il s'agit probablement d'une puce TX2 ou RX2. Si c'est le cas, vous pouvez économiser de l'argent et utiliser les contrôleurs intégrés pour les moteurs. Il y a un bon exemple (en anglais !).

Nous démontons la machine

Votre première étape consiste à démonter la voiture. Retirez le boîtier et retirez toutes les cartes de la machine. Nous ne touchons pas aux moteurs. Dans le projet, nous avons besoin de nos propres châssis, roues et moteurs.


Préparation des capteurs

Nous préparons l'électronique. Tout d'abord, soudez une résistance de 100 ohms à l'une des broches de votre émetteur IR. Nous soudons les fils à l'autre patte de la résistance et à la patte du capteur. Ensuite, nous soudons les deux fils aux pieds de votre récepteur IR.


Installation de l'Arduino et du capteur

Dans le corps de la machine, vous devez faire des trous pour les fixations de votre contrôleur Arduino. Les trous pour les fixations dépendent des dimensions de la plate-forme mobile de la machine. Dans ce cas particulier, la planche était positionnée "perpendiculairement" au système porteur. Cette disposition est également pratique car les distances entre les moteurs de suspension avant et arrière et les broches de la carte sont approximativement les mêmes.

Nous installons notre émetteur et notre détecteur au dessus de la suspension avant. Il est souhaitable de les installer plus haut que le sol. A l'avenir, vous pourrez prévoir les LED arrière qui s'allumeront lors de la marche arrière de la machine.



Passons à l'étape suivante.

Aliments

Le projet utilise une pile 9 V (couronne). Dans ce cas, il s'est avéré être installé sous le système de support de la plate-forme sur roues. Nous attachons avec des attaches en plastique. En principe, pour augmenter la durée de vie de la batterie de notre voiture, vous pouvez installer deux couronnes en parallèle.



Connexion à Arduino

Vous pouvez déterminer la connexion sur la base de la photo. Mais juste au cas où, ci-dessous se trouve le schéma de connexion sous forme de texte.



DEL infrarouge

Contact positif - 5v

Contact négatif - Terre

Contact positif - Broche analogique 5

Contact négatif - Terre

Moteur

Contact négatif - Canal de blindage du moteur A -

Moteur de rotation

Contact positif - Blindage du moteur Canal B +

Contact négatif - Canal de blindage du moteur B -

Contact positif - Blindage moteur Vin

Contact négatif - Masse du blindage du moteur

programme Arduino

Compte tenu des spécificités du projet, vous devez apporter de nombreuses modifications au croquis de base ci-dessous, qui dépendent de la taille de la voiture et des roues, de la vitesse des roues, du poids de la voiture, de l'éclairage de l'environnement.

capteur int = A5;

mesure int = 1 ;

int ambientir = 0;

// réglage du canal A (canal A)

pinMode (12, SORTIE); // initialise le contact du canal moteur A

pinMode (9, SORTIE); // Initialiser le contact de frein - Canal de frein A

pinMode (irsensor, INPUT);

digitalWrite (irsensor, HAUT);

Serial.begin (9600);

ambientir = ambientir + analogRead (irsensor);

mesure = mesure + 1;

ambiantir = ambiantir / 10;

distance = analogRead (irsensor);

digitalWrite (12, HAUT); // Fournir le sens de rotation opposé du rotor au canal A

digitalWrite (9, FAIBLE); // Désactiver le frein sur le canal A

analogWrite (3, 100); // Faire tourner le rotor du moteur sur le canal A à la moitié de la vitesse maximale

si (distance> ambientir - 50) (

digitalWrite (12, FAIBLE);

digitalWrite (9, FAIBLE);

analogWrite (3, 100);

Serial.println (distance);

Le cadre ci-dessus du programme pour Arduino peut (et devrait même !) être modifié pour votre conception spécifique, mais vous devriez avoir saisi le concept général.

Résultat, tests et autres options de modification

Comme vous pouvez le voir sur la photo, la carrosserie d'origine de la voiture était peinte en beige et montée sur des supports sur une plate-forme mobile à quatre roues.



Après avoir testé la conception développée, nous pouvons distinguer les problèmes suivants:

  • Plage limitée de sensibilité du capteur ;
  • Problèmes liés à la vitesse de la voiture, à savoir, l'incapacité de s'arrêter rapidement;
  • La nécessité d'ajuster le capteur pour différentes conditions d'éclairage ;
  • Et bien sûr, le plastique chinois bon marché ne confère en aucun cas à une machine à écrire autonome Arduino une bonne rigidité et fiabilité.

En principe, il est possible de faire une compensation en fonction du niveau d'éclairage, mais il s'agit d'une histoire et d'une modification distinctes qui n'étaient pas incluses dans les tâches du projet de base.

La voiture ne s'écrase pas contre les murs, mais avec une probabilité de 90 %, elle heurtera tous les pieds des chaises et des tables de la pièce. C'est-à-dire qu'il y a des problèmes évidents avec la détection d'obstacles plus petits. En conséquence, il est nécessaire soit d'augmenter le nombre d'émetteurs, soit d'utiliser des modèles plus chers avec une sensibilité plus élevée.

Laissez vos commentaires, questions et partagez expérience personnelle au dessous de. De nouvelles idées et projets naissent souvent dans la discussion !

Voiture Arduino avec contrôle Bluetooth de téléphone Android Est un projet Arduino UNO très simple mais intéressant utilisant le module Motor Shield. Sur cette page, vous découvrirez quels composants sont nécessaires pour fabriquer de vos propres mains une machine à écrire robot sur Arduino, instructions étape par étape au montage circuit électrique et vous pouvez tout télécharger programmes requis pour Android et Arduino.

Vidéo. Machine Bluetooth avec contrôle arduino

Pour ce projet, un module Motor Shield L293D, deux roues dentées, une carte Arduino UNO, un module bluetooth HC-05 et deux LED de phares ont été utilisés. Le contrôle s'effectue à distance via un signal Bluetooth depuis un smartphone ou une tablette. Après avoir assemblé le modèle et installé les programmes, vous pouvez utiliser l'application sur votre smartphone pour faire tourner la machine, faire des allers-retours, allumer et éteindre les phares.

Machine Arduino bricolage

Pour ce projet nous avons besoin de :

  • carte Arduino UNO ;
  • Blindage de commande de moteur L293D ;
  • module Bluetooth HC-05/06;
  • deux moteurs avec réducteurs et roues ;
  • pile 9V (couronne);
  • 2 résistances et 2 LED ;
  • carrosserie et roues d'une vieille voiture;
  • fer à souder, pistolet thermique, couteau de papeterie;
  • fils, soudure et ruban électrique.
Pièces pour le robot - voitures sur Arduino UNO

Schéma de montage de voiture Arduino

Si vous avez toutes les pièces nécessaires (vous pouvez vous passer de LED et de résistances dans le projet), nous examinerons ensuite comment fabriquer une machine arduino DIY. Tout d'abord, vous devez souder les fils aux contacts des moteurs et les fixer avec du ruban isolant afin que les contacts ne se détachent pas. Les fils doivent être connectés aux bornes M1 et M2 sur le Motor Shield (la polarité peut alors être modifiée).


L'alimentation du module Bluetooth provient des contacts du servo, nous n'aurons pas besoin du servo dans le projet. Et l'alimentation est une tension stabilisée de 5 volts, ce qui nous convient. Il sera plus pratique de souder les connecteurs femelles aux ports TX et RX, et de souder les broches (BLS) aux ports Pin0 et Pin1 sur le Motor Shield. De cette façon, vous pouvez facilement déconnecter le module Bluetooth de l'Arduino lorsque vous devez télécharger un croquis.

Les LED sont contrôlées depuis le port "Pin2", ici le fil peut être soudé directement sur le port. Si vous faites plusieurs machines avec Bluetooth, que vous contrôlerez en même temps, nous vous recommandons de reflasher le module HC-05. Le firmware du module se fait très simplement, et alors vous ne confondrez plus les voitures, puisque chacune affichera son propre nom unique sur Android.

Application et croquis pour une machine à écrire sur Arduino

Après avoir monté le circuit, téléchargez le croquis suivant pour la voiture (n'oubliez pas de déconnecter le module Bluetooth de l'Arduino lors du chargement) et installez l'application sur votre smartphone. Tous les fichiers du projet (bibliothèque AFMotor.h, un croquis pour une machine à écrire et une application pour Android) peuvent être téléchargés dans une archive à l'aide d'un lien direct.

#comprendre // inclure la bibliothèque pour le bouclier AF_DCMoteur moteur1 (1) ; // connecter le moteur au bornier M1 AF_DCMoteur moteur2 (2) ; // connecter le moteur au bornier M2 valeur int; // libérer de la mémoire dans le contrôleur void setup () (Serial .begin (9600); pinMode (2, OUTPUT); // Port pour LED motor1.setSpeed ​​​​(250); motor1.run (RELÂCHER); // arrête le moteur motor2.setSpeed ​​​​(250); // ensemble vitesse maximum moteur motor2.run (RELÂCHER) ; // arrête le moteur) void loop () (if (Serial .available ()) // vérifie si des commandes sont reçues(val = Serial .read (); if (val == "f") (// avancer motor1.run (FORWARD); motor1.setSpeed ​​​​(250); motor2.run (FORWARD); motor2.setSpeed ​​​​(250) ;) if (val == "b") (// revenir en arrière motor1.run (BACKWARD); motor1.setSpeed ​​​​(200); motor2.run (BACKWARD); motor2.setSpeed ​​​​(200 );) if (val == "s") ( // arrêter motor1.run (RELÂCHER) ; motor2.run (RELÂCHER) ; ) si (val == "l") ( // Tourner à gauche motor1.run (AVANT); motor1.setSpeed ​​(100); motor2.run (ARRIÈRE); motor2.setSpeed ​​​​(250); ) si (val == "r") ( // Tournez à droite motor1.run (ARRIÈRE); motor1.setSpeed ​​​​(250); motor2.run (AVANT); motor2.setSpeed ​​(100); ) si (val == "1") ( // allume les LED digitalWrite (2, HAUT); ) si (val == "0") ( // éteint les LED digitalWrite (2, FAIBLE); )))

Explications du code :

  1. Pour les tests, vous pouvez envoyer des commandes depuis un ordinateur via USB ;
  2. La rotation des moteurs lorsqu'ils sont connectés à la batterie sera différente;
  3. Vous pouvez régler votre vitesse de rotation avec les moteurs.

Après avoir vérifié le fonctionnement de la machine, installez l'application sur votre smartphone ou votre tablette. Lors de la première connexion au module Bluetooth HC-05/06, vous devrez le coupler avec Android (le couplage sera alors effectué automatiquement). Si vous rencontrez des difficultés de connexion, lisez cet article.

Vous avez aimé l'article ? A partager avec des amis :