用蓝牙实时模仿人手的机械手
本帖最后由 sanri14 于 2018-8-9 20:10 编辑弯曲传感器通过蓝牙HC-05实时模仿人手时,接收的数据跟发送的数据不同,有哪位大神帮忙看看要怎么处理?发送数据用arduino UNO板
代码如下
int a,b,c,d,e;
void setup() {
Serial.begin(38400);
}
//本段代码实现功能是读取弯曲传感器数值。
void loop() {
a=analogRead(A0); //读取A0端口的传感器的数值,并赋值为a。
b=analogRead(A1); //以下均同上。
c=analogRead(A5);
d=analogRead(A3);
e=analogRead(A4);
//本段代码实现功能是由发送端向接收端发送数值的代码。
Serial.println('<');
Serial.println(a);
Serial.println(b);
Serial.println(c);
Serial.println(d);
Serial.println(e);
}
接收数据用arduino nano板
代码如下
#include<Servo.h>
Servo s1,s2,s3,s4,s5; //舵机
unsigned int val;
int a,b,c,d,e;
int val1,val2,val3,val4,val5;
char ch;
void setup() {
Serial.begin(38400);
s1.attach(6); //舵机角度的数值函数
s2.attach(7);
s3.attach(8);
s4.attach(9);
s5.attach(10);
}
void loop() {
if(Serial.available()>0)
{
ch=Serial.read();
if(ch=='<')
{
a=Serial.parseInt();
b=Serial.parseInt();
c=Serial.parseInt();
d=Serial.parseInt();
e=Serial.parseInt();
}
}
Serial.println('<');
Serial.println(a);
Serial.println(b);
Serial.println(c);
Serial.println(d);
Serial.println(e);
val1 = analogRead(a);
val1= map(val1,1024,0, 0, 130);
s1.write(val1);
val2 = analogRead(b);
val2= map(val2, 1024, 0, 0, 130);
s2.write(val2);
val3 = analogRead(c);
val3= map(val3, 1024, 0, 0, 130);
s3.write(val3);
val4 = analogRead(d);
val4= map(val4, 1024, 0, 0, 130);
s4.write(val4);
val5 = analogRead(e);
val5= map(val5, 0, 1024 , 0, 120);
s5.write(val5);
delay(10);
}
发送的数据 接收的数据
两个数据不同。
蓝牙波特率是:38400,0,0
你这好像都没把蓝牙写进去,同步机械手我已经做出来了,如果有需要,请加qq:2422022898 没看到蓝牙部分代码
页:
[1]