1、一、 板载 LED 闪烁实验实验元件: Arduino 兼容控制板一块 arduino 上有一个名称为 L 的 led 发光二级管,这个 led 其实是连接在 13 号引脚上的,所以我们通过控制 13 号引脚就能够控制此 led 灯闪烁。 下面我们来看程序源码: 1、首先打开 Arduino 1.0 IDE,我们把代码复制进去。 2、然后选择控制板型号,本次实验使用的是 arduino 兼容控制板,选择为 arduinouno 即可。3、然后选择端口号,本次实验为 COM7 端口,一般为列表最后一个。要是想清楚的知道是哪个端口可以在:控制面板设备管理器端口中查看。 4、然后点击编译,编译完成后
2、,会在左下方提示。 5、编程成功后,就可以点击下载了。下载完成后,也会在左下方提示问题:1、让 LED 以每隔 5 秒闪烁一次2、让 LED 闪烁一次后熄灭(提示:加一个死循环,在死循环里实现熄灭)Arduino Leonardo 按键控制 LED 亮与灭按键控制 LED 亮灭,试用两种方法,一种是最简单的开关,另一种就是用按键的 IO 来控制 LED。第一种方案:按键为自锁按键,按键弹起是是灭的。按键按下时点亮。自锁按键的原理。代码仍用点亮那段代码即可,给出高电平让常亮,自锁按键实现开光。第二种方案深蓝色非自锁按钮 Free 时有上拉电阻 1k 欧,按下时快速地拉低电平,检测到低电平,亮,再
3、按一次,检测到低电平,翻转电平,熄灭。浅蓝色自锁按钮如同方案一的功能,这里只是结合起来。看看代码,也有三种写法:第一种:#define LED 13#define KEY 2unsigned char KEY_NUM = 0;bool Flag_LED = 0;void setup()pinMode(LED, OUTPUT); pinMode(KEY, INPUT); void loop()Scan_KEY(); /按键扫描if(KEY_NUM = 1) /假如按键按下执行该程序KEY_NUM = 0; /清零标志位Flag_LED = !Flag_LED;digitalWrite(LED,F
4、lag_LED); /LED 翻转void Scan_KEY() /按键扫描if( digitalRead(KEY) = 0 ) /查看按键是否按下delay(20); /延时 20ms,去抖动if( digitalRead(KEY) = 0 ) /查看按键是否按下KEY_NUM = 1;while(digitalRead(KEY) = 0); /松手检测第二种:#define LED 13#define KEY 4int KEY_NUM = 0; /按键键值存放变量,不等于 1 说明有按键按下void setup()pinMode(LED,OUTPUT); /定义 LED 为输出引脚pinM
5、ode(KEY,INPUT_PULLUP); /定义 KEY 为带上拉输入引脚void loop()ScanKey(); /按键扫描程序,当按键按下时候,该子程序会修改 KEY_NUM 的值if(KEY_NUM = 1) /是否按键按下 digitalWrite(LED,!digitalRead(LED);/LED 的状态翻转void ScanKey() /按键扫描程序KEY_NUM = 0; /清空变量if(digitalRead(KEY) = LOW) /有按键按下delay(20); /延时去抖动if(digitalRead(KEY) = LOW) /有按键按下KEY_NUM = 1;
6、/变量设置为 1while(digitalRead(KEY) = LOW); /等待按键松手第三种#define LED 13#define KEY 4int KEY_NUM = 0; /按键键值存放变量,不等于 1 说明有按键按下void setup()pinMode(LED,OUTPUT); /定义 LED 为输出引脚pinMode(KEY,INPUT_PULLUP); /定义 KEY 为带上拉输入引脚void loop()if(digitalRead(KEY) = LOW) /有按键按下delay(20); /延时去抖动if(digitalRead(KEY) = LOW) /有按键按下digitalWrite(LED,!digitalRead(LED); /LED 的状态翻转while(digitalRead(KEY) = LOW); /等待按键松手