我目前正尝试在我的BeagleBone黑(Rev C.)上使用超过一个HC-SR04。我尝试了以下脚本:https://github.com/luigif/hcsr04并且它也在工作,但我不知道我如何能够更改使用过的PIN,以及如何以串行方式使用它们。
有人能帮我吗?向英戈问好
发布于 2016-05-10 05:18:31
使用当前代码的一个可能的解决方案是将两个足够快的多路复用器添加到传感器的回波/触发引脚(8:1或16:1取决于要连接多少传感器)。第一个是在触发器连接之间切换,第二个是在回显连接之间切换。要控制mux,您需要将mux的选择线连接到任何GPIO引脚(最简单的是P8_14、P8_15、P8_16和P8_18,因为P8_11和P8_12是由P8_11和P8_12使用的)。
您必须修改当前的代码,如下所示
/* Execute code on PRU */
printf(">> Executing HCSR-04 code\n");
prussdrv_exec_program(0, "hcsr04.bin");
/*Add code here to set GPIO pins high/low to choose the sensor */
/* Get measurements */mux通常有5v的输入和输出,确保你把它降到3V,否则你会把你的beaglebone吹坏的!
基本的廉价mux有35 is的最大响应时间,这更足以满足需求。
https://en.wikipedia.org/wiki/Multiplexer http://socrates.berkeley.edu/~phylabs/bsc/PDFFiles/DM74151A.pdf
加法:将所有的触发引脚绑在一起,并且只需要回显引脚,这样您就只需要一个mux而不是2个
https://stackoverflow.com/questions/37078849
复制相似问题