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

来源:互联网 发布:mac os 10.11懒人版 编辑:程序博客网 时间:2024/06/01 07:54

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控制速度实现正反转。




原创粉丝点击