这里会显示出您选择的修订版和当前版本之间的差别。
前一修订版 | |||
— | learing:examples:blink [2023/06/07 04:23] (当前版本) – 外部编辑 127.0.0.1 | ||
---|---|---|---|
行 1: | 行 1: | ||
+ | ====== Blink(单LED闪烁)====== | ||
+ | |||
+ | <WRAP left round info 65%> | ||
+ | 这个例程显示了你可以用OCROBOT各款控制器做到的最简单的事,单LED闪烁(Blink)。 | ||
+ | </ | ||
+ | |||
+ | <WRAP left round box 100%> | ||
+ | =====ALPHA MEGA328-U核心===== | ||
+ | |||
+ | ==== 硬件 ==== | ||
+ | * [[ocrobot: | ||
+ | * [[ocrobot: | ||
+ | * [[ocrobot: | ||
+ | |||
+ | ==== 搭建电路 ==== | ||
+ | |||
+ | - ALPHA 11 LED模块插入并行扩展版1号槽位。 | ||
+ | - ALPHA MEGA328-U模块插入并行扩展板2号槽位。 | ||
+ | - USB线连接计算机与ALPHA MEGA328-U。 | ||
+ | |||
+ | ==== 代码 ==== | ||
+ | <code cpp> | ||
+ | |||
+ | /* | ||
+ | Blink | ||
+ | | ||
+ | */ | ||
+ | |||
+ | // 我们在2号脚上连了一个LED.定义一个名为led的变量,赋值为2(也就是2号管脚)。 | ||
+ | int led = 2; | ||
+ | |||
+ | // 按下reset键之后,setup中的代码执行一次: | ||
+ | void setup() { | ||
+ | // 设置数字输出. | ||
+ | pinMode(led, | ||
+ | } | ||
+ | |||
+ | // loop中代码一直重复执行: | ||
+ | void loop() { | ||
+ | digitalWrite(led, | ||
+ | delay(1000); | ||
+ | digitalWrite(led, | ||
+ | delay(1000); | ||
+ | } | ||
+ | |||
+ | </ | ||
+ | |||
+ | <WRAP left round tip 100%> | ||
+ | 这个例子中我们使用了3个新的函数:[[reference: | ||
+ | |||
+ | [[reference: | ||
+ | |||
+ | 通过[[reference: | ||
+ | </ | ||
+ | <WRAP left round help 100%> | ||
+ | 如果让led亮三秒、灭1秒、再亮两秒、灭3秒应该怎样实现? | ||
+ | </ | ||
+ | |||
+ | </ | ||
+ | |||
+ | <WRAP left round box 100%> | ||
+ | =====ALPHA 8F328D-U核心===== | ||
+ | |||
+ | ==== 硬件 ==== | ||
+ | * [[ocrobot: | ||
+ | * [[ocrobot: | ||
+ | * [[ocrobot: | ||
+ | |||
+ | ==== 搭建电路 ==== | ||
+ | |||
+ | - ALPHA 11LED模块插入并行扩展版1号槽位。 | ||
+ | - ALPHA 8F328D-U模块插入并行扩展板2号槽位。 | ||
+ | - USB线连接计算机与ALPHA 8F328D-U。 | ||
+ | |||
+ | ==== 代码 ==== | ||
+ | <code cpp> | ||
+ | |||
+ | /* | ||
+ | Blink | ||
+ | | ||
+ | */ | ||
+ | |||
+ | // 我们在2号脚上连了一个LED.定义一个名为led的变量,赋值为2(也就是2号管脚)。 | ||
+ | int led = 2; | ||
+ | |||
+ | // 按下reset键之后,设置里的代码执行一次: | ||
+ | void setup() { | ||
+ | // 设置数字输出. | ||
+ | pinMode(led, | ||
+ | } | ||
+ | |||
+ | // loop里代码一直重复执行: | ||
+ | void loop() { | ||
+ | digitalWrite(led, | ||
+ | delay(1000); | ||
+ | digitalWrite(led, | ||
+ | delay(1000); | ||
+ | } | ||
+ | |||
+ | </ | ||
+ | |||
+ | <WRAP left round tip 100%> | ||
+ | 这个例子中我们使用了3个新的函数:[[reference: | ||
+ | |||
+ | [[reference: | ||
+ | |||
+ | 通过[[reference: | ||
+ | </ | ||
+ | <WRAP left round help 100%> | ||
+ | 如果让led亮三秒、灭1秒、再亮两秒、灭3秒应该怎样实现? | ||
+ | </ | ||
+ | |||
+ | </ | ||
+ | |||
+ | <WRAP left round box 100%> | ||
+ | =====MangoII===== | ||
+ | ==== 硬件 ==== | ||
+ | |||
+ | * OCROBOT控制器 | ||
+ | * LED | ||
+ | * 220欧姆到1K欧姆的电阻 | ||
+ | * 导线若干 | ||
+ | |||
+ | ==== 搭建电路 ==== | ||
+ | |||
+ | 把电阻串联到13号引脚。连接LED的长脚(阳极)到电阻另一端。连接LED的短脚(阴极)到GND脚。 | ||
+ | |||
+ | 部分控制器的13号脚已经连接了一个LED,如果你没连接别的外围设备,应该看得到那个LED闪烁。 | ||
+ | |||
+ | 按照图纸搭建好电路后,把你的控制器连接电脑USB口,打开IDE,输入下面的代码。 | ||
+ | |||
+ | |||
+ | ==== 代码==== | ||
+ | |||
+ | |||
+ | |||
+ | 下面的程序中,你先要设置13号引脚为输出脚 | ||
+ | <code cpp> | ||
+ | pinMode(13, OUTPUT); | ||
+ | </ | ||
+ | |||
+ | 在loop中 点亮LED | ||
+ | <code cpp> | ||
+ | digitalWrite(13, | ||
+ | </ | ||
+ | |||
+ | 给13号引脚高电平(3-5V电压),使得LED引脚之间有了电压,灯就亮了。你可以熄灭它 | ||
+ | |||
+ | <code cpp> | ||
+ | digitalWrite(13, | ||
+ | </ | ||
+ | |||
+ | 然后使13号引脚电压归零,熄灭LED。在这之间,人需要足够的时间来观察亮灭变化,所以delay()命令让控制器停止1000毫秒或者说一秒,当使用delay()命令的时候,这段时间不会有任何事情发生。理解了这些之后,你可以查看 不用delay来闪烁LED 例程来学习怎样在执行其他任务的时候创建delay。 | ||
+ | |||
+ | 当理解这个过程之后,你可以看看" | ||
+ | |||
+ | <code cpp> | ||
+ | |||
+ | /* | ||
+ | Blink | ||
+ | |||
+ | | ||
+ | |||
+ | */ | ||
+ | |||
+ | // 13号脚上连了一个LED. | ||
+ | // 给它命名: | ||
+ | int led = 13; | ||
+ | |||
+ | // 按下reset键之后,设置里的代码执行一次: | ||
+ | void setup() { | ||
+ | // 设置数字输出. | ||
+ | pinMode(led, | ||
+ | } | ||
+ | |||
+ | // loop里代码一直重复执行: | ||
+ | void loop() { | ||
+ | digitalWrite(led, | ||
+ | delay(1000); | ||
+ | digitalWrite(led, | ||
+ | delay(1000); | ||
+ | } | ||
+ | |||
+ | </ | ||
+ | |||
+ | </ |