Python中文
首页
教程
问答
标签
搜索
登录
注册
射频电机/伺服控制器
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>最近几周,我一直在为此绞尽脑汁,在网上找不到关于我应该如何做的有用信息。在</p> <p><strong>目标:</strong></p> <ul> <li>从一个<code>pi</code>到另一个<code>pi</code>驱动多个伺服/RC电机<strong>无线</strong>。在</li> <li>本质上,我想使用<code>pi</code>构建一个<code>RC</code>远程控制,在接收端有第二个<code>pi</code>。在</li> </ul> <p><strong>我目前所做的:</strong></p> <ul> <li>我已经能够使用串行库</em>和两个Pi上的Tx和Rx引脚,通过一个便宜的433MHz接收器/发送器成功地发送串行数据。但是,我需要同时发送至少6对两位数的数字(即12个数字)。这可以使用<code>pi/arduino</code>上的串行库来完成,但它会导致主连续程序循环的采样率降低到200Hz以下,这是一个问题。在</li> </ul> <p><strong>下一步和问题:</strong></p> <ul> <li>由于串行数据传输不能正常工作,我考虑直接将PWM信号嵌入RF信号中。(据我所知,这就是业余RC控制器的工作原理)。在</li> <li>据我所知,<code>pi</code>(据我所知)在发送精确的PWM信号方面是垃圾,在正确地接收它们方面更糟糕。在</li> <li>为了澄清一下,我必须通过射频模块,而不是通过网络。在</li> </ul> <p>我该怎么做?在</p> <p>也许用两个Arduinos来完成传输和接收?在</p> <p>我能买到“盾牌”吗?在</p> <p>有图书馆可以帮我吗?(<code>Pi</code>或<code>adruino</code>?)在</p> <p><strong>编辑:</strong>罗兰感谢您的回复</p> <p>我添加了当前的串行传输代码。我不认为这是最有效的方法。如果在另一个PWM信号之间暂停发送PWM信号,则可以发送更多的数据,而不仅仅是发送比特。我不完全确定,但我想这就是遥控遥控飞机控制器发送信号的方式。在</p> <p>请注意,我插入的代码是从一个大得多的程序的简单摘录,该程序有几个模块和几百行代码。我认为下面几行是串行发射机的核心部分。在</p> <pre><code>import serial bProgramLoop = True while (bProgramLoop == True): #...lots of code... iThrustPort = int(fThrustPort) iThrustStrb = int(fThrustStrb) iThrustTail = int(fThrustTail) iPortMotorAngle = int(fPortMotorAngle) + 50 iStrbMotorAngle = int(fStrbMotorAngle) + 50 sPortMotorSignal = '{:02d}'.format(iThrustPort) sStrbMotorSignal = '{:02d}'.format(iThrustStrb) sTailMotorSignal = '{:02d}'.format(iThrustTail) sPortAngleSignal = '{:02d}'.format(iPortMotorAngle) sStrbAngleSignal = '{:02d}'.format(iStrbMotorAngle) sSignal = sPortMotorSignal + sStrbMotorSignal + sTailMotorSignal + sPortAngleSignal + sStrbAngleSignal oSer.write(sSignal) #where sSignal = 1234567890 for example or any combination of numbers from 0 to 9 </code></pre>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p><em>(代表运营商发布)</em>。在</p> <p>我已经解决了上面解释的串行数据传输问题。具体细节请参考我的另一篇文章:串行数据传输输入输出延迟与树莓派</p> <p>我希望这对任何人都有帮助。通过这种方式,您可以通过串行连接传输数据,无论是通过射频链路模块还是通过直接布线,而无需延时。在</p> <p>请注意,许多射频链路模块的最大传输速率为4800波特,以保证稳定和良好的连接。在</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
为什么在使用strptime时会出现未进行转换的数据错误?
8 回答
为什么在使用strptim时会出现这个datetime日期错误
9 回答
为什么在使用StyleFrame时索引列的标题不显示sf.至excel()?
7 回答
为什么在使用sum()函数时会发生“int”对象不可调用的错误?
5 回答
为什么在使用sympy.dsolve时会得到“'list'对象没有属性'func'”?
4 回答
为什么在使用tabla时会得到一个空的数据帧?
9 回答
为什么在使用tensorboard时需要add_graph()的第二个参数?
8 回答
为什么在使用TensorFlow Lite转换YOLOv4时,推断时间/大小没有改进?有什么可能的改进吗?
2 回答
为什么在使用Tensorflow加载训练批时会出现内存泄漏?
4 回答
为什么在使用tensorflow时会收到警告/错误(使用函数API,但未实现错误)
10 回答
为什么在使用tetpyclient发出POST请求时出现403错误?
8 回答
为什么在使用TextBlob时会出现HTTP错误?
7 回答
为什么在使用TFIDF时出现错误“IndexError:list index out of range”pyspark.ml.feature?
6 回答
为什么在使用timedelta格式化之后,我在python中的日期是错误的?
8 回答
为什么在使用timeit或exec函数时,函数中的变量不会在提供的全局命名空间中搜索?
5 回答
为什么在使用tkinter时不能使用复选框?
9 回答
为什么在使用todoistpythonapi时会返回这个奇怪的ID?
6 回答
为什么在使用TQM时,在调整图像大小时,处理时间会有很大的差异?
2 回答
为什么在使用Tweepy下载用户时间线时收到错误消息
3 回答
为什么在使用twitter帐户登录Django应用程序时重定向127.0.0.1:8000?
9 回答