Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Manufacturing Technology >> Productieproces

Robotcar bestuurd met G-Sensor smartphone

Componenten en benodigdheden

Arduino UNO
× 1

Stap 1.

Bouw een robotauto met elk beschikbaar platform dat is gebouwd op een tweewielig circuit. Het aansluitschema van elektronische componenten wordt weergegeven in de onderstaande afbeelding. U hebt Arduino UNO of een compatibel bord, Bluetooth HC-05(06)-module, motorstuurprogramma en voedingsbatterij nodig. Tandwielmotoren worden op het platform geplaatst en dwingen de robotwielen te bewegen.

Stap 2.

Ga naar de RemoteXY-servicewebsite op http://remotexy.com/en/editor/ en maak een grafische gebruikersinterface om de robot te besturen. Stel een bedieningsfunctie in met behulp van de G-sensor voor joystick. Een voorbeeld van een interface staat in de onderstaande afbeelding. Klik op de knop "Broncode ophalen".

Stap 3.

Download de broncode van GUI en open deze in Arduino IDE. Voor compilatie heb je de RemoteXY.h-bibliotheek nodig; de bibliotheek kan worden gedownload via de link http://remotexy.com/en/library/. Je kunt al proberen om de code in Arduino te laden en verbinding te maken met de mobiele applicatie. Maar hoewel dit alleen de blanco code is, moet u de vereiste functionaliteit toevoegen door een grafische interface en een motorstuurprogramma te koppelen.

Stap 4.

Dan moet je robotbesturingsfunctionaliteit toevoegen aan de broncode met behulp van een grafische interface. Voor dit doel toont het veld RemoteXY structure.RemoteXY structure al uw GUI-besturingselementen.

De resulterende broncode wordt hieronder getoond. Je kunt het compileren en uploaden naar Arduino.

Stap 5.

Installeer een mobiele applicatie RemoteXY op http://remotexy.com/en/download/. Als de applicatie op een mobiel apparaat draait, druk dan op Bluetooth-knop verbinding in de lijst, selecteer de naam van uw Bluetooth-module, voor HC-05 (06) modules is de naam doorgaans INVOR of HC-06.

Het werkt!


Code

  • Afstandsbediening robotauto via RemoteXY mobiele app
Afstandsbediening robotauto via RemoteXY mobiele appC/C++
U kunt de RemoteXY.h-bibliotheek downloaden via de link http://remotexy.com/en/library/
///////////////////////// //////////////////// // RemoteXY inclusief bibliotheek // /////////////////////// ////////////////////// /* RemoteXY selecteer verbindingsmodus en voeg bibliotheek toe */ #define REMOTEXY_MODE__SOFTWARESERIAL #include  #include  /* RemoteXY verbindingsinstellingen */ #define REMOTEXY_SERIAL_RX 2 #define REMOTEXY_SERIAL_TX 3 #define REMOTEXY_SERIAL_SPEED 9600 /* RemoteXY configureren */ 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 }; /* deze structuur definieert alle variabelen van uw besturingsinterface */ struct { /* invoervariabele */ ondertekend char joystick_1_x; /* =-100..100 x-coördinaat joystickpositie */ ondertekend char joystick_1_y; /* =-100..100 y-coördinaat joystickpositie */ unsigned char switch_1; /* =1 indien AAN en =0 indien UIT */ /* andere variabele */ unsigned char connect_flag; /* =1 indien draad aangesloten, else =0 */ } RemoteXY; ///////////////////////////////////////////// // END RemoteXY omvatten // ///////////////////////////////////////////// /* bepaald de rechter motorbesturingspennen */ #define PIN_MOTOR_RIGHT_UP 7 #define PIN_MOTOR_RIGHT_DN 6 #define PIN_MOTOR_RIGHT_SPEED 10 /* definieerde de linker motorbesturingspennen */ #define PIN_MOTOR_LEFT_UP 5 #define PIN_MOTOR_LEFT_DN 4 #define PIN_MOTOR_LEFT_define PIN_MOTOR_LEFT_ definieer PIN_LED 13 /* definieerde twee arrays met een lijst van pinnen voor elke motor */ unsigned char RightMotor[3] ={PIN_MOTOR_RIGHT_UP, PIN_MOTOR_RIGHT_DN, PIN_MOTOR_RIGHT_SPEED}; niet-ondertekend teken LeftMotor[3] ={PIN_MOTOR_LEFT_UP, PIN_MOTOR_LEFT_DN, PIN_MOTOR_LEFT_SPEED}; /* snelheidsregeling van de motormotor - aanwijzer naar een reeks pinnen v - motorsnelheid kan worden ingesteld van -100 tot 100 */ void Wheel (unsigned char * motor, int v) {if (v>100) v=100; als (v<-100) v=-100; if (v>0) { digitalWrite (motor [0], HOOG); digitalWrite(motor[1], LAAG); analoogWrite(motor[2], v*2.55); } else if (v<0) { digitalWrite(motor[0], LOW); digitalWrite(motor[1], HOOG); analoogWrite(motor[2], (-v)*2.55); } else { digitalWrite (motor [0], LAAG); digitalWrite(motor[1], LAAG); analoogWrite(motor[2], 0); } } void setup () { /* initialisatiepinnen */ pinMode (PIN_MOTOR_RIGHT_UP, OUTPUT); pinMode (PIN_MOTOR_RIGHT_DN, OUTPUT); pinMode (PIN_MOTOR_LEFT_UP, OUTPUT); pinMode (PIN_MOTOR_LEFT_DN, OUTPUT); pinMode (PIN_LED, UITGANG); /* initialisatiemodule RemoteXY */ RemoteXY_Init (); } void loop() { /* event handler module RemoteXY */ RemoteXY_Handler (); /* beheer LED-pin */ digitalWrite (PIN_LED, (RemoteXY.switch_1==0)?LOW:HIGH); /* beheer de juiste motor */ Wiel (RightMotor, RemoteXY.joystick_1_y - RemoteXY.joystick_1_x); /* beheer de linkermotor */ Wiel (Linkermotor, RemoteXY.joystick_1_y + RemoteXY.joystick_1_x); } 

Schema's


Productieproces

  1. Raspberry Pi-robot bestuurd via Bluetooth
  2. Wifi-gestuurde robot met Raspberry Pi
  3. DTMF-decoder met alleen Arduino
  4. Maak Monitor Ambilight met Arduino
  5. Arduino Alarmsysteem:SERENA
  6. DIY voltmeter met Arduino en smartphone
  7. Android bestuurd speelgoed met Raspberry Motor Shield
  8. Met joystick bestuurde RC-auto
  9. Spraakgestuurde robot
  10. MobBob:doe-het-zelf Arduino-robot bestuurd door Android-smartphone
  11. Python3- en Arduino-communicatie