久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
Arduino智能車入門程序
[打印本頁]
作者:
915786630a
時間:
2018-5-23 19:47
標題:
Arduino智能車入門程序
//引腳定義
const int left_Forward_PWM_Pin = 3; //左電機正轉控制引腳
const int left_Backward_PWM_pin = 5; //左電機反轉控制引腳
const int right_Forward_PWM_Pin = 6; //右電機正轉控制引腳
const int right_Backward_PWM_pin = 9; //右電機正轉控制引腳
const int AD_Left_Pin = A0; //左電磁傳感器AD引腳
const int AD_Right_Pin = A1; //右電磁傳感器AD引腳
int pos; //傳感器位置變量
int speed_Forward,left_speed_Forward,right_speed_Forward; //中心速度占空比、左、右電機占空比
void setup()
{
Serial.begin(9600); //串口設置,用于輸出,波特率9600
pinMode(left_Forward_PWM_Pin, OUTPUT); //配置各電機控制引腳為輸出
pinMode(left_Backward_PWM_pin, OUTPUT);
pinMode(right_Forward_PWM_Pin, OUTPUT);
pinMode(right_Backward_PWM_pin, OUTPUT);
analogWrite(left_Forward_PWM_Pin, 0); //初始化各電機正轉占空比, 0為停止
analogWrite(left_Backward_PWM_pin, 0);
analogWrite(right_Forward_PWM_Pin, 0);
analogWrite(right_Backward_PWM_pin, 0);
}
void loop()
{
DirectionControl(); //方向檢測
//根據方向量pos控制左右輪差速,當pos=0時小車直走,pos<0時左拐,pos>0時右拐
left_speed_Forward = speed_Forward + pos ; //左輪
right_speed_Forward = speed_Forward - pos + 10; //右輪, +10 為左右輪固有速度差補償
//限制電機PWM控制輸出的極值(0<PWM<255)
if(left_speed_Forward<20){left_speed_Forward=20;}
if(left_speed_Forward>220){left_speed_Forward=220;}
if(right_speed_Forward<20){right_speed_Forward=20;}
if(right_speed_Forward>220){right_speed_Forward=220;}
//設置電機正轉占空比
analogWrite(left_Forward_PWM_Pin, left_speed_Forward); //左電機
analogWrite(right_Forward_PWM_Pin, right_speed_Forward); //左電機
delay(33); //延時33ms
}
void DirectionControl() //方向檢測函數
{
static int AD_Left, AD_Right = 0; //左右電磁傳感器AD值
static float posTemp; //位置臨時變量,為了提高精度,采用浮點型
static float error,last_error=0.0;
AD_Left = analogRead(AD_Left_Pin); //讀左電磁傳感器AD值
AD_Right = analogRead(AD_Right_Pin); //讀右電磁傳感器AD值H
Serial.print(AD_Left); //串口輸出,調試用
Serial.print(",");
Serial.println(AD_Right);
if(AD_Left+AD_Right>50) //當左右電磁傳感器AD值之和較大時
//說明:如果左右電磁傳感器AD值之和比較小,則說明傳感器偏離太遠,保持之前的舵機角度
{
error=AD_Left-AD_Right;
if(last_error==0)
last_error=error;
posTemp=(last_error+error)/2;
last_error=error;
posTemp /=(AD_Left+AD_Right); //除以和值,為相對位置
posTemp = 0 - posTemp*145; //轉換成電磁線位置控制占空比(浮點),這里 *100 為比例值,值越大轉向越靈敏
pos = int(posTemp); //位置值取整
speed_Forward = 265; //正常前進速度
}
else if(AD_Left+AD_Right<10) //如果當左右電磁傳感器AD值之和特別小,則說明已經沖出賽道較遠,改為蝸牛速
{
speed_Forward = 0; //蝸牛速
}
}
作者:
admin
時間:
2018-5-24 06:01
原理圖能分享一下嗎?
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
四虎影院免费在线
|
日韩在线不卡
|
av永久免费
|
日本一区二区在线视频
|
成av在线
|
99福利
|
91社区视频
|
中文字幕第一页在线
|
国产精品免费观看视频
|
九九久久国产精品
|
在线播放91
|
日韩久草
|
精品国产乱码久久久久久蜜柚
|
91麻豆精品国产91久久久久久
|
亚洲免费一区
|
天天干夜夜操
|
av男人的天堂av
|
成人av影院
|
久久久久国产一区二区三区四区
|
香蕉视频91
|
久久精品一区二区
|
精品真实国产乱文在线
|
欧美成年网站
|
免费av一区二区三区
|
在线看91
|
91在线一区
|
国产免费一二三区
|
国产色
|
国内自拍偷拍一区
|
影音av
|
91美女视频
|
99在线免费观看视频
|
国产精品夜夜夜一区二区三区尤
|
久久久久久久久久久福利观看
|
国产成人精品久久二区二区
|
成人精品视频在线
|
男女羞羞视频在线看
|
狠狠涩
|
久久99精品久久久久久琪琪
|
精品国产乱码久久久久久老虎
|
日韩中文在线视频
|