Arduino与xbee模块点灯实验心得

摘要:
B、 将程序写入各自的StalkerV3.0.C中。将电源连接到主机的针脚4接地针脚5。当灯亮时,将电源连接至主机的针脚5。灯熄灭时,将供电连接至主机针脚5接地针脚。电池电量充足非常重要。

1.硬件:Seeeduino Stalker v3.0俩块,xbeeS1俩块,led一个,导线,电源,面包板

   软件:XCTU,Arduino1.8.2

2.xbee模块配置:恢复出场设置后

       主机xbee的    DH:1234,MY:5678

       从机xbee的    DH:5678,  MY:1234

(API为disabled,也就是AP模式(默认出厂设置),API模式以前用过,后来做过一个关于节点发现的实验后,就不好使了)

3.主机程序: 

int button_open =4;//开灯按钮连在数字端口4
int button_close =5; //关灯按钮连在数字端口5
char flag;//定义“向从机发送LED灯亮灭标志”的变量
void setup()
{
pinMode(button_open, INPUT); //设置按钮为输入模式
pinMode(button_close, INPUT);
Serial.begin(9600);//启动串口通信,波特率为9600b/s
}
void loop()
{
//如果亮灯按钮按下同时关灯按钮松开
if( digitalRead(button_open)==LOW&&digitalRead(button_close)==HIGH)
{
flag='a';
Serial.println(flag);//向从机发送灯亮标志
}
//如果关灯按钮按下同时亮灯按钮松开
if(digitalRead(button_close)==LOW&&digitalRead(button_open)==HIGH)
{
flag='b';
Serial.print(flag);//向从机发送灯灭标志
}
delay(200);//延时,等待数据发送成功
}

从机程序:

int ledpin=9;//LED灯连在数字端口9
int val; //定义“接受主机发来的LED灯亮灭标志”的变量
void setup()
{
pinMode(ledpin,OUTPUT);//设置LED灯为输出模式
digitalWrite(ledpin,HIGH);//初始化使LED灯熄灭
Serial.begin(9600);//启动串口通信,波特率为9600b/s
}
void loop()
{
if(Serial.available()>0) //查询串口有无数据
{
val=Serial.read();//读取主机发送的数据
if(val=='a')//如果主机发送字符'a',则点亮LED
{
digitalWrite(ledpin,LOW);//LED灯点亮
}
if(val=='b')//如果主机发送字符'b',则熄灭LED
{
digitalWrite(ledpin,HIGH);//LED灯熄灭
}
}
}

4.实验过程

    A.配置xbee时,只需配置DH和MY,然后在xctu的consoles界面测试一下,能互相接受到信息就行了。

     再配置xbee模块后,直接把配置好的xbee模块插进Stalker V3.0的xbee插孔上就行,不用想这为什么,为什么插上去就自己执行了呢,xbee是透传的,直接插上去就可以。

      B.把程序分别写进各自的StalkerV3.0.

      C.给主机的pin4接地pin5接电源,灯亮

         给主机pin4接电源pin5接地,灯灭

5.心得体会

  我知道了,xbee模块是透传的,配置好插上去就行。

  电池有充足的的电很重要。

  

免责声明:文章转载自《Arduino与xbee模块点灯实验心得》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Xcode 12.4 安装 vim 插件轻松入门软件测试--兼容性测试(iOS篇)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

树莓派上搭建arduino命令行开发环境

-------------还是博客园上面的格式看这舒服,不去新浪了------------- 为什么要在树莓派上开发arduino呢?总要把树莓派用起来嘛,不然老吃灰。 树莓派使用SSH时没有图形界面,不能使用IDE,那怎么做开发呢?可以使用命令行。 Arduino本身支持各种平台,IDE的界面也几乎是一模一样,使用起来相当方便,省去了跨平台时的摸索阶段。...

Arduino常用的数据类型以及转换

常用的数据类型有布尔类型、字符型、字节型、整型、无符号整型、长整型、无符号长整型、浮点型、双精度浮点型等 布尔类型bollean: 布尔值是一种逻辑值,其结果只能为真(true)或者假(false)。布尔值可以用来进行计算,最常用的布尔运算符是与运算(&&)、或运算(||)和非运算(!)。 字符型char: 字符型(char)变量可以用来...

树莓派与Arduino串口通信

咳,时隔多月又回到了熟悉的博客园。 从现在开始重新去培养写博客的习惯。 主要是用于科研技术方面的,去记录一些我的学习和思考。 会把问题尽量的具体化,新手化 一是记录方便回忆,二是梳理,三也是希望为遇到相关问题的朋友提供多多少少的借鉴和帮助吧 回归正题,如何实现树莓派与Arduino串口通信 首先是接线方式 一、树莓派与arduino通过USB进行通信 1、...

「雕爷学编程」Arduino动手做(29)——DS1302时钟模块

37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的。鉴于本人手头积累了一些传感器和模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手试试做实验,不管成功与否,都会记录下来---小小的进步或是搞不定的问题,希望能够抛砖引玉。 【Arduino】108种传感器模块系列实验(资料+代...

Arduino学习笔记 (四) -- 常用函数

1、pinMode(pin,Mode):设置引脚的输入输出状态        Pin:引脚号;        Mode:INPUT、OUTPUT 2、digitalWrite(pin,value) :设置输出引脚的高低电平状态        Pin:引脚号 ;        value:HIGH LOW 3、int digitalRead(pin):读取引...

Arduino上“Collect2.exe: error: ld returned 5 exit status”错误的解决方法

1.运行环境 Windows xp;Arduino1.6.11 IDE. 2.问题 在Arduino编译时,经常出现如下的错误: collect2.exe: error: ld returned 5 exit statusexit status 1Error compiling for board Arduino Duemilanove or Diecim...