Arduino入门(一)

学校开设了Arduino的基础课程,以前玩过一段时间的树莓派,再加上也算是个水课,抱着玩的心态过去康康。

本文及接下来更新的文章均为记录这个学期所学有关Arduino入门的知识~

入门小件功能基本介绍及使用

既然是Arduino的基础课程,第一节课必定是聊一些容易上手的器件,果不其然上来就是蜂鸣器之类的好理解的东西,那么接下来就好好讲讲这几样小件~

1.蜂鸣器

蜂鸣器🐎没啥特殊的脚位(就俩),也没啥特殊功能,不就是个小喇叭嘛给他通电就会叫。拿来入门相信大部分人都看得懂。(修正:有源蜂鸣器通电会响,无源蜂鸣器直流电无法驱动)

有源蜂鸣器

有源蜂鸣器(某宝型号12095/3毛一个)

蜂鸣器接线:

那么该如何使用蜂鸣器呢?这里拿有源蜂鸣器做介绍,接线如下:

蜂鸣器接线图

蜂鸣器实物接线图

两条线就能让蜂鸣器发声,原理就是正负两极通电让蜂鸣器内部震动发声。

蜂鸣器驱动代码:

驱动他的代码挺简单,这里直接放上代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
int pin=8;//根据所插脚位设置IO脚,实物图中接线为13号脚。

void setup()
{
pinMode(pin,OUTPUT);//设置数字IO脚模式,OUTPUT为输出
}

void loop()
{
int i,j;
while(1)
{
for(i=0;i<80;i++)
{
digitalWrite(buzzer,HIGH);//发声音
delay(1);
digitalWrite(buzzer,LOW);//不发声音
delay(1);
}
}
}

代码讲述一下几个点:1.如果要蜂鸣器变调,则for循环中i的值进行修改可以达成目的。2.注意插入的脚位,确认脚位后记得修改pin的值即可发声,完事~

2.LED灯

LED灯也没啥特殊的,灯泡嘛两个脚位给他通电他就会亮,注意LED灯的特性是有区分正负两极的,正负极接反是不会亮的。

LED灯

LED灯接线

LED灯接线参考蜂鸣器,如果阁下已经做完蜂鸣器的实验,把蜂鸣器拔下来插上LED灯即可,注意正负极插入。

LED灯驱动代码

代码的话我们拿蜂鸣器的代码小修小改就能用,这里放上代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
int pin=8;//根据所插脚位设置IO脚

void setup()
{
pinMode(pin,OUTPUT);//设置数字IO脚模式,OUTPUT为输出
}

void loop()
{
digitalWrite(pin, HIGH);//亮灯
delay(500);//延迟500ms
digitalWrite(pin, LOW);//闭灯
delay(500);//延迟500ms
}

如果接线正确,LED灯会循环闪烁,完事~

3.按钮

嘿嘿,又是一个两针脚的小物件,主要用途为控制各类器件的通断/开关,如图:

按钮,图是四脚的

按钮

由于学校的教学为按钮和LED灯配合,按钮我也不在这里独立介绍啦。

LED配合按钮的接线图

按钮接线图

LED按钮驱动代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
int buttonPin = 2; // 按键的针脚定义
int ledPin = 9; // LED灯针脚定义

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

void setup() {
pinMode(ledPin, OUTPUT); //设置LED管脚输出模式
pinMode(buttonPin, INPUT_PULLUP); //设置按键管脚上拉输入模式
}

void loop() {

buttonState = digitalRead(buttonPin); //读取按键返回状态值

if (buttonState == LOW) { // 若按键被按下
delay(80); //等待跳过按键抖动的不稳定过程
if (buttonState == LOW) // 若按键被按下
{
digitalWrite(ledPin, HIGH); // 点亮LED灯
}
}
else {
digitalWrite(ledPin, LOW); // 熄灭LED灯
}

}

这里解释一下代码:1.由于机械按钮存在延迟,无法达到即按即反应的功能,因此代码中增加了对延迟存在的检测。2.按钮的接线注意要做到对角接线,否则可能无法使用按钮。

总结

到这里有关Arduino的一些基础物件(两针脚物件)的介绍和使用的记录到此也就结束了,接下来会继续更新本学期学到的知识,若有纰漏烦请指出~


Arduino入门(一)
http://blask.cn/2019/11/12/arduino入门/
作者
Wayne Li
发布于
2019年11月12日
许可协议