資料介紹
最近在公司學習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舵機資料分享 31次下載
- STM32mini板 紅外遙感控制 舵機小車 初學者適用
- 動手玩轉Arduino---運動控制(直流電機步進電機舵機)
- stm32f4舵機控制代碼 68次下載
- PWM波控制兩路舵機的程序和工程文件免費下載 11次下載
- 使用51單片機PWM雙舵機控制的詳細資料和程序概述
- 使用鍵盤控制智能小車的資料合集免費下載 12次下載
- 使用單片機PWM信號控制進行智能小車的實現方法資料說明 19次下載
- 使用51單片機進行PWM程序控制智能小車程序免費下載 43次下載
- 使用Arduino為微控制器打造能用舵機控制的游戲平臺 14次下載
- 詳細的舵機控制原理資料 0次下載
- PWM控制和強制PWM控制的特點 3253次閱讀
- Arduino提供的PWM控制功能入門(1) 1931次閱讀
- STM32基礎知識:PWM控制舵機 1768次閱讀
- STM32通過PWM控制電機速度 4492次閱讀
- 如何從網頁控制arduino? 3835次閱讀
- dfrobot數字舵機Arduino擴展板簡介 3631次閱讀
- 舵機原理簡述!舵機PWM信號介紹 5.8w次閱讀
- 數字舵機控制原理是什么_數字舵機與模擬舵機的區別 6.3w次閱讀
- 舵機控制板的電壓是多少_舵機控制板使用說明 3.1w次閱讀
- 舵機控制原理是什么_舵機的控制方法 14.1w次閱讀
- 舵機如何控制_舵機原理是什么 4.1w次閱讀
- arduino如何控制舵機及詳細步驟 16.3w次閱讀
- mg995舵機中文資料(參數_尺寸_控制程序) 13.8w次閱讀
- 如何用單片機控制舵機及程序詳細 5.9w次閱讀
- 智能車舵機控制算法詳解 2.9w次閱讀
下載排行
本周
- 1Keysight B1500A 半導體器件分析儀用戶手冊、說明書 (中文)
- 19.00 MB | 4次下載 | 免費
- 2使用TL431設計電源
- 0.67 MB | 2次下載 | 免費
- 3BT134雙向可控硅手冊
- 1.74 MB | 2次下載 | 1 積分
- 4一種新型高效率的服務器電源系統
- 0.85 MB | 1次下載 | 1 積分
- 5LabVIEW環形控件
- 0.01 MB | 1次下載 | 1 積分
- 6PR735,使用UCC28060的600W交錯式PFC轉換器
- 540.03KB | 1次下載 | 免費
- 751單片機核心板原理圖
- 0.12 MB | 1次下載 | 5 積分
- 8BP2879DB支持調光調滅的非隔離低 PF LED 驅動器
- 1.44 MB | 1次下載 | 免費
本月
- 1開關電源設計原理手冊
- 1.83 MB | 54次下載 | 免費
- 2FS5080E 5V升壓充電兩串鋰電池充電管理IC中文手冊
- 8.45 MB | 23次下載 | 免費
- 3DMT0660數字萬用表產品說明書
- 0.70 MB | 13次下載 | 免費
- 4UC3842/3/4/5電源管理芯片中文手冊
- 1.75 MB | 12次下載 | 免費
- 5ST7789V2單芯片控制器/驅動器英文手冊
- 3.07 MB | 11次下載 | 1 積分
- 6TPS54202H降壓轉換器評估模塊用戶指南
- 1.02MB | 8次下載 | 免費
- 7STM32F101x8/STM32F101xB手冊
- 1.69 MB | 8次下載 | 1 積分
- 8基于MSP430FR6043的超聲波氣體流量計快速入門指南
- 2.26MB | 7次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935119次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關降壓/升壓雙向直流/直流轉換器 PCB layout 設計
- 1.48MB | 420061次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233084次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費下載
- 340992 | 191367次下載 | 10 積分
- 5十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183335次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81581次下載 | 10 積分
- 7Keil工具MDK-Arm免費下載
- 0.02 MB | 73807次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65987次下載 | 10 積分
評論
查看更多