极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 10763|回复: 4

求各位大神帮忙看一下我这个无线传输的程序哪里错了

[复制链接]
发表于 2013-4-27 22:09:36 | 显示全部楼层 |阅读模式
发射板是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 );         
  }
}      


回复

使用道具 举报

发表于 2013-4-27 22:18:55 | 显示全部楼层
没看到无线部分的代码啊。
用蓝牙还是wifi?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-4-27 22:41:59 | 显示全部楼层
伯德 发表于 2013-4-27 22:18
没看到无线部分的代码啊。
用蓝牙还是wifi?

用的是APC220串口的。没有代码
回复 支持 反对

使用道具 举报

发表于 2013-4-28 10:50:42 | 显示全部楼层
Serial.print(val)是将数字转成字符串再发送出去

Serial.read()是读取一个字节的数据

所以LZ的程序跑不通

LZ可以将程序改成
发送方通过Serial.println(val)以字符串形式发送整形数值,
接收方通过Serial.parseInt()来读取字符串形式的整形数值
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-4-28 16:19:35 | 显示全部楼层
histamine 发表于 2013-4-28 10:50
Serial.print(val)是将数字转成字符串再发送出去

Serial.read()是读取一个字节的数据

成功了,多谢大哥指点
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|联系我们|极客工坊

GMT+8, 2026-6-5 07:19 , Processed in 0.041029 second(s), 20 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表