Arduino 之用串口控制LED灯
感谢 Arduino小组 ZHB组长送的板子和元件。找同事花了小到半小时就焊好,少了一个1117,,整个板功耗小,我们找了一个封装小一号的焊上去也能用。
晚上在Arduino.cc 官网上下载了最新的开发环境,1.0.5版本,PL2303我项目也用,所以不用再装驱动。 Arduino的官网简洁,但资料挺丰富的,开发环境制作也继承了同样的风格,赞一个。
由于之前没有开发过AVR,也没用过Arduino,刚开始还担心困难比较多,但开发环境的入门例程代码看起来很简单。语法看起来也比较近C,一瞬间就把压力释放了。除了遇到一个错误,提示如下,其他的非常顺手。原来是要在下载的过程中复位一次才能正常引导Boot。
今晚接着捣鼓,主要是想写一个与串口有关的程序,在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程序如愿完成。
用过Arduino的感觉非常好,非常简单,底层的封装强大。加之已经做好的调度,总算明白它在开源界,在DIY发烧者那里这么火的原因。目前我的工作也是在想办法封装z-stack的内部逻辑,也好让zigbee能被被DIY用户都能接受。
谨以此文作为小组活动开始号角,希望能和各位网友,ENDCHINA一道把活动做好。
参加小组活动请 点击 这里。
文章评论(0条评论)
登录后参与讨论