- Composants requis:
- Création d'une interface pour Robot à l'aide de l'application RemoteXY:
- Schéma de circuit et explication:
- Explication du code:
- Comment l'exécuter:
Dans cet article, nous allons contrôler la voiture robot via le capteur G de notre téléphone portable et vous pourrez déplacer le robot simplement en inclinant le téléphone. Nous utiliserons également les applications Arduino et RemoteXY pour ce robot contrôlé par G-Sensor. L'application RemoteXY est utilisée pour créer l'interface dans le téléphone intelligent pour contrôler le robot. Nous ajouterons le joystick dans l'interface afin que Robot puisse également être contrôlé par Joystick ainsi qu'en inclinant le téléphone.
Le capteur G ou capteur de gravité est essentiellement un accéléromètre du téléphone intelligent qui est utilisé pour contrôler l'orientation de l'écran du téléphone. L'accéléromètre détecte les directions X, Y, Z de la force gravitationnelle et fait pivoter l'écran en fonction de l'alignement du téléphone. De nos jours, un capteur Gyroscope plus sensible et précis est utilisé dans les mobiles pour décider de l'orientation de l'écran. Dans notre projet, la voiture robot se déplacera, en fonction de la direction dans laquelle le téléphone est incliné, comme lorsque nous inclinons le téléphone vers l'avant, puis la voiture avancera et nous l'inclinons vers le bas, puis la voiture reculera. C'est la même chose que lorsque nous jouons à certains jeux de voiture dans Mobile, ils utilisent également le capteur G pour déplacer la voiture en conséquence. Consultez la vidéo à la fin, consultez également nos autres projets de robotique ici.
Composants requis:
- Châssis de voiture robot à deux roues
- Arduino UNO
- Contrôleur de moteur L298N
- Module Bluetooth HC-06 (HC-05 fonctionnera aussi)
- Alimentation ou cellules
- Fils de connexion
Création d'une interface pour Robot à l'aide de l'application RemoteXY:
Pour créer l'interface pour contrôler la voiture robot à l'aide de l'application RemoteXY, vous devrez aller au lien suivant
remotexy.com/en/editor/ La page Web ressemblera à ceci
Ensuite, du côté gauche de l'écran, prenez le bouton de commutation et le joystick et placez-le dans l'interface mobile. Le bouton allumera la lumière à la broche 13 qui est connectée en interne dans l'Arduino et le joystick déplacera la voiture robot. La page Web après avoir placé le commutateur et le joystick ressemblera à ceci.
Ensuite, nous devrons placer le bouton d'activation / désactivation du capteur G avec le joystick, afin que nous puissions déplacer la voiture robot en inclinant le téléphone vers la gauche, la droite, le haut et le bas. En utilisant ce bouton, nous pouvons activer et désactiver le capteur G, lorsque le capteur G est désactivé La voiture peut être contrôlée en déplaçant le joystick. Donc, pour placer le bouton d'activation / désactivation du capteur G, cliquez sur le joystick que vous avez placé dans l'interface et sur le côté gauche, il y aura une section de propriétés, il y aura une option à la fin pour placer le bouton du capteur G près du joystick, alors placez le bouton du capteur G où vous voulez. La page Web qui suit ressemblera à ceci.
Après cela, cliquez sur le bouton «Obtenir le code source» et enregistrez-le sur votre ordinateur. Téléchargez la bibliothèque à partir d'ici et enregistrez-la dans le dossier de la bibliothèque Arduino. Compilez le code téléchargé pour vérifier qu'il n'y a pas d'erreurs. Ce n'est pas le code qui exécutera le robot, mais cela aidera à utiliser l'application avec l'Arduino. Téléchargez l'application à partir d'ici ou accédez au Play Store et téléchargez l'application RemoteXY à partir de là pour votre smartphone Android.
Schéma de circuit et explication:
Tout d'abord, nous allons interfacer le contrôleur de moteur L298N avec l'Arduino. Connectez les broches ENA et ENB du contrôleur de moteur aux broches Arduino 12 et 11 respectivement. Ces deux broches sont destinées au contrôle PWM du moteur. En utilisant ces broches, nous pouvons augmenter ou diminuer la vitesse de la voiture. Ensuite, connectez IN1, IN2, IN3 et IN4 aux broches Arduino 10, 9, 8 et 7 respectivement. Ces broches feront tourner les moteurs dans les deux sens (horaire et anti-horaire).
Pour alimenter le moteur, connectez le positif et le négatif de la batterie au 12V et à la masse du contrôleur de moteur. Ensuite, connectez le 5V et la terre du contrôleur de moteur à l'Arduino Vin et à la terre.
Ensuite, nous connecterons le module Bluetooth HC-06 à l'arduino. Si vous avez HC-05, cela fonctionnera également. Connectez le VCC et la terre du module Bluetooth au 5V et à la terre de l'Arduino. Puis connectez la broche TX du module Bluetooth à la broche 2 d'Arduino et la broche RX à la broche 3 d'Arduino. Vérifiez également la voiture jouet contrôlée par Bluetooth utilisant Arduino pour en savoir plus sur l'utilisation de Bluetooth avec Arduino.
Explication du code:
Le code Arduino complet pour cette voiture robotisée à commande mobile est indiqué ci-dessous dans la section Code, nous comprendrons ici comment ce code fonctionne.
Tout d'abord, nous avons inclus les bibliothèques pour Software Serial et RemoteXY. La bibliothèque RemoteXY nous aidera à configurer l'application avec Arduino, à travers laquelle nous contrôlerons la voiture robot. Après cela, nous avons défini les broches pour le module Bluetooth, TX du module Bluetooth est connecté à la broche 2 d'Arduino qui est la broche RX d'Arduino et le RX du module Bluetooth est connecté à la broche 3 de l'Arduino qui est la broche TX d'Arduino et règle la vitesse de transmission du module Bluetooth à 9600.
#define REMOTEXY_MODE__SOFTWARESERIAL #include
Le code suivant augmentera ou diminuera la vitesse du moteur. Lorsque le joystick sera au centre, la vitesse sera nulle et quand elle sera dans le sens avant, la vitesse augmentera de zéro à 100. La vitesse diminuera de 0 à -100 lorsque la voiture se déplacera dans le direction inverse. La voiture peut également être déplacée à une vitesse spécifique, cela peut être fait en donnant le signal PWM. Le signal pwm sera donné aux moteurs en fonction de la rotation du joystick.
if (motor_speed> 100) motor_speed = 100; if (motor_speed <-100) motor_speed = -100; if (motor_speed> 0) {digitalWrite (pointeur, HIGH); digitalWrite (pointeur, LOW); analogWrite (pointeur, motor_speed * 2,55); } else if (motor_speed <0) {digitalWrite (pointeur, LOW); digitalWrite (pointeur, HIGH); analogWrite (pointeur, (-motor_speed) * 2,55); } else {digitalWrite (pointeur, LOW); digitalWrite (pointeur, LOW); analogWrite (pointeur, 0); }
Dans le code suivant, nous avons défini la fonction qui sera appelée chaque fois que nous déplacerons le joystick dans l'application. Lorsque nous allumerons l'interrupteur dans l'application, la logique 1 sera donnée à la broche 13 de l'Arduino qui allume la broche LED. Lors du déplacement de la voiture robotique vers l'avant et vers l'arrière, la fonction Vitesse sera appelée.
boucle void () {RemoteXY_Handler (); digitalWrite (ledpin, (RemoteXY.switch_1 == 0)? LOW: HIGH); Vitesse (first_motor, RemoteXY.joystick_1_y - RemoteXY.joystick_1_x); Vitesse (second_motor, RemoteXY.joystick_1_y + RemoteXY.joystick_1_x); }
Comment l'exécuter:
Ajoutez la bibliothèque du RemoteXY aux bibliothèques Arduino et téléchargez le code dans l'IDE Arduino. Ensuite, téléchargez l'application sur votre téléphone mobile, puis activez le Bluetooth. L'interface de l'application ressemblera à ceci
Ensuite, allez sur Bluetooth et activez le Bluetooth là-bas. Après l'avoir allumé, il vous montrera les appareils Bluetooth. Sélectionnez votre module Bluetooth HC-06 à partir de là, il vous mènera à l'interface, d'où vous pourrez contrôler la voiture robot.
C'est ainsi que nous pouvons utiliser le capteur de gravité à l'intérieur de notre téléphone portable pour déplacer le robot. Vous pouvez expérimenter davantage et trouver une utilisation plus intéressante du capteur G pour contrôler les choses extérieures en interfaçant un Microcontorller entre les deux (comme Arduino).