arduino程序-按键开关控制电路及程序(基础知识)

1-14 按键开关控制电路及程序

在这里插入图片描述

程序演示效果(电路等看下方)

在示例,01 baisics , digitalreadserial
在这里插入图片描述

示例程序

/*
  DigitalReadSerial
  Reads a digital input on pin 2, prints the result to the Serial Monitor
  This example code is in the public domain.
DigitalReadSerial
读取针脚2上的数字输入,将结果打印到串行监视器
此示例代码位于公共域中。
  http://www.arduino.cc/en/Tutorial/DigitalReadSerial
*/

// digital pin 2 has a pushbutton attached to it. Give it a name:
//数字引脚2上有一个按钮。给它起个名字:
int pushButton = 2;

// the setup routine runs once when you press reset:
void setup() {
  // initialize serial communication at 9600 bits per second:
//以每秒9600位的速度初始化串行通信:
  Serial.begin(9600);

  // make the pushbutton's pin an input:
//将按钮的引脚设为输入:
  pinMode(pushButton, INPUT);
}

// the loop routine runs over and over again forever:
void loop() {
  // read the input pin:
//读取输入引脚:
  int buttonState = digitalRead(pushButton);

  // print out the state of the button:
//打印出按钮的状态:
  Serial.println(buttonState);
  delay(1);        // delay in between reads for stability
}

此时arduino开发板中的按键电路搭建好了,与电脑也连接成功了,此时上传程序
在这里插入图片描述

打开串口监视器,可以看到数字1,为当前读取到的电平状态
在这里插入图片描述

当按下开关时,串口监视器显示状态值0
在这里插入图片描述

放开又会变成1

串口监视器

作用:显示arduino程序运行状态,要显示的内容,需要在程序中告诉需要显示什么信息,arduinoIDE才会将信息显示到此串口监视器上。
在这里插入图片描述

定义一个整型变量pushButton初始化为2
在这里插入图片描述

串口通信(若了解arduino的工作状态,如某个变量在程序运行中产生的变化,使用串口函数可以进行变量的窗口显示)

启动串口通信,同时将通信速率调节到9600(有多个固定档),使用serial库的库函数begin()

PinMode(),设置引脚模式(输入或者输出模式)
在这里插入图片描述

使用serial库的库函数printIn()

注意arduino不仅有serial工具库,还有其他的库,一些其他开发者也贡献了很多库
在这里插入图片描述

变量buttonState存储当前按键存储状态,初始值为函数digitalRead返回值

digitalRead()

http://www.taichi-maker.com/homepage/reference-index/arduino-code-reference/digitalread/

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

读取2号引脚的输入信号状态值,只返回高电平HIGH或者低电平LOW两个int类型常量值

在上方的窗口监视器中只有0或者1两个数字,
所以此处使用数字1表示高电平HIGH,数字0表示低电平LOW
即HIGH1;LOW0;

Serial.printLn()

在这里插入图片描述

将数值变量输出到串口监视器中

在这里插入图片描述

(1秒即可,是程序更加稳定运行)

搭建按键电路

需要的电路元件

按键

在这里插入图片描述

10K欧姆

在这里插入图片描述

4根导线

在这里插入图片描述

红色导线连+5v
黑色导线接地GND

面包板

在这里插入图片描述

面包板中间的很深的凹槽,将上下部分分开了,不相连通

Arduino UNO

在这里插入图片描述

实际电路连接

下面最上方的两个引脚,同侧,电路不相连(断开)
在这里插入图片描述

下方两个引脚,不同侧,电路相连(导通)

在这里插入图片描述

在这里插入图片描述

面包板中间的很深的凹槽,将上下部分分开了,不相连通

将按键开关的两侧,分别安在深槽的两端
在这里插入图片描述

注意按键一定不要装反了,否则的话后面可能都失败了
在这里插入图片描述

绿色导线,一端连接数字输入输出引脚2,另一端连接面包板按键开关左上角
10K欧姆电阻,一端插入按键开关左下角,另一端插入电源轨靠近红色的一行
最短导线,一端插入按键开关右下角,另一端插入电源轨最下方一排
红色导线,一端插入arduino的+5V引脚,另一端插入电源轨靠近红色的一行
黑色导线,一端插入arduino的GND接地引脚,另一端插入电源轨最下方一排

此时电路搭建结束了,此时可以将程序编译上传,并且配合串口监视器,一定对传输速率进行设置
在这里插入图片描述

若设置传输速率不同的话,如57600,此时显示一堆乱码

在这里插入图片描述

若arduino开发板引脚2悬空,结果如下
开始串口监视器可能为0,摇一摇,就变成1了,引脚悬空读取的数值是极不稳定的,所以此处使用上拉电阻的方式读取引脚信号

  • 7
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

吾名招财

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值