標題:
arduino藍牙小車例程
[打印本頁]
作者:
大可帥
時間:
2018-2-2 13:42
標題:
arduino藍牙小車例程
這里有一個mega2560的藍牙小車例程和大家分享下》
#include <Wire.h>
#include <Servo.h>
#include <LiquidCrystal.h>
#include <PID_v1.h>
/************ 轉向舵機參數(shù) ***********/
Servo myservo; //建立一個舵機對象,名稱為 myservo
int x=100;
/*********** 馬達控制參數(shù) **********/
const unsigned char pinMotorLCW = 6; // 接控制電機順時針轉的 H 橋引腳
const unsigned char pinMotorLCCW = 5; // 接控制電機逆時針轉的 H 橋引腳
const unsigned char pinMotorRCW = 9; // 接控制電機順時針轉的 H 橋引腳
const unsigned char pinMotorRCCW = 10; // 接控制電機逆時針轉的 H 橋引腳
int speedpin=8;//定義EA(PWM調(diào)速)接口
// 電機停轉
void motorStop()
{
digitalWrite(pinMotorRCW, LOW);
digitalWrite(pinMotorRCCW, LOW);
digitalWrite(pinMotorLCW, LOW);
digitalWrite(pinMotorLCCW, LOW);
analogWrite(speedpin,255);
}
// 小車前進
void motorAhead(int a) //給電機輸入一個電壓值a(a在0-255之間) 調(diào)速
{
digitalWrite(pinMotorRCW, HIGH);
digitalWrite(pinMotorRCCW, LOW);
digitalWrite(pinMotorLCW, HIGH);
digitalWrite(pinMotorLCCW, LOW);
analogWrite(speedpin,a);
}
// 小車左轉
void motorLeft(int a) //給電機輸入一個電壓值a(a在0-255之間). 調(diào)速
{
digitalWrite(pinMotorRCW, LOW);
digitalWrite(pinMotorRCCW, HIGH);
digitalWrite(pinMotorLCW, HIGH);
digitalWrite(pinMotorLCCW, LOW);
analogWrite(speedpin,a);
}
// 小車右轉
void motorRight(int a) //給電機輸入一個電壓值a(a在0-255之間). 調(diào)速
{
digitalWrite(pinMotorLCW, LOW);
digitalWrite(pinMotorLCCW, HIGH);
digitalWrite(pinMotorRCW, HIGH);
digitalWrite(pinMotorRCCW, LOW);
analogWrite(speedpin,a);
}
// 小車后退
void motorBack(int a) //給電機輸入一個電壓值a(a在0-255之間). 調(diào)速
{
digitalWrite(pinMotorRCW, LOW);
digitalWrite(pinMotorRCCW, HIGH);
digitalWrite(pinMotorLCW, LOW);
digitalWrite(pinMotorLCCW, HIGH);
analogWrite(speedpin,a);
}
void setup()
{
Serial.begin(9600);
myservo.attach(13); //將引腳 13 上的舵機與舵機對象連接起來
digitalWrite(pinMotorRCW, LOW); //電機初始化
digitalWrite(pinMotorRCCW, HIGH);
digitalWrite(pinMotorLCW, LOW); //電機初始化
digitalWrite(pinMotorLCCW, HIGH);
analogWrite(speedpin,255);
}
void loop()
{
while(Serial.available())
{
char c=Serial.read();
if(c=='S')motorStop();
if(c=='A')motorAhead(80);
if(c=='B')motorBack(80);
if(c=='s')motorAhead(250);
if(c=='L')motorLeft(80);
if(c=='O')myservo.write(100);
if(c=='R')motorRight(80);
if(c=='E')myservo.write(170);
if(c=='F')myservo.write(30);
}
}
復制代碼
下載:
__.rar
(933 Bytes, 下載次數(shù): 17)
2018-2-2 13:42 上傳
點擊文件名下載附件
例程
下載積分: 黑幣 -5
作者:
danielliu
時間:
2018-2-28 20:59
這是串口控制的,沒有加入藍牙部分。
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1