原创 Arduino 之用串口控制LED灯

2013-12-3 22:35 8217 18 18 分类: 软件与OS

 

Arduino 之用串口控制LED灯

 

感谢 Arduino小组 ZHB组长送的板子和元件。找同事花了小到半小时就焊好,少了一个1117,,整个板功耗小,我们找了一个封装小一号的焊上去也能用。

 

晚上在Arduino.cc 官网上下载了最新的开发环境,1.0.5版本,PL2303我项目也用,所以不用再装驱动。 Arduino的官网简洁,但资料挺丰富的,开发环境制作也继承了同样的风格,赞一个。

 

由于之前没有开发过AVR,也没用过Arduino,刚开始还担心困难比较多,但开发环境的入门例程代码看起来很简单。语法看起来也比较近C,一瞬间就把压力释放了。除了遇到一个错误,提示如下,其他的非常顺手。原来是要在下载的过程中复位一次才能正常引导Boot。

 

1.jpg

 

今晚接着捣鼓,主要是想写一个与串口有关的程序,在Arduino教程中,有Serial这个通信接口。于是乎很容易地实现了串口程序的“Hello world”。接着开始写串口控制小灯(D1)的程序。

 

这下就基本是自己编,但不复杂,Arduino提供的接口让编程变得太轻松了。

 

 

// Constant

const boolean ledon = HIGH;

 

 

// Variable

byte ch;

int led = 13;

 

// Initial Function

void setup()

{

   Serial.begin(9600); 

   Serial.println("Example 1!"); 

}

 

// main loop

void loop()

{

  if ( Serial.available() )

  {

    ch = Serial.read();

    if ( ch == '1' )

    {

      Serial.println("ON");

      digitalWrite(led, ledon);

    }

    else

    {

      Serial.println("OFF");

      digitalWrite(led, !ledon);

    }

  }

  

}

 

整个代码除了led 在第13个IO上,我还不是太明白,是仿照例程来写的,反正可以控制就好了。其他代码很容易弄明白。功能就是从串口发送ASCII字符1,D1点这,其他任何值,D1灭掉。程序下载后,可以再从Arduino开发环境上选择菜单 Tools->Serial Moniter ,打开串口通信助手,在输入框中输入“1”,按下发送,则D1点亮,而且PC串口接收到“ON”,输入“2”,D1灭掉,且PC串口接收到“OFF”。就这样,我的第一个完整的Arduino程序如愿完成。

 

2.jpg

 

 

用过Arduino的感觉非常好,非常简单,底层的封装强大。加之已经做好的调度,总算明白它在开源界,在DIY发烧者那里这么火的原因。目前我的工作也是在想办法封装z-stack的内部逻辑,也好让zigbee能被被DIY用户都能接受。

 

谨以此文作为小组活动开始号角,希望能和各位网友,ENDCHINA一道把活动做好。

参加小组活动请 点击 这里

 

文章评论0条评论)

登录后参与讨论
我要评论
0
18
关闭 站长推荐上一条 /2 下一条