logo资料库

基于树莓派的超声波避障小车.doc

第1页 / 共7页
第2页 / 共7页
第3页 / 共7页
第4页 / 共7页
第5页 / 共7页
第6页 / 共7页
第7页 / 共7页
资料共7页,全文预览结束
1.所需配件:
2.超声波模块与树莓派连接
超声波模块控制代码:
3.l298n模块使用简介
4.调用摄像头
5.自动避障代码
1.所需配件: 1. 三种杜邦线,面包板,3 节 18650 可充电池及电池盒 2. 小车框架(四个电机及轮子,主板等配件),超声波模块及其支架 3. 树莓派 4b 及供电的充电宝和一条 type-c 的充电线 4. L298n 模块 5. 树莓派标配 500w 像素摄像头。 树莓派引脚图 2.超声波模块与树莓派连接 使用教程:
https://shumeipai.nxez.com/2019/01/02/hc-sr04-ultrasonic-ranging-module-on-raspberry-pi.htm l 分压电路连接:
绿色的线是接树莓派的 gnd,黄色的是接超声波模块的 gnd,5 和 10 下面的是 1k 电阻,另 一个是 2k 电阻,5 号下面的红线连的是模块的 echo,10 下面的红线连的是 echo 在树莓派 上对应的 gpio 接口,而 vcc 直接连接树莓派的 5v 电源,trig 直接连接树莓派对应的 gpio 接 口,模块由 trig 接收树莓派的信号,由 echo 返回给树莓派一个 5v 的信号,树莓派引脚最多 承受 3.3v 电压,所以设置了这个分压电路来分压,防止树莓派被烧毁。
超声波模块控制代码: import RPi.GPIO as GPIO import time print("distence measurement in progress") GPIO.setmode(GPIO.BCM) echo=20 trig=21 GPIO.setup(trig,GPIO.OUT) GPIO.setup(echo,GPIO.IN) def distance(): GPIO.output(trig,True)#发送高电平到 trig 引脚 #持续 10us time.sleep(0.00001) GPIO.output(trig,False) start_time = time.time() stop_time = time.time() while GPIO.input(echo) == 0: start_time=time.time() while GPIO.input(echo)==1: stop_time=time.time() time_elapsed=stop_time-start_time distance = (time_elapsed * 34300) / 2 return distance if __name__ == '__main__': try: while True: dist=distance() print("the distance is ",dist,"cm.") time.sleep(1) except KeyboardInterrupt: print("Measurement stopped by User") GPIO.cleanup()
3.l298n 模块使用简介 通过电池盒单独供电,In1 和 in2,in3 和 in4 对应输出 A 和输出 B,且分别连接树莓派 gpio 接 口,out 段连接马达,供电使用 3 节 18650 电池组成得 12V 电源正极连接 12V 接口,gnd 接 电源负极,使用使能端 A 和使能端 B 得时候记得将跳帽拔下来,接和 in(就是逻辑输入)b 并排的那根针,然后接到树莓派得 gpio 接口上,板载 5V 使能端用不到。 控制代码(注意马达连接得正负极问题): little_car_notaut o.py
4.调用摄像头 这里使用树莓派标配的 500W 像素摄像头,使用 opencv-python 完成摄像头的调用 控制代码: 摄像头.py 5.自动避障代码 little_car.py 同时调用摄像头并运行避障代码即可实现同步 Python 文件名.py & 注意,树莓派 4b 使用充电宝为其供电。 到此为止,哥们的树莓派小车就告一段落了,之前一直是搞软件的,第一次接触硬件,以此 来 , 记 下 录 一
分享到:
收藏