欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
arduino驅動舵機,不調用庫函數
[打印本頁]
作者:
51黑ww
時間:
2016-4-11 16:19
標題:
arduino驅動舵機,不調用庫函數
int sp1=10;//定義舵機接口數字接口7
int pulsewidth;//定義脈寬變量
int val;
int val1;
int myangle1;
//下面是servopulse函數部分(此函數意思:也就是說每次都是0.5ms高電平 1.98ms低電平 然後再0.52ms低電平 17ms延時也是低電平)
void servopulse(int sp1,int val1)//定義一個脈沖函數
{
myangle1=map(val1,0,180,500,2480);
digitalWrite(sp1,HIGH);//將舵機接口電平至高
delayMicroseconds(myangle1);//延時脈寬值的微秒數
digitalWrite(sp1,LOW);//將舵機接口電平至低
delay(20-val1/1000);
}
//servopulse函數部分到此結束
void setup()
{
pinMode(sp1,OUTPUT);//設定舵機接口為輸出接口
//設置兩組串口波特率
Serial.begin(9600);
delay(500);
Serial.println("servu=o_seral_simple ready" ) ;
}
void loop()//將0到9的數轉化為0到180角度,并讓LED閃爍相應數的次數
{
val=Serial.read();//讀取串行端口的值
if(val>'0'&&val<='9')
{
val1=val-'0';//將特征量轉化為數值變量
val1=map(val1,0,9,0,180);//將角度轉化為500-2480的脈寬值
Serial.print("moving servo to ");
Serial.print(val1,DEC);
Serial.println();
for(int i=0;i<=50;i++)//給予舵機足夠的時間讓它轉到指定角度
{
servopulse(sp1,val1);//引用脈沖函數
}
}
}
復制代碼
Togke兄加油,我覺得你非常非常厲害的啊。
這個就是一個簡單的arduino不調用庫函數驅動舵機的程序,輸入0-9不同數字,舵機轉動到相應的角度并返回pwm值。
Ansifa寫的PWM介紹的帖子非常不錯哦。
現在開始接觸新的控制方法了,希望一切順利能在兩個月內做出個簡易的版本再慢慢升級更新吧 。用arm做了個舵機控制器后覺得其實PWM控制真的不是很喜歡,雖然用arm寫確實比較麻煩。。熬了一周才寫出來,完善通信又是一周時間。這次的485通信,基于cortex-m3和stm8的舵機控制器相對PWM的小土坡來說估計算是堵墻了,翻過去有一片不同的天了。希望能學到更多東西。大家一起加油吧。
等著這個月收雕刻機了 嘻嘻
作者:
你的益達
時間:
2020-4-13 12:45
您好,剛開始學習Arduino.希望獲得指教。
程序1中
val=Serial.read();//讀取串行端口的值
if(val>’0’&&val<='9')
{
val=val-'0';//將特征量轉化為數值變量
是因為串口一次只能讀取一位,所以需要將數字 0~9與角度相對應。
那么能否通過程序編寫,串口直接輸入三位的角度數值,使得舵機轉動相應的角度?
即串口的數據輸入,能否是多位的?
歡迎光臨 (http://www.raoushi.com/bbs/)
Powered by Discuz! X3.1