5.按键控制小车启动实验

您当前位置: 首页 > G1-树莓派履带坦克 > 编程语言视频教学

G1按键控制小车启动实验

5.按键控制小车的启动.zip  点击下载

实验五:树莓派平台-------按键控制小车启动实验

1、实验前准备

image.png 

1-1 树莓派主控板

image.png 

1-2 按键开关

2、实验目的

ssh服务登录树莓派系统之后,编译运行按键控制小车启动实验后,按下KEY启动小车,小车会自动先前进1s,后退1s,左转2s,右转2s,原地左转3s,原地右转3s,接着停止0.5s。

3、实验原理

按键消抖:通常我们的按键开关一般都是机械弹性开关,当机械触点断开,闭合时,由于机械触点的弹性作用,一个按键开关子在闭合时不会马上就能稳定的接通,在断开时也不会一下子彻底断开,而是在闭合和断开时会伴随着一连串的抖动。

image.png 

3-1 按键抖动状态图

抖动时间一般都是由按键的机械特性决定的,一般都会在10ms以内,为了确保程序对按键的一次闭合后一次断开只响应一次,必须进行按键的消抖处理,有硬件消抖和软件消抖。

其中,软件消抖指的是检测出键闭合后执行一个延时程序,产生5ms~10ms的延时,让前沿抖动消失后再一次检测键的状态,如果仍保持闭合状态电平,则确认为真正有键按下。当检测到按键释放后,也要给5ms~10ms的延时,待后沿抖动消失后才能转入该键的处理程序。

硬件消抖是在开关两段接一个0.1uf的电容。本次实验我们采取的是软件延时去抖。

4、实验步骤

4-1.看懂原理图

image.png 

4-1 树莓派主控板电路图

image.png 

4-2 按键     

image.png 

4-3 树莓派40pin引脚对照表 

4-2 由电路原理图可知按键是直接连接到主控板上的wiringPi编码的10口。我们设置10口为输入模式,并当按下按键时通过检测该引脚的电平状态,来判断按键是否被按下。

4-3 程序代码见源文件 

输入:

编译:gcc KeyScanStart.c -o KeyScanStart -lwiringPi -lpthread

运行:./KeyScanStart

image.png 

接着

./initpin.sh初始化引脚。