欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 4988|回復(fù): 1
打印 上一主題 下一主題
收起左側(cè)

arduino驅(qū)動(dòng)舵機(jī),不調(diào)用庫(kù)函數(shù)

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:113472 發(fā)表于 2016-4-11 16:19 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
  1.     int sp1=10;//定義舵機(jī)接口數(shù)字接口7
  2.     int pulsewidth;//定義脈寬變量
  3.     int val;
  4.     int val1;
  5.     int myangle1;
  6.     //下面是servopulse函數(shù)部分(此函數(shù)意思:也就是說(shuō)每次都是0.5ms高電平 1.98ms低電平 然後再0.52ms低電平 17ms延時(shí)也是低電平)
  7.      
  8.     void servopulse(int sp1,int val1)//定義一個(gè)脈沖函數(shù)
  9.     {
  10.       myangle1=map(val1,0,180,500,2480);
  11.       digitalWrite(sp1,HIGH);//將舵機(jī)接口電平至高
  12.       delayMicroseconds(myangle1);//延時(shí)脈寬值的微秒數(shù)
  13.       digitalWrite(sp1,LOW);//將舵機(jī)接口電平至低
  14.       delay(20-val1/1000);
  15.     }
  16.     //servopulse函數(shù)部分到此結(jié)束
  17.     void setup()
  18.     {
  19.       pinMode(sp1,OUTPUT);//設(shè)定舵機(jī)接口為輸出接口
  20.       //設(shè)置兩組串口波特率
  21.       Serial.begin(9600);
  22.       delay(500);
  23.       Serial.println("servu=o_seral_simple ready" ) ;
  24.     }
  25.      
  26.     void loop()//將0到9的數(shù)轉(zhuǎn)化為0到180角度,并讓LED閃爍相應(yīng)數(shù)的次數(shù)
  27.     {
  28.       val=Serial.read();//讀取串行端口的值
  29.      
  30.       if(val>'0'&&val<='9')
  31.       {
  32.         val1=val-'0';//將特征量轉(zhuǎn)化為數(shù)值變量
  33.         val1=map(val1,0,9,0,180);//將角度轉(zhuǎn)化為500-2480的脈寬值
  34.         Serial.print("moving servo to ");
  35.         Serial.print(val1,DEC);
  36.         Serial.println();
  37.         for(int i=0;i<=50;i++)//給予舵機(jī)足夠的時(shí)間讓它轉(zhuǎn)到指定角度
  38.         {
  39.           servopulse(sp1,val1);//引用脈沖函數(shù)
  40.         }
  41.       }
  42.      
  43.     }
復(fù)制代碼
Togke兄加油,我覺(jué)得你非常非常厲害的啊。
這個(gè)就是一個(gè)簡(jiǎn)單的arduino不調(diào)用庫(kù)函數(shù)驅(qū)動(dòng)舵機(jī)的程序,輸入0-9不同數(shù)字,舵機(jī)轉(zhuǎn)動(dòng)到相應(yīng)的角度并返回pwm值。
Ansifa寫(xiě)的PWM介紹的帖子非常不錯(cuò)哦。

現(xiàn)在開(kāi)始接觸新的控制方法了,希望一切順利能在兩個(gè)月內(nèi)做出個(gè)簡(jiǎn)易的版本再慢慢升級(jí)更新吧 。用arm做了個(gè)舵機(jī)控制器后覺(jué)得其實(shí)PWM控制真的不是很喜歡,雖然用arm寫(xiě)確實(shí)比較麻煩。。熬了一周才寫(xiě)出來(lái),完善通信又是一周時(shí)間。這次的485通信,基于cortex-m3和stm8的舵機(jī)控制器相對(duì)PWM的小土坡來(lái)說(shuō)估計(jì)算是堵墻了,翻過(guò)去有一片不同的天了。希望能學(xué)到更多東西。大家一起加油吧。

等著這個(gè)月收雕刻機(jī)了 嘻嘻
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:684256 發(fā)表于 2020-4-13 12:45 | 只看該作者
您好,剛開(kāi)始學(xué)習(xí)Arduino.希望獲得指教。
程序1中
val=Serial.read();//讀取串行端口的值
if(val>’0’&&val<='9')
{
val=val-'0';//將特征量轉(zhuǎn)化為數(shù)值變量

是因?yàn)榇谝淮沃荒茏x取一位,所以需要將數(shù)字 0~9與角度相對(duì)應(yīng)。

那么能否通過(guò)程序編寫(xiě),串口直接輸入三位的角度數(shù)值,使得舵機(jī)轉(zhuǎn)動(dòng)相應(yīng)的角度?

即串口的數(shù)據(jù)輸入,能否是多位的?
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表