大数跨境
0
0

【Edison教程系列】01 按键控制

【Edison教程系列】01 按键控制 DF创客社区
2014-10-30
2
导读:从今天起,我们将发布【Edison教程系列】,第一课来个最简单的实验吧!按钮控制LED开关,按键按下,LED

从今天起,我们将发布【Edison教程系列】,第一课来个最简单的实验吧!按钮控制LED开关,按键按下,LED点亮。按键松开,LED熄灭。


【所需元件】

  • 1× 数字食人鱼红色LED发光模块



  • 1× 数字大按钮模块



  • 1× IO 传感器扩展板 V7.1



  • 1× 英特尔® Edison for Arduino开发板(预售)


【硬件连接】

  • 数字大按钮 → 数字2

  • 数字食人鱼红色LED发光模块 → 数字13




【输入代码】


打开样例代码Button,可见:


const int buttonPin =2; // 定义按键引脚

const int ledPin= 13; //定义LED引脚


int buttonState =0; //用来存储按键状态值


void setup() {

pinMode(ledPin, OUTPUT); //初始化LED引脚为输出状态

pinMode(buttonPin, INPUT); //初始化按键引脚为输入状态

}


void loop(){

buttonState = digitalRead(buttonPin); //读取按键引脚的状态值


// 检测按键是否按下,如果是的话,按键状态值为HIGH

if (buttonState == HIGH) {

digitalWrite(ledPin, HIGH); // 打开LED

}

else {

digitalWrite(ledPin, LOW); // 关闭LED

}

}


下载完代码,按下按钮,灯点亮。松开按键,灯熄灭。



【硬件分析】(数字输入—数字输出)


很明显,大按钮是输入设备,LED是输出设备。和前面感应灯类似,也是一个数字输入控制一个数字输出。只是形式与代码有所不同。



【代码回顾】

说下Arduino代码必须具备的两个组成部分:


void setup() {

// 写入setup代码,只运行一次:

}


void loop() {

// 写入main代码,重复运行:

}


Arduino代码必须包含setup()和loop()这两个函数。setup英文中是“设置”的意思。所以setup()函数是用于一些初始化设置的,只在代码一开始时,运行一次。loop是“循环”的意思,只要Arduino不掉电,loop就会不停的重复运行。


由硬件分析可以看出,按键是输入设备,LED是输出设备。

pinMode(buttonPin, INPUT);

pinMode(ledPin, OUTPUT);


函数格式如下:

pinMode(pin,mode)

这个函数是用来设置Arduino数字引脚的模式的,只用于数字引脚定义是输入(INPUT)还是输出(OUTPUT)。pin指数字引脚号,mode指引脚模式(OUTPUT/INPUT)。

通过digitalWrite()读取按键的状态:

int reading = digitalRead(buttonPin);


函数格式如下:

digitalRead(pin)

这个函数是用来读取数字引脚状态,HIGH还是LOW。一旦按下,读到HIGH,松开,读到LOW。(HIGH代表1,LOW代表0)


数字传感器只会读到两个值(HIGH和LOW)。这里要用到新的一个语句——if语句。


if语句格式如下:

(1)if(表达式){

语句;

}


(2)if(表达式){

语句;

}else{

语句;

}

表达式是指我们的判断条件,通常为一些关系式或逻辑式,也可是直接表示某一数值。如果if表达式条件为真,则执行if中的语句。表达式条件为假,则跳出if语句。格式(1)多用于一种判断中,格式(2)多用于两种判断的情况。

if (buttonState == HIGH) {

... //如果为高,LED亮

}

else {

... //否则,LED灭

}


If语句中,还有句设置LED状态。

digitalWrite(ledPin,HIGH);


函数格式如下:

digitalWrite(pin,value)

这个函数的意义是:引脚pin在pinMode()的中被设置为OUTPUT模式时,其电压将被设置为相应的值,HIGH为5V(3.3V控制板上为3.3V),LOW为0V。


想要学习更多第2、3、4课内容,点击下方“阅读原文”,或登录DF创客社区,Intel Edison专区。

【声明】内容源于网络
0
0
DF创客社区
我们是专注于创新和开源硬件开发的公司——DFRobot成立的创客社区,无论你是资深创客还是小白,这里都有你的一席之地。一个人玩自己的项目,你只是寂寞宅;一群人看你玩项目,你就是技术牛!快来分享你的项目吧!
内容 1282
粉丝 0
DF创客社区 我们是专注于创新和开源硬件开发的公司——DFRobot成立的创客社区,无论你是资深创客还是小白,这里都有你的一席之地。一个人玩自己的项目,你只是寂寞宅;一群人看你玩项目,你就是技术牛!快来分享你的项目吧!
总阅读2.1k
粉丝0
内容1.3k