4、树莓派3 Model B ——— 树莓派按键控制LED(GPIO输入模式)

xiaoxiao2021-02-28  15

1、实验前准备

       树莓派3B及电源 x1

       面包板 x1

       LED灯 x1

       按键 x1

       电阻220欧 x1

       杜邦线若干

2、实验原理

树莓派IO口既然可以可以做输出点灯,那么就可以作为输入模式检测IO口的电平,这里我们检测按键按下给树莓派IO口一个低电平,表示按键已经按下,这时我们就通过点亮一个LED来实现按键按下,再次按键按下则灯灭掉。

       按键是最常见的输入设备之一,普通的按键内部有两个不接触的触片,当按键被外力按下后,两触片连接在一起,外力松开后又还原为断开状态,与其它元器件配合使用可实现很多的功能。它的操作直观有效,很多操作都需要通过按键来控制,几乎所有的电子设备都有保留按键的设计,下面一起来学习在树莓派上实现简单的按键操作。

3、实验步骤

按照如下接线。

       LED正极接GPIO.0,串联一个220Ω电阻接地,按键一个脚接GND,一个脚接GPIO.1。

编写控制代码如下,我们实现一个很简单的功能,按下按键LED点亮,放开LED熄灭。代码如下:

#include <wiringPi.h> #define ButtonPin 1 //定义按键引脚 #define LedPin 0 //定义LED引脚 int main (void) { wiringPiSetup (); //wiringPi库初始化 pinMode (LedPin,OUTPUT); //设置LED管脚为输出模式 pinMode (ButtonPin, INPUT); //设置按键管脚为输入模式 pullUpDnControl (ButtonPin, PUD_UP); //配置按键为上拉模式 while(1) { while(digitalRead (ButtonPin) == 0) //按下按键则点亮LED灯 { digitalWrite (LedPin, HIGH) ; delay (300) ; } digitalWrite (LedPin, LOW) ; //松开按键熄灭LED } return 0 ; }

编写完代码通过SSH文件上传到wiringPi目录下。

输入如下命令:

# gcc -o button button.c-lwiringPi

运行:

# ./button或者sudo  ./button

实验现象:我们按下按键,则LED就会保持常亮,松开按键LED则熄灭。到此我们按键输入的学习到此结束,下一讲我们开始学习PWM的知识,PWM在电机控制里用的非常多,可以控制速度,开始下一讲吧!

下一讲:5、树莓派PWM实验,直流电机PWM控制速度实现正反转。

转载请注明原文地址: https://www.6miu.com/read-46669.html

最新回复(0)