和12岁小同志搞创客开发:手撕代码,点亮LED灯
本篇博文将在Arduino IDE软件中手写第一个小Demo,点亮LED灯。
1
Arduino编程架构
在Arduino中,标准的程序入口main函数在内部被定义, 用户只需要关心以下两个函数:setup()函数和loop()函数。
当Arduino板启动时setup()函数会被调用。用它来初始化变量,引脚模式,开始使用某个库,等等。该函数在Arduino板的每次上电和复位时只运行一次。
在创建setup函数,该函数初始化和设置初始值,loop()函数所做事的正如其名,连续循环,允许你的程序改变状态和响应事件。可以用它来实时控制arduino板。
// 主程序开始
void setup() {
//写入setup代码,只运行一次
}
void loop() {
//写入main代码,重复运行
}
2
点亮LED灯
点亮LED灯实现代码如下所示:
void setup() {
pinMode(13, OUTPUT);
}
// the loop function runs over and over again forever
void loop() {
digitalWrite(13, HIGH); // turn the LED on (HIGH is the voltage level)
delay(1000); // wait for a second
digitalWrite(13, LOW); // turn the LED off by making the voltage LOW
delay(1000); // wait for a second
}
由于LED是输出设备,所以在setup()函数中先初始化LED为输出模式,实现函数如下所示:
pinMode(pin, mode);
这个函数是用来设置Arduino数字引脚的模式的,只用于数字引脚定义是输入(INPUT)还是输出(OUTPUT)。pin指数字引脚号,mode指引脚模式(OUTPUT/INPUT)。
loop函数中就只用到了一个函数digitalrite()。
digitalWrite(pin,value)
这个函数的意义是:引脚pin在pinMode()的中被设置为OUTPUT模式时,其电压将被设置为相应的值,HIGH:输出高电平,为5V(3.3V控制板上为3.3V),LOW:输出低电平,为OV。
delay是延时的意思。括号中写入的是毫秒(ms)。所以,delay(1000)就是延时1s的意思。最后实现的就是LED亮一秒,灭一秒,一直无限循环。
新手创客从Mind+编程软件过渡到Arduino IDE软件,可以结合两款软件优点,比如Mind+可以通过拖拉控件生成代码,直接复制代码到Arduino IDE中修改也是便捷的开发小技巧。
评论