久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標(biāo)題:
Arduino紅外避障
[打印本頁(yè)]
作者:
2233的33
時(shí)間:
2019-12-29 10:23
標(biāo)題:
Arduino紅外避障
#include <LiquidCrystal.h>
// initialize the library by associatingany needed LCD interface pin
// with the arduino pin number it isconnected to
const int rs = 53, en = 49, d4 = 47, d5 =45, d6 = 43, d7 = 41.;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
#define INA1 22 //TB6612FNG驅(qū)動(dòng)模塊控制信號(hào) 共6個(gè)
#define INA2 26
#define INB1 24
#define INB2 28
#define INC1 30 //TB6612FNG驅(qū)動(dòng)模塊控制信號(hào) 共6個(gè)
#define INC2 34
#define IND1 32
#define IND2 36
#define PWMA 8 //OC4C
#define PWMB 7 //OC4B
#define PWMC 6 //OC4C
#define PWMD 5 //OC4B
float Kp = 15, Ki = 0 , Kd = 0;
static float error = 0, P = 0, I = 0, D =0, PID_value = 0;
float previous_error = 0, previous_I = 0;
static int initial_motor_speed = 140; //期望速度
int left_motor_speed = 0;
int right_motor_speed = 0;
uint8_t irs = 0;
static int a = 9 , b = 6, c = 5, d;
static int key = 0;
static int MERIDIAN = 0;
static int WEFT = 0;
static int meridian = 0;
static int weft = 0;
static int flag1 = 0;
static int flag2 = 0;
unsigned int aa;
const int IR_PIN[] = {A0, A1, A2, A3, A4};//紅外對(duì)管引腳定義
void read_ir_values(void);
void calculate_pid(void);
void motor_control(void);
void LCD_PRINT(void);
void ISRR1();
void ISRL1();
void STEP_FRONT(void);
void STEP_RIGHT(void);
void STEP_LEFT(void);
void STEP_TOUCH(void);
void Set_Pwm(int left_motor_speed, intright_motor_speed);
void setup()
{
lcd.begin(16, 2);
meridian = 0;
weft = 0;
key= 0;
pinMode(INA1, OUTPUT); //TB6612控制引腳,控制電機(jī)1的方向,01為正轉(zhuǎn),10為反轉(zhuǎn)
pinMode(INA2, OUTPUT); //TB6612控制引腳,
pinMode(INB1, OUTPUT); //TB6612控制引腳,控制電機(jī)1的方向,01為正轉(zhuǎn),10為反轉(zhuǎn)
pinMode(INB2, OUTPUT); //TB6612控制引腳,
pinMode(PWMA, OUTPUT); //TB6612控制引腳,電機(jī)PWM
pinMode(PWMB, OUTPUT); //TB6612控制引腳,電機(jī)PWM
pinMode(INC1, OUTPUT); //TB6612控制引腳,控制電機(jī)1的方向,01為正轉(zhuǎn),10為反轉(zhuǎn)
pinMode(INC2, OUTPUT); //TB6612控制引腳,
pinMode(IND1, OUTPUT); //TB6612控制引腳,控制電機(jī)1的方向,01為正轉(zhuǎn),10為反轉(zhuǎn)
pinMode(IND2, OUTPUT); //TB6612控制引腳,
pinMode(PWMC, OUTPUT); //TB6612控制引腳,電機(jī)PWM
pinMode(PWMD, OUTPUT); //TB6612控制引腳,電機(jī)PWM
pinMode(A0, 0); //TB6612控制引腳,電機(jī)PWM
pinMode(A1, 0);
pinMode(A5, 0); //TB6612控制引腳,電機(jī)PWM
pinMode(A6, 0);
pinMode(A8, 0);
digitalWrite(14, 0); //TB6612控制引腳拉低
digitalWrite(15, 0); //TB6612控制引腳拉低
analogWrite(PWMA, 0); //TB6612控制引腳拉低
analogWrite(PWMB, 0); //TB6612控制引腳拉低
analogWrite(PWMC, 0); //TB6612控制引腳拉低
analogWrite(PWMD, 0); //TB6612控制引腳拉低
for(int i = 0; i < 4; i++)
{
pinMode(IR_PIN[i], INPUT);
}
Serial2.begin(9600);
attachInterrupt(3, ISRL1, CHANGE); //開(kāi)啟外部中斷2
attachInterrupt(2, ISRR1, CHANGE); //開(kāi)啟外部中斷3
attachInterrupt(4, XIAN1, CHANGE); //開(kāi)啟外部中斷2
//attachInterrupt(5, XIAN2, CHANGE); //開(kāi)啟外部中斷3
Kp= 20 , Ki = 0, Kd = 0, a = 9 , c = 5, initial_motor_speed = 60; //期望速度;
}
void loop()
{
if((digitalRead(A0)==0)&&(digitalRead(A1)==0))//右
{
Set_Pwm(-100,-100);
delay(500);
}
else if( digitalRead(A0)==0)//右
{
Set_Pwm(-100, 100);
delay(500);
}
else if( digitalRead(A1)==0)//右
{
Set_Pwm(100, -100);
delay(500);
}
else
{
Set_Pwm(100, 100);
}
}
void Set_Pwm(int motoA, int motoB)
{
if(motoA > 0)
{
digitalWrite(INA1, HIGH), digitalWrite(INA2, LOW); //TB6612的電平控制
digitalWrite(INC1, HIGH), digitalWrite(INC2, LOW); //TB6612的電平控制
}
else
{
digitalWrite(INA1, LOW), digitalWrite(INA2, HIGH); //TB6612的電平控制
digitalWrite(INC1, LOW), digitalWrite(INC2, HIGH); //TB6612的電平控制
}
if(motoB > 0)
{
digitalWrite(INB1, HIGH), digitalWrite(INB2, LOW); //TB6612的電平控制
digitalWrite(IND1, HIGH), digitalWrite(IND2, LOW); //TB6612的電平控制
}
else
{
digitalWrite(INB1, LOW), digitalWrite(INB2, HIGH); //TB6612的電平控制
digitalWrite(IND1, LOW), digitalWrite(IND2, HIGH); //TB6612的電平控制
}
{
analogWrite(PWMA, abs(motoA)); //賦值給PWM寄存器
analogWrite(PWMB, abs(motoB)); //賦值給PWM寄存器
analogWrite(PWMC, abs(motoA)); //賦值給PWM寄存器
analogWrite(PWMD, abs(motoB)); //賦值給PWM寄存器
}
}
void ISRL1()//外部中斷2
{
flag1 = 1;
}
void ISRR1()//外部中斷3
{
flag1 = 1;
}
void XIAN1()//外部中斷2
{
flag1 = 2;
}
void XIAN2()//外部中斷3
{
flag1 = 2;
}
復(fù)制代碼
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
欧美中文字幕一区二区三区亚洲
|
天天拍天天操
|
精品国模一区二区三区欧美
|
99在线免费观看视频
|
亚洲一区二区三区四区五区午夜
|
91精品久久久久久久久久入口
|
91久久国产综合久久91精品网站
|
成人免费网站www网站高清
|
日韩在线一区二区
|
亚洲日韩中文字幕一区
|
91成人免费
|
国产一区二区三区在线
|
精品视频在线观看
|
国产乱码精品一区二区三区中文
|
日韩羞羞
|
99精品久久
|
男人的天堂久久
|
夏同学福利网
|
久久曰视频
|
国产成人精品久久二区二区91
|
亚洲福利一区二区
|
人人干在线视频
|
欧美视频成人
|
日韩网站在线观看
|
久久久久久国产精品
|
久久久久久精
|
欧美日韩视频在线
|
亚洲综合一区二区三区
|
天堂网色
|
一区二区免费在线
|
高清国产午夜精品久久久久久
|
亚洲国产偷
|
成年男女免费视频网站
|
欧美一级二级视频
|
欧美午夜在线
|
久久久久久久久久久福利观看
|
国产jizz女人多喷水99
|
一级在线观看
|
一区欧美
|
一区二区三区不卡视频
|
大象视频一区二区
|