Arduino 如何让伺服电机做一些事情,让uno检查一个值,然后根据更新的值做一些事情?
我希望能够使一个(连续运动)伺服电机旋转一个镜头/滤光片/偏振器,并让它被实时输入一个强度值,然后在达到最小值后停止,然后一次又一次地这样做 当强度达到最小值时,我已经让它停下来了,但我似乎不能把它带到下一步。我需要它等待(或延迟)一小段时间,检查强度是否真的低于阈值。如果不是,那么我希望它慢慢地旋转回来,直到它达到最小值,等待,然后重复,但方向相反Arduino 如何让伺服电机做一些事情,让uno检查一个值,然后根据更新的值做一些事情?,arduino,arduino-uno,servo,Arduino,Arduino Uno,Servo,我希望能够使一个(连续运动)伺服电机旋转一个镜头/滤光片/偏振器,并让它被实时输入一个强度值,然后在达到最小值后停止,然后一次又一次地这样做 当强度达到最小值时,我已经让它停下来了,但我似乎不能把它带到下一步。我需要它等待(或延迟)一小段时间,检查强度是否真的低于阈值。如果不是,那么我希望它慢慢地旋转回来,直到它达到最小值,等待,然后重复,但方向相反 #include<Servo.h> Servo myServo; const int resistPin = A0; const
#include<Servo.h>
Servo myServo;
const int resistPin = A0;
const int servPin = 9;
int intenState = analogRead(resistPin);
void setup() {
Serial.begin(9600);
pinMode(servPin, OUTPUT);
pinMode(resistPin, INPUT);
myServo.attach(9);
}
void loop(){
if(analogRead(A0) > 500){
myServo.write(120);
}else if(analogRead(A0) <= 500){
myServo.write(94);
}
}
#包括
伺服myServo;
常数int电阻pin=A0;
常数int servPin=9;
int INTENTSTATE=analogRead(电阻引脚);
无效设置(){
Serial.begin(9600);
pinMode(servPin,输出);
引脚模式(电阻引脚,输入);
附件(9);
}
void循环(){
如果(读数(A0)>500){
myServo.write(120);
}否则,如果(A0)正常,我理解。
在Arduino中,可以使用Delay命令使其等待。
在移动之前,取5个值的平均值。
参考:
示例:延迟(1000)//1秒延迟
#include<Servo.h>
Servo myServo;
const int resistPin = A0;
const int servPin = 9;
int intenState = analogRead(resistPin);
int xa=0;
void setup()
{
Serial.begin(9600);
pinMode(servPin, OUTPUT);
pinMode(resistPin, INPUT);
myServo.attach(9);
}
void loop()
{
for (int i=0;i<5;i++)
{
xa+=analogRead(A0);
delay(1000);
}
xa=xa/3; //averaging the 3 collected values at 1 seconde delay each.
//now its time to compare.
if(xa > 500)
{
myServo.write(120);
}
else if(xa <= 500)
{
myServo.write(94);
}
}
#包括
伺服myServo;
常数int电阻pin=A0;
常数int servPin=9;
int INTENTSTATE=analogRead(电阻引脚);
int-xa=0;
无效设置()
{
Serial.begin(9600);
pinMode(servPin,输出);
引脚模式(电阻引脚,输入);
附件(9);
}
void循环()
{
对于(int i=0;i 500)
{
myServo.write(120);
}
else if(xa