- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 Arduino ServoTimer2库(因为我还需要在同一个草图中使用 VirtualWire 库。我不知道这个问题是否也存在于常规的 Servo 库中,但我认为值得一提。
任何时候我打电话 servo.attach(pin)
,伺服从其当前位置移动到其范围的确切中间位置(1500 微秒)。这是一个问题,因为我的 Arduino 需要定期连接和分离伺服器并重新设置回中心违背了我的项目的目的。
我读到那个电话 servo.write(xxxx)
紧接在 servo.attach(pin)
之前会导致它默认为 xxxx 而不是 1500,但这似乎对我不起作用(我什至不明白如果没有连接引脚会如何工作......)。有任何想法吗?
*
编辑:
我的解决方案
感谢 djUniversal 的回答,我得到了它的工作,这样伺服器在连接时不会移动。如果其他人也想做同样的事情,我所做的就是进入 ServoTimer2.cpp
并注释掉 initISR
的前 3 行方法。现在看起来像这样:
static void initISR()
{
// for(uint8_t i=1; i <= NBR_CHANNELS; i++) { // channels start from 1
// writeChan(i, DEFAULT_PULSE_WIDTH); // store default values
// }
servos[FRAME_SYNC_INDEX].counter = FRAME_SYNC_DELAY; // store the frame sync period
Channel = 0; // clear the channel index
ISRCount = 0; // clear the value of the ISR counter;
/* setup for timer 2 */
TIMSK2 = 0; // disable interrupts
TCCR2A = 0; // normal counting mode
TCCR2B = _BV(CS21); // set prescaler of 8
TCNT2 = 0; // clear the timer2 count
TIFR2 = _BV(TOV2); // clear pending interrupts;
TIMSK2 = _BV(TOIE2) ; // enable the overflow interrupt
isStarted = true; // flag to indicate this initialisation code has been executed
}
最佳答案
ServoTimer2 定义了一个起始脉冲:
#define DEFAULT_PULSE_WIDTH 1500
关于arduino - 无需移动即可连接Arduino伺服器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26695670/
我正在开展一个项目,通过在伺服系统顶部使用摄像头,让您的脸保持在屏幕中央。我在 arduino playground 网站上使用了简单的伺服控制教程,使用鼠标控制伺服并尝试重写它以使用您脸部的 x 坐
我通过UART接口(interface)(RX-TX,GND-GND)将伺服(TowerPro sg90)连接到32伺服 Controller (this one)。 卖家提供了如何连接和控制我的伺服
我是一名优秀的程序员,十分优秀!