首页 百科知识 读取按钮状态

读取按钮状态

时间:2022-10-04 百科知识 版权反馈
【摘要】:当学会了按钮的工作原理,可以尝试将磁控开关、游戏手柄,甚至自动售货机上的硬币识别器作为数字输入信号连接到GPIO接口上。把按钮下部的一个引脚接到供电总线的正极上,这时,当按下按钮时,3.3 V的电压会接入GPIO 24接口。在目前的情况下,没有按下按钮,那么GPIO 24是没有接到电源或接地的,因此它是悬空的。

如图2.4.4所示,使用简单的按钮开关来产生数字输入信号非常合适,它们可以被稳妥地插入到面包板上。

图2.4.4 按钮示意

当从嵌入式控制器的GPIO接口上读取数据时,用户需要确保输入接口连接一个确定的信号(如3.3 V电源或者接地)。如果尝试读取一个既未接地又无电源的引脚,则会得到一个不稳定的结果(值)。当学会了按钮的工作原理,可以尝试将磁控开关、游戏手柄,甚至自动售货机上的硬币识别器作为数字输入信号连接到GPIO接口上。

(1)把按钮插入面包板,并使它横跨在面包板中央绝缘条的两边。

(2)使用连接线,把嵌入式控制板的GPIO 24与按钮上部的一个引脚相连。

(3)把嵌入式控制器板的3.3 V供电口与面包板上供电总线的正极相连。

(4)把按钮下部的一个引脚接到供电总线的正极上,这时,当按下按钮时,3.3 V的电压会接入GPIO 24接口。

(5)在目前的情况下,没有按下按钮,那么GPIO 24是没有接到电源或接地的,因此它是悬空的。这种情况会带来不稳定的数据读取结果,所以必须解决这个问题。那么,使用一个10 kΩ 的电阻(电阻色环为:棕、黑、橙,最后一环为银色或金色),把按钮靠近输入的一端,把电阻与嵌入式控制板的地线相接,这样当用户没有按下按钮时,嵌入式控制板的GPIO是通过电阻接地的。

由于电流总是会往接地电阻最小的通路流动,当按下按钮时,3.3 V的电压会接入嵌入式控制器的输入接口,因为这条通路的电阻小于10 kΩ 。

当所有的准备工作都完成时,整个电路如图2.4.5所示。

图2.4.5 把按钮与嵌入式控制板相连(示意)

(6)电路已经连接好了,这时就可以从命令行上读取按钮的状态。如果还没有取得root权限,则先执行sudo su命令。

(7)与前一个例子一样,第一步先把输入接口暴露到用户态:

root@raspberrypi:/sys/class/gpio/gpio25# echo 24 〉 /sys/class/gpio/export

(8)把工作目录切换到上一步操作所生成的目录下:

root@raspberrypi:/sys/class/gpio/gpio25# cd /sys/class/gpio/gpio24

(9)设置接口的工作模式为“输入”:

root@raspberrypi :/sys/class/gpio/gpio24# echo in 〉 direction

(10)现在,可以用cat命令来读取按钮的状态了,cat命令用于在命令行下显示文件的内容。cat 这个命令的名称来源于它可以把多个文件拼接(Concatenate) 在一起,它也可以用于显示文件内容。

root@raspberrypi:/sys/class/gpio/gpio24# cat value 0

(11)显示的“0”表示这个接口目前是接地的。用户可以按住按钮不放,同时再次执行这个命令:

root@raspberrypi:/sys/class/gpio/gpio24# cat value 1

(12)如果显示“1”,就表示电路已经正常工作了!

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈