Arduino與xbee模塊點燈實驗心得


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模塊是透傳的,配置好插上去就行。

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

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM