本课题来源于陈安老师的嵌入式的实践课程,使用现有的六轴机械手,采用蓝牙通信技术实现手机和六轴机械手的无线通信,编写相应的程序,通过树莓派烧写程序到arduino板卡中,通过手机客户端无线控制机械手运动。可以控制机械臂的运动,停止,加速,减速运动等
#include<Servo.h>
Servo myservo3;
Servo myservo5;
Servo myservo6;
Servo myservo9;
Servo myservo10;
Servo myservo11;
void serialtest(){
if (Serival.available())
{
char a=Serial.read();
if(a=='1')
{
int pos = 90;
for(pos=10;pos<=170;pos+=1)
{
myservo9.write(pos);
delay(15);
}
for(pos=170;pos>=10;pos-=1)
{
myservo9.write(pos);
delay(15);
}
}
if(a=='2')
{
int pos = 90;
for(pos=10;pos<=170;pos+=1)
{
myservo3.write(pos);
delay(15);
}
for(pos=170;pos>=10;pos-=1)
{
myservo3.write(pos);
delay(15);
}
}
if(a=='3')
{
int pos = 90;
for(pos=10;pos<=170;pos+=1)
{
myservo10.write(pos);
delay(15);
}
for(pos=170;pos>=10;pos-=1)
{
myservo10.write(pos);
delay(15);
}
}
if(a=='4')
{
int pos = 90;
for(pos=10;pos<=170;pos+=1)
{
myservo11.write(pos);
delay(15);
}
for(pos=170;pos>=10;pos-=1)
{
myservo11.write(pos);
delay(15);
}
}
if(a=='5')
{
int pos =90;
for(pos=10;pos<=170;pos+=1)
{
myservo3.write(pos);
myservo9.write(pos);
myservo10.write(pos);
myservo11.write(pos);
delay(20);
}
}
if(a=='4')
{
myservo3.write(90);
myservo5.write(90);
myservo6.write(90);
myservo9.write(90);
myservo10.write(90);
myservo11.write(90);
}
}
}
void setup(){
myservo3.attach(3);
myservo3.attach(5);
myservo3.attach(6);
myservo3.attach(9);
myservo3.attach(10);
myservo3.attach(11);
Servial.begian(9600);
}
void loop(){
serialtest();
for(pos=10;pos<=170;pos+=1)
{
myservo.write(pos);
delay(15);
}
for(pos=180;pos>=0;pos-=1)
{
myservo.write(pos);
delay(15);
}
}
来源:https://www.cnblogs.com/123talents/p/7458411.html