資料介紹
最近在公司學習Arduinouno ,用它實現小車超聲波避障功能。實現的功能很簡單,就是在小車前方掛一個超聲波模塊,當碰到障礙物時,會通過舵機進行擺頭,判斷兩邊的距離,進行左右轉彎。但是碰到了這樣一個問題,舵機庫和pwm輸出沖突,當舵機旋轉時,pwm輸出函數analogWrite()不管用了。二.解決先分析一下問題產生的原因,我們之前如果想控制舵機,比較常見的方法就是調用舵機庫:#includeServo myservo;// create servoobject to control a servo// a maximum of eight servo objects can be createdint pos = 0;// variable to store the servo positionvoid setup(){myservo.attach(9);// attaches the servo on pin 9 to the servo object}void loop(){for(pos = 0; pos < 180; pos += 1)// goes from 0 degrees to 180 degrees{// in steps of 1 degreemyservo.write(pos); // tell servo to go to position in variable 'pos'delay(15);// waits 15ms for the servo to reach the position}for(pos = 180; pos>=1; pos-=1)// goes from 180 degrees to 0 degrees{ myservo.write(pos);// tell servo to go to position in variable 'pos'delay(15); // waits 15ms for the servo to reach the position}}這種做法非常方便,但是為什么會跟pwm沖突呢,因為在Arduino里的庫封裝里,它們都是用了同一個定時器1,T/C1: Pin9(OC1A)和Pin10(OC1B),所以會導致沖突,如何解決呢,可以在硬件上修改引腳。不費事的辦法就是通過修改代碼來解決沖突。我們可以換一種方法來實現舵機的控制:int servopin = 7;//定義舵機接口數字接口7 也就是舵機的橙色信號線。void servopulse(int angle)//定義一個脈沖函數{int pulsewidth=(angle*11)+500;//將角度轉化為500-2480的脈寬值digitalWrite(servopin,HIGH);//將舵機接口電平至高delayMicroseconds(pulsewidth);//延時脈寬值的微秒數digitalWrite(servopin,LOW);//將舵機接口電平至低delayMicroseconds(20000-pulsewidth);}void setup(){pinMode(servopin,OUTPUT);//設定舵機接口為輸出接口}void loop(){//把值的范圍映射到0到165左右for( int angle = 0;angle<180;angle+=10){for(int i=0;i<50;i++)//發送50個脈沖{servopulse(angle);//引用脈沖函數} delay(1000); } }直接通過延時函數來給舵機脈沖,達到控制的效果,因為Arduino里延時函數delay()用的是定時器0,所以就不會沖突了。////////////////////////////////////////////////////實際上要是不用pmw控制電機。用數字信號的話,這個就不影響。(mbbeetchina)
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- 舵機控制原理資料
- PWM信號控制舵機原理
- 通過Arduino控制舵機
- Arduino PWM控制的對稱電源
- pwm控制SG90舵機資料分享 45次下載
- STM32mini板 紅外遙感控制 舵機小車 初學者適用
- 動手玩轉Arduino---運動控制(直流電機步進電機舵機)
- stm32f4舵機控制代碼 70次下載
- PWM波控制兩路舵機的程序和工程文件免費下載 11次下載
- 使用51單片機PWM雙舵機控制的詳細資料和程序概述
- 使用鍵盤控制智能小車的資料合集免費下載 12次下載
- 使用單片機PWM信號控制進行智能小車的實現方法資料說明 19次下載
- 使用51單片機進行PWM程序控制智能小車程序免費下載 43次下載
- 使用Arduino為微控制器打造能用舵機控制的游戲平臺 14次下載
- 詳細的舵機控制原理資料 0次下載
- PWM控制和強制PWM控制的特點 5.9k次閱讀
- Arduino提供的PWM控制功能入門(1) 4k次閱讀
- STM32基礎知識:PWM控制舵機 4k次閱讀
- STM32通過PWM控制電機速度 6.3k次閱讀
- 如何從網頁控制arduino? 5.7k次閱讀
- dfrobot數字舵機Arduino擴展板簡介 5.1k次閱讀
- 舵機原理簡述!舵機PWM信號介紹 6.1w次閱讀
- 數字舵機控制原理是什么_數字舵機與模擬舵機的區別 6.5w次閱讀
- 舵機控制板的電壓是多少_舵機控制板使用說明 3.5w次閱讀
- 舵機控制原理是什么_舵機的控制方法 14.7w次閱讀
- 舵機如何控制_舵機原理是什么 4.3w次閱讀
- arduino如何控制舵機及詳細步驟 16.9w次閱讀
- mg995舵機中文資料(參數_尺寸_控制程序) 14.7w次閱讀
- 如何用單片機控制舵機及程序詳細 6.1w次閱讀
- 智能車舵機控制算法詳解 3.3w次閱讀
下載排行
本周
- 1CSMD1&TR3A 6 C00 模組-CN-V1
- 960.13 KB | 次下載 | 免費
- 2SC92F8463B/8462B/8461B技術手冊
- 1.67 MB | 次下載 | 5 積分
- 3基于單片機的額溫槍設計
- 4.82 MB | 次下載 | 10 積分
- 4AT817晶體管光耦系列
- 1.86 MB | 次下載 | 免費
- 5國產千兆網口芯片PT153S中文資料
- 1.35 MB | 次下載 | 免費
- 6壓力容器焊接手冊
- 6.47 MB | 次下載 | 2 積分
- 7FP7135V060-G1/FP7125替代物料pin to pin
- 495.40 KB | 次下載 | 免費
- 8PCD3901 -40V、1A 超低噪聲 LDO技術手冊
- 0.90 MB | 次下載 | 免費
本月
- 1美的電磁爐電路原理圖資料
- 4.39 MB | 16次下載 | 10 積分
- 2冷柜-電氣控制系統講解
- 13.68 MB | 7次下載 | 10 積分
- 3SDFM 激光測距模塊模組手冊
- 0.54 MB | 7次下載 | 免費
- 4SW6238V ACCC 三 PD 四口多協議移動電源 SOC規格書
- 0.59 MB | 5次下載 | 1 積分
- 5反激式開關電源設計解析
- 0.89 MB | 4次下載 | 5 積分
- 6IP6742_datasheet_100V8A 同步 BUCK 控制器
- 2.16 MB | 3次下載 | 免費
- 7SDM02 激光測距模塊產品手冊
- 0.43 MB | 2次下載 | 免費
- 8PAW3395DM-T6QU:光學游戲導航芯片手冊
- 1.26 MB | 2次下載 | 10 積分
總榜
- 1matlab軟件下載入口
- 未知 | 935137次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關降壓/升壓雙向直流/直流轉換器 PCB layout 設計
- 1.48MB | 420064次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233094次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費下載
- 340992 | 191448次下載 | 10 積分
- 5十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183360次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81605次下載 | 10 積分
- 7Keil工具MDK-Arm免費下載
- 0.02 MB | 73829次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65991次下載 | 10 積分
電子發燒友App





創作
發文章
發帖
提問
發資料
發視頻
上傳資料賺積分
評論