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

Bedien de Arduino-robotarm met Android-app

Componenten en benodigdheden

LittleArm
× 1
Arduino UNO
× 1
HC-05 Bluetooth-module
× 1
Android-apparaat
× 1
LittleArm - Volledige set
× 1

Apps en online services

Android
Arduino IDE

Over dit project

Deze tutorial is gebaseerd op bronnen van deze pagina.

De LittleArm wordt traditioneel bestuurd met behulp van een gratis desktopcomputertoepassing die op Windows en Linux draait. Maar dit vereist dat de LittleArm is aangesloten op een computer om te worden bestuurd. We hebben eindelijk de app voor de LittleArm voltooid, zodat je de Arduino draadloos kunt bedienen met Bluetooth.

Met de app kun je alle DOF's van de LittleArm bedienen, maar ook sets met opdrachten opnemen en afspelen. De code voor de Arduino verandert vanaf hier niet van onze traditionele code in de softwarepakketten.

De LittleArm-app voor dit project kan hier worden gedownload.

Code

  • Arduino-code
Arduino-codeArduino
Deze code kan worden gebruikt met de desktop- of Android-app via bluetooth of usb
#include  //arduino library#include  //standard c library#define PI 3.141Servo baseServo; Servo schouderServo; Servo elleboogServo; ServogrijperServo;int commando;struct jointAngle{ int base; int schouder; int elleboog;};int gewenstGrip;int grijperPos;int gewenstVertraging;int servoSpeed ​​=15;int gereed =0;struct jointHoek gewenstHoek; //gewenste hoeken van de servo's//++++++++++++++++ FUNCTIEVERKLARINGEN++++++++++++++++++++++++ +++int servoParallelControl (int thePos, Servo theServo );//++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++ ongeldige setup(){ Serial.begin(9600); baseServo.attach(9); // bevestigt de servo op pin 9 aan het servo-object shoulderServo.attach (10); elleboogServo.attach(11); gripperServo.attach(6); Serial.setTimeout(50); // zorgt ervoor dat de Arduino de serie niet te lang leest Serial.println ("started"); baseServo.write(90); // aanvankelijke posities van servo's shoulderServo.write (150); elleboogServo.write(110); klaar =0;} //primaire arduino loopvoid loop() {if (Serial.available()){ ready =1; gewensteAngle.base =Serial.parseInt(); wenselijkAngle.shoulder =Serial.parseInt(); gewensteAngle.elbow =Serial.parseInt(); gewensteGrip =Serial.parseInt(); gewensteDelay =Serial.parseInt(); if(Serial.read() =='\n'){ // als de laatste byte 'd' is, stop dan met lezen en voer het commando uit. 'd' staat voor 'done' Serial.flush(); //wis alle andere opdrachten die in de buffer zijn opgestapeld //stuur de voltooiing van de opdracht Serial.print('d'); } } int-status1 =0; int-status2 =0; int-status3 =0; int-status4 =0; int gedaan =0; while(done ==0 &&ready ==1) {// verplaats de servo naar de gewenste positie status1 =servoParallelControl (desiredAngle.base, baseServo, wantedDelay); status2 =servoParallelControl (gewenste hoek. schouder, schouderServo, gewenste vertraging); status3 =servoParallelControl (gewenste hoek. elleboog, elleboogServo, gewenste vertraging); status4 =servoParallelControl(desiredGrip, gripperServo, wantedDelay); if (status1 ==1 &status2 ==1 &status3 ==1 &status4 ==1){ gedaan =1; } }// einde van while }//++++++++++++++++++++++++++++++ FUNCTIEBESCHRIJVING++++++++ ++++++++++++++++++++++++++++++++++ in servoParallelControl (int thePos, Servo theServo, int theSpeed ​​){int startPos =theServo.lezen(); //lees het huidige bericht int newPos =startPos; //int theSpeed ​​=snelheid; //definieer waar de pos is ten opzichte van het commando // als de huidige positie kleiner is dan de daadwerkelijke verplaatsing omhoog if (startPos <(thePos-5)){ newPos =newPos + 1; theServo.write(newPos); vertraging (de Snelheid); retourneer 0; } else if (newPos> (thePos + 5)){ newPos =newPos - 1; theServo.write(newPos); vertraging (de Snelheid); retourneer 0; } anders { retourneer 1; } }

Schema's


Productieproces

  1. Universele afstandsbediening met Arduino, 1Sheeld en Android
  2. Bedien muntvangers met Arduino
  3. Ioed gebruiken om een ​​robotarm op afstand te bedienen
  4. Obstakels vermijden robot met servomotor
  5. Arduino met Bluetooth om een ​​LED te bedienen!
  6. Een Roomba-robot besturen met Arduino en Android-apparaat
  7. Nunchuk-gestuurde robotarm (met Arduino)
  8. Arduino Nano:bedien 2 stappenmotoren met joystick
  9. Littlearm 2C:bouw een 3D-geprinte Arduino-robotarm
  10. ThimbleKrox - Muisbediening met je vingers
  11. Bedien een kakkerlak met Arduino voor minder dan $30