求各位大神帮忙看一下我这个无线传输的程序哪里错了
发射板是arduino MEGA接收板是arduino UNO
功能:用发射板上的电位器控制接收板上的舵机(模拟量控制)
//遥控器程序:
int dwq ;//定义电位器
void setup()
{
dwq=0;
Serial.begin(9600); //设置串行通信的波特率
}
//主程序
void loop()
{
dwq=analogRead(A1); //读取电位器的模拟值以及电位器的模拟接口
Serial.print(dwq);//向接收机发送数据
delay(20);
}
//接收机程序:
#include <Servo.h>
int val;
int bl;
Servo servo1;//定义1#舵机
void setup()
{
bl=0;
servo1.attach(3);//设定1#舵机接入口(PWM~3)
Serial.begin(9600);//设置串行通信的波特率
}
//主程序
void loop()
{
if(Serial.available()>0) //查询串口有无数据
{
val=Serial.read(); //接收主机发送的数据
bl = map ( val , 0 , 1023 , 0 , 179 );
servo1.write( bl ); //1#舵机转动到读取的数据(角度)
delay( 15 );
}
}
没看到无线部分的代码啊。
用蓝牙还是wifi? 伯德 发表于 2013-4-27 22:18 static/image/common/back.gif
没看到无线部分的代码啊。
用蓝牙还是wifi?
用的是APC220串口的。没有代码 Serial.print(val)是将数字转成字符串再发送出去
Serial.read()是读取一个字节的数据
所以LZ的程序跑不通
LZ可以将程序改成
发送方通过Serial.println(val)以字符串形式发送整形数值,
接收方通过Serial.parseInt()来读取字符串形式的整形数值 histamine 发表于 2013-4-28 10:50 static/image/common/back.gif
Serial.print(val)是将数字转成字符串再发送出去
Serial.read()是读取一个字节的数据
成功了,多谢大哥指点
页:
[1]