久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標(biāo)題:
使用單個arduino nano控制使用麥克納姆輪小車的簡易源碼方案
[打印本頁]
作者:
leotheknight
時間:
2018-9-19 18:21
標(biāo)題:
使用單個arduino nano控制使用麥克納姆輪小車的簡易源碼方案
之前項目做了個簡易的移動平臺方案,圖方便就使用了arduino,然后一個兩軸手柄控制方向,帶動四個兩相步進電機
算是個比較偷懶的解決方案了,但是比較直接明了
arduino源程序如下:
#include <math.h>
#include <Stepper.h>
//Stepper control
#define LF 6
#define RF 7
#define RR 8
//right and left button
const int leftBtn = A3;
const int rightBtn = A2;
//Joystick
const int xAxis = A0;
const int yAxis = A1;
int range = 10;
//Initialise the stepper motors
const int stepsPeRFevolution = 1600; //number of steps per revolution
Stepper RightFront(stepsPeRFevolution, 2,3,4,5);
void setup() {
Serial.begin(9600);
RightFront.setSpeed(0);
pinMode(rightBtn, INPUT);
pinMode(leftBtn, INPUT);
pinMode(xAxis, INPUT);
pinMode(yAxis, INPUT);
pinMode(LF, OUTPUT);
pinMode(RF, OUTPUT);
pinMode(RR, OUTPUT);
digitalWrite(rightBtn, HIGH);
digitalWrite(leftBtn, HIGH);
}
void loop() {
int xVal = map(analogRead(xAxis), 0, 1023, 0, range);
int yVal = map(analogRead(yAxis), 0, 1023, 0, range);
int turnright = digitalRead(rightBtn);
int turnleft = digitalRead(leftBtn);
Serial.println(xVal);
Serial.println(yVal);
Serial.println(turnright);
Serial.println(turnleft);
if (turnright == HIGH)
{
RightFront.setSpeed(5);
moveCW(10); //clockwise rightsideBackwards, leftsideForwards
}
else if (turnleft == HIGH)
{
RightFront.setSpeed(5);
moveACW(10); //anticlockwise leftsideBackwards,rightsideForwards
}
else if (turnright == LOW && turnleft == LOW)
{
if (xVal == 5)
{
if (yVal == 0) {
RightFront.setSpeed(20);
goBackward(10);
}
else if (yVal == 9)
{
RightFront.setSpeed(20);
goForward(10);
} else {
if (yVal >= 7 ) {
RightFront.setSpeed(10);
goForward(10);
}
else if (yVal <= 3) {
RightFront.setSpeed(10);
goBackward(10);
}
}
}
else if (yVal == 5)
{
if (xVal == 0) {
RightFront.setSpeed(20);
moveRight(10);
}
else if (xVal == 9)
{
RightFront.setSpeed(20);
moveLeft(10);
} else {
if (xVal >= 6 ) {
RightFront.setSpeed(10);
moveLeft(10);
}
else if (xVal <= 4) {
RightFront.setSpeed(10);
moveRight(10);
}
}
}
}
}
//Methods for stepper movement
void goForward(int mSteps) {
RightFront.step(mSteps);
digitalWrite(LF, LOW);
digitalWrite(RF, HIGH);
digitalWrite(RR, HIGH);
}
void goBackward(int mSteps) {
RightFront.step(-mSteps);
digitalWrite(LF, HIGH);
digitalWrite(RF, LOW);
digitalWrite(RR, LOW);
}
void moveRight(int mSteps) {
RightFront.step(-mSteps);
digitalWrite(LF, LOW);
digitalWrite(RF, LOW);
digitalWrite(RR, HIGH);
}
void moveLeft(int mSteps) {
RightFront.step(mSteps);
digitalWrite(LF, HIGH);
digitalWrite(RF, HIGH);
digitalWrite(RR, LOW);
}
void moveACW(int mSteps) {
RightFront.step(-mSteps);
digitalWrite(LF, HIGH);
digitalWrite(RF, HIGH);
digitalWrite(RR, HIGH);
}
void moveCW(int mSteps) {
RightFront.step(mSteps);
digitalWrite(LF, LOW);
digitalWrite(RF, LOW);
digitalWrite(RR, LOW);
}
void moveRightForward(int mSteps) {
RightFront.step(mSteps);
digitalWrite(LF, LOW);
digitalWrite(RF, LOW);
digitalWrite(RR, HIGH);
}
void moveRightBackward(int mSteps) {
RightFront.step(mSteps);
digitalWrite(LF, LOW);
digitalWrite(RF, LOW);
digitalWrite(RR, HIGH);
}
void moveLeftForward(int mSteps) {
RightFront.step(mSteps);
digitalWrite(LF, LOW);
digitalWrite(RF, LOW);
digitalWrite(RR, HIGH);
}
void moveLeftBackward(int mSteps) {
RightFront.step(mSteps);
digitalWrite(LF, LOW);
digitalWrite(RF, LOW);
digitalWrite(RR, HIGH);
}
void turnRight(int mSteps) {
RightFront.step(mSteps);
digitalWrite(LF, LOW);
digitalWrite(RF, LOW);
digitalWrite(RR, HIGH);
}
void turnLeft(int mSteps) {
RightFront.step(mSteps);
digitalWrite(LF, LOW);
digitalWrite(RF, LOW);
digitalWrite(RR, HIGH);
}
void stopRobot(int delay_ms) {
RightFront.step(0);
delay(delay_ms);
}
void hardStop() {
RightFront.step(0);
}
復(fù)制代碼
所有資料51hei提供下載:
MecanumStepperMotor.7z
(1.03 KB, 下載次數(shù): 62)
2018-9-19 18:20 上傳
點擊文件名下載附件
arduino代碼
下載積分: 黑幣 -5
作者:
spendell
時間:
2020-1-31 11:10
正好 畢設(shè)需要用這個
作者:
xuebj
時間:
2020-12-10 17:44
不錯,簡單明了
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
午夜在线
|
久久精品国产一区
|
成人在线观看免费
|
中文字幕 视频一区
|
亚洲第一天堂
|
久久99精品国产99久久6男男
|
另类视频在线
|
欧美一级片在线观看
|
精品久久一
|
中文字幕精品一区二区三区精品
|
亚洲午夜视频在线观看
|
a级大片免费观看
|
在线看国产
|
国产黄色在线观看
|
国产免费看
|
中文字幕国产视频
|
免费在线毛片
|
亚洲精品一区中文字幕乱码
|
国产亚洲二区
|
国产成人精品一区二
|
九九亚洲
|
中文字幕免费
|
久久精品免费一区二区
|
欧美成人激情
|
免费的网站www
|
国产免费又色又爽又黄在线观看
|
高清色
|
视频一区在线
|
欧美日韩综合精品
|
亚洲精品乱码久久久久久按摩观
|
亚洲网站在线观看
|
在线高清免费观看视频
|
精品一区二区三区视频在线观看
|
一区二区三区视频在线
|
亚洲激情网站
|
国产观看
|
成人免费视频网站在线观看
|
欧美日本韩国一区二区三区
|
操操操av
|
999久久久久久久久6666
|
欧美一区二区三区在线看
|