实验一:树莓派平台------TrikeBot小车鸣笛实验
1、实验前准备
图1-1 树莓派3B+主控板
图1-2蜂鸣器模块
2、实验目的
SSH远程登录树莓派后,运行小车鸣笛可执行程序,小车可以进行鸣笛。
3、实验原理
树莓派的强大不仅在于它是一个卡式电脑,更重要的是引出的GPIO,可以通过编程使GPIO管脚输出高低电平。
蜂鸣器有“有源”和“无源”两种类型,有源是指其内部自带多谐振荡器等结构,外部只需要提供工作电压,它(内部的振荡器就工作)就能发出固定频率的声音;而无源的是指内部没有带振荡源,需要外部驱动电路提供一定频率的驱动信号。
我们这次实验所使用的蜂鸣器就是有源蜂鸣器,外部只需要提供工作电压就能发出固定频率的声音。
由电路原理图可知,有源蜂鸣器的正极接3.3V,负极接一个8550三极管,三极管的集电极接地,基极串联一个1K的电阻,电阻的另一头接树莓派的物理引脚24接口。
4、实验步骤
4-1.看懂原理图
图4-1 树莓派电路图
图4-2 蜂鸣器电路原理图
图4-3 树莓派40PIN引脚对照表
4-2 理解原理图
由电路原理图可以知道相应的连接电路,蜂鸣器的引脚与树莓派的物理引脚24口相连接,对应的是wiringPi的10编码口。
注:我们在编写程序采用的是wiringPi库,有关这个库的详细情况,见树莓派软件与文档文件夹。
4-3 程序代码:
详情见TrikeBot小车鸣笛代码。
4-4 运行程序
我们先在树莓派系统中输入: gcc whistle.c -o whistle -lwiringPi 编译该文件。注意需要加上-lwiringPi连接到库文件。编译之后没有错误出现就输入./whistle运行该程序,即可听到我们小车的蜂鸣器在响。
需要停止时我们通过ctrl+c,表示向linux内核发送一个终止当前进程的信号,但是此时相关的引脚的状态是不确定的,我们还需要运行一个初始化引脚的脚本对所有引脚初始化。直接运行TrikeBotCar目录下的initpin.sh脚本完成引脚初始化。输入./initpin.sh如果报错-bash: ./initpin.sh: Permission denied,我们可输入chmod 777 initpin.sh改变initpin.sh的文件权限,然后输入./initpin.sh
即可初始化管脚。
如下图所示: