我正在创建一个六足类,使用一个Raspberry Pi 3,2 X 链,和多个伺服为四肢。
我遇到的问题是,当将多个伺服连接到控制器,然后连接到电源时,大多数伺服系统都会在没有运行任何代码或命令的情况下自行移动。
当我同时测试单个伺服系统或最多3台时,不会出现此问题。
我目前使用的5V2.5A电源,并已测试了一套4 AA电池组1.5V碱性与类似的结果。
作为指导原则,我遵循模板。
我试图解析文本文件的每一行,但它始终给我一个错误'System.IndexOutOfRangeException‘。
“servers.lst”中的每一行都按以下顺序排列:
伺服器名称伺服器伺服器端口伺服器埠伺服器URL伺服器型别伺服器型别伺服器版本回覆客户端URL
每一行代表一台服务器。但我无法正确地解析它。它要么返回完整文件、空白变量,要么返回错误。
这是我的代码:
Dim reader As String = My.Computer.FileSystem.ReadAllText("servers.lst")
Dim s() As String
我想知道是否有其他人经历了同样的问题,他们的伺服电机与超声波传感器结合在一个覆盆子Pi (我拥有一个3B)。
本质上,我已经安装了两个超声波传感器(),它们之间相距180°,安装在伺服电机()的顶部,充当雷达。
这是一个示例代码。伺服和声乐课是我做的。它们功能齐全,使用琼的。
import pigpio, time
from Files.servo import Servo
from Files.sonic import Sonic
pi = pigpio.pi()
servoMotor = Servo(name = 'Test', gpio_list = [14], pi
我有一个利用伺服程序库和外部中断例程的程序。据我所知,伺服库使用Timer1中断来发送脉冲到伺服来保持位置。我想知道这对micros()计数有什么影响,因为它在中断期间不会递增。
我的代码中的外部中断例程用于转速表。它使用micros()来确定脉冲之间的时间。我担心Servo库会导致millis()和micros()计数器的漂移,并使速度不准确。转速表可能必须检测到10,000转/分的速度,因此大约为167 Hz。最后,我将使用伺服和转速表来实现PID控制。
volatile unsigned long period;
unsigned long microseconds;
void set
我有一个项目,我有一个按钮在一个面包板上,通过一个编程的Arduino激活伺服。目前,这是我的代码:
#include <Servo.h>
Servo sA;
int d=2; // to store on or off value
void setup(){
sA.attach(A0);
pinMode(2,INPUT);
pinMode(A0,OUTPUT);
pinMode(13,OUTPUT);
sA.write(90);
}
void loop(){
d=digitalRead(2);
if(d==0){
sA.write(
我已经编写了代码,使LED闪烁,并将伺服移动到几个不同的方向。下面是基本结构:
while(true){
//led on
//wait
//led off
//wait
}
while(true){
//servo to 45
//servo to 90
//servo to 270
}
我希望两者同时运行。上面的代码只会打开LED,而且是无限打开的,因为它在循环中。伺服器从来不起作用。我在这里查看了其他问题,但我找不到任何相关的问题。
怎样才能使LED和伺服同时工作?
我希望我能解释得足够好!
我正在创建一个机器人工具包,它将命令从圆周率发送到arduino。目前,我只是控制伺服与它,我有测试代码,这是工作。然而,作为它的孩子,我想让它尽可能简单的使用。
目前,这是我的代码的类比:
class robot(object)
def __init___(self):
self.servos = [0,0,0,0]
def set_servo(self,which_servo,what_position):
#sends serial data
#changes servo position in