7476| 3
|
[求助] 用arduino制作蓝牙实时模仿人手的机械手 |
弯曲传感器通过蓝牙HC-05实时模仿人手时,接收的数据跟发送的数据不同,有哪位大神帮忙看看要怎么处理?发送数据用Arduino UNO板 代码如下 [mw_shl_code=cpp,true] 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); } [/mw_shl_code] 接收数据用arduino nano板 代码如下[mw_shl_code=cpp,true] #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); }[/mw_shl_code] |
© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed