前段时间我将DHT11传感器连接到Arduino UNO并根据a simple library写了the one from Arduino website。
目前,我想将DHT11与运行Yocto Linux的Arduino扩展板连接到英特尔爱迪生。在尝试将库重写为Python时,我预计会出现微秒的问题,并且最终决定使用Raspberry Pi DHT11 Library重新构建mraa。但是,传感器也不起作用。我发现the topic on Intel forum指责Edison端口快速IN / OUT切换无能。使用两根电线的建议解决方案对我没有帮助。
在介绍之后,我想到了几个问题:
由于Raspberry和Edison都是真实的计算机系统 处理器和Linux(与Arduino不同,它由简单的 微控制器),为什么人们面临DHT11的问题 爱迪生,而那些使用覆盆子的人不是
这些问题的根源是什么?是否与之相关 爱迪生的非确定性操作系统时序(RPi具有相同的,不具备的功能) 它?),数字引脚有缺陷还是两者兼而有之?
甚至可以使用两根线来解决这个问题 用二极管)?如果没有建议的三态,也许这是不可能的 缓冲
将单线设备连接到爱迪生的最简单方法是什么?
答案 0 :(得分:0)
如您所知,1-Wire协议需要确定性时序。 不可能在像爱迪生,甚至是PC这样的计算平台上进行确定性计时。您可能会使用usleep()来接近它,但您的应用可能会随时中断,从而搞乱您的时间。
使用没有GPIO确定性时序的系统时,您需要做的是使用接口连接传感器。该接口应该使用一个小的micro,它具有确定性的时序。 (即Pic,ATTINY等)。