Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Processus de fabrication

Robotcar contrôlé à l'aide d'un smartphone G-Sensor

Composants et fournitures

Arduino UNO
× 1

Étape 1.

Construisez un robot en utilisant n'importe quelle plate-forme disponible construite sur un circuit à deux roues. Le schéma de connexion des composants électroniques est illustré dans la figure ci-dessous. Vous aurez besoin d'une carte Arduino UNO ou conforme, d'un module Bluetooth HC-05(06), d'un pilote de moteur et d'une batterie d'alimentation. Des moteurs à engrenages sont placés sur la plate-forme et forcent à déplacer les roues du robot.

Étape 2.

Accédez au site Web du service RemoteXY sur http://remotexy.com/en/editor/ et créez une interface utilisateur graphique pour contrôler le robot. Définissez une fonction de contrôle à l'aide du capteur G pour le joystick. Un exemple d'interface est dans la figure ci-dessous. Cliquez sur le bouton "Obtenir le code source".

Étape 3.

Téléchargez le code source de l'interface graphique et ouvrez-le dans Arduino IDE. Pour la compilation, vous avez besoin de la bibliothèque RemoteXY.h ; la bibliothèque peut être téléchargée à partir du lien http://remotexy.com/en/library/ . Vous pouvez déjà essayer de charger le code dans Arduino et vous connecter avec l'application mobile. Mais s'il ne s'agit que du code vierge, vous devrez alors ajouter la fonctionnalité requise liant une interface graphique et un pilote de moteur.

Étape 4.

Ensuite, vous devez ajouter une fonctionnalité de contrôle de robot au code source à l'aide d'une interface graphique. A cet effet, le champ Structure RemoteXY. Structure RemoteXY affiche tous vos contrôles GUI.

Le code source résultant est indiqué ci-dessous. Vous pouvez le compiler et le télécharger sur Arduino.

Étape 5.

Installez une application mobile RemoteXY sur http://remotexy.com/en/download/ . Lorsque l'application s'exécute sur un appareil mobile, appuyez sur le bouton Bluetooth dans la liste, sélectionnez le nom de votre module Bluetooth. Pour les modules HC-05 (06), le nom sera généralement INVOR ou HC-06.

Ça marche !


Code

  • Voiture robotique télécommandée via l'application mobile RemoteXY
Voiture robotique télécommandée via l'application mobile RemoteXYC/C++
Vous pouvez télécharger la librairie RemoteXY.h via le lien http://remotexy.com/en/library/
//////////////////////// //////////////////////////////////////////////////////////////////////////////////////////////////////// ///////////////////// /* RemoteXY sélectionne le mode de connexion et inclut la bibliothèque */ #define REMOTEXY_MODE__SOFTWARESERIAL #include  #include  /* Paramètres de connexion RemoteXY */ #define REMOTEXY_SERIAL_RX 2 #define REMOTEXY_SERIAL_TX 3 #define REMOTEXY_SERIAL_SPEED 9600 /* RemoteXY configurate */ unsigned char RemoteXY_CONF[] ={ 3,0,23,0,1,5,5,15,41, 11,43,43,1,2,0,6,5,27,11,5 ,79,78,0,79,70,70,0} ; /* cette structure définit toutes les variables de votre interface de contrôle */ struct { /* variable d'entrée */signed char joystick_1_x; /* =-100..100 position du joystick en coordonnées x */ car signé joystick_1_y; /* =-100..100 position du joystick en coordonnées y */ 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; ////////////////////////////////////////// // FIN RemoteXY include // /////////////////////////////////////////////////////////// /* défini les broches de commande du moteur droit */ #define PIN_MOTOR_RIGHT_UP 7 #define PIN_MOTOR_RIGHT_DN 6 #define PIN_MOTOR_RIGHT_SPEED 10 /* a défini les broches de commande du moteur gauche */ #define PIN_MOTOR_LEFT_UP 5 #define PIN_MOTOR_LEFT_DN 4 #define #define # la broche LED_LEFT_SPEED définie 9 // define PIN_LED 13 /* défini deux tableaux avec une liste de broches pour chaque moteur */ car non signé RightMotor[3] ={PIN_MOTOR_RIGHT_UP, PIN_MOTOR_RIGHT_DN, PIN_MOTOR_RIGHT_SPEED} ; caractère non signé LeftMotor[3] ={PIN_MOTOR_LEFT_UP, PIN_MOTOR_LEFT_DN, PIN_MOTOR_LEFT_SPEED} ; /* contrôle de la vitesse du moteur moteur - pointeur vers un tableau de broches v - la vitesse du moteur peut être réglée de -100 à 100 */ void Wheel (unsigned char * motor, int v) { if (v>100) v=100; si (v<-100) v=-100 ; if (v>0) { digitalWrite(motor[0], HIGH); digitalWrite(moteur[1], LOW); analogWrite(moteur[2], v*2.55) ; } else if (v<0) { digitalWrite(motor[0], LOW); digitalWrite(moteur[1], HAUT); analogWrite(moteur[2], (-v)*2.55) ; } else { digitalWrite(motor[0], LOW); digitalWrite(moteur[1], LOW); analogWrite(moteur[2], 0); } } void setup() { /* broches d'initialisation */ pinMode (PIN_MOTOR_RIGHT_UP, OUTPUT); pinMode (PIN_MOTOR_RIGHT_DN, SORTIE); pinMode (PIN_MOTOR_LEFT_UP, SORTIE); pinMode (PIN_MOTOR_LEFT_DN, SORTIE); pinMode (PIN_LED, SORTIE); /* module d'initialisation RemoteXY */ RemoteXY_Init (); } void loop() { /* module de gestion d'événements RemoteXY */ RemoteXY_Handler (); /* gérer la broche LED */ digitalWrite (PIN_LED, (RemoteXY.switch_1==0)?LOW:HIGH); /* gérer le bon moteur */ Roue (RightMotor, RemoteXY.joystick_1_y - RemoteXY.joystick_1_x); /* gérer le moteur gauche */ Wheel (LeftMotor, RemoteXY.joystick_1_y + RemoteXY.joystick_1_x); } 

Schémas


Processus de fabrication

  1. Robot Raspberry Pi contrôlé par Bluetooth
  2. Robot contrôlé par Wi-Fi utilisant Raspberry Pi
  3. Décodeur DTMF utilisant uniquement Arduino
  4. Créer un moniteur Ambilight à l'aide d'Arduino
  5. Système d'alarme Arduino :SERENA
  6. Voltmètre DIY utilisant Arduino et Smartphone
  7. Jouet contrôlé par Android utilisant un bouclier de moteur Raspberry
  8. Voiture RC contrôlée par joystick
  9. Robot à commande vocale