与12岁小创客共同开发:手把手教你点亮LED灯

发表时间: 2023-10-16 21:50

本篇博文将在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 forevervoid 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中修改也是便捷的开发小技巧。