显示和测距是平衡车的增强功能,不会影响小车平衡功能的实现。显示我使用了一款96x64的RGB OLED,控制芯片是ssd1331,超声波测距选用srf05。
OLED使用了树莓派的SPI接口,另外需要两个GPIO控制DC和RST;超声波只需两个GPIO。
显示屏有配套的驱动程序,在网上可以下载到或者购买时卖家会赠送。所以只需要移植一下就可以。移植要替换的部分有4处,SPI的读写,复位引脚的控制,DC引脚的控制和延时函数。只要把这4部分替换为我们自己的即可。
超声波的控制原理是一个头子发出特定的声波,另一个头子接收反射回来的声波。通过测算期间的时间差来计算距离。
Trig引脚就是用来触发声波发出的,Echo引脚用来接收回波信号,且它的持续时间就表示了发出到接收的时间差。
了解了原理再写代码就容易很多了。
显示和测距分别在两个线程中运行。同一个进程的线程可以共享进程的数据,这省去了数据共享的麻烦,不过也要注意数据的同步。
OK,关于显示和测距就说这么多,相对比较简单,希望对大家有所帮助。
限于个人水平,难免会有遗漏和错误,欢迎大家交流指正。
页面更新:2024-04-15
本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828
© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号