PS2無線搖桿+雙馬達+雙舵機+LED燈 測試
本帖最后由 cjs1748 于 2017-3-26 22:03 编辑#include <PS2X_lib.h>//導入PS2搖桿庫v1.8
#include <Servo.h> //導入舵機庫
PS2X ps2x;
int PS2 = 0;
Servo LXservo; //建造LX舵機
Servo RXservo; //建造LY舵機
const int Ain1 = 4; // direction pin 1
const int Ain2 = 9; // direction pin 2
const int enA = 6; // PWM pin 控制轉速用
const int Bin1 = 7; // direction pin 1
const int Bin2 = 8; // direction pin 2
const int enB = 5; // PWM pin 控制轉速用,我用minipro D9 PWM 無法使用,所以跟D5互換
int fspeedLY; // 指定LY轉速變數
int fspeedRY; // 指定RY轉速變數
void setup(){
LXservo.attach(2);// 指定LX舵機接D2腳位
RXservo.attach(3);// 指定RX舵機接D2腳位
PS2 = ps2x.config_gamepad(13,11,10,12, true, true); //指定PS2搖桿腳位及類比搖桿開啟
pinMode(Ain1, OUTPUT); // connection to TB6612FNG
pinMode(Ain2, OUTPUT); // connection to TB6612FNG
pinMode(enA, OUTPUT); // connection to TB6612FNG
pinMode(Bin1, OUTPUT); // connection to TB6612FNG
pinMode(Bin2, OUTPUT); // connection to TB6612FNG
pinMode(enB, OUTPUT); // connection to TB6612FNG
pinMode(A0, OUTPUT); // 三角和圓形控制的LED
pinMode(A1, OUTPUT); // 四方和X控制的LED
pinMode(A2, OUTPUT); // LY軸控制的LED燈
pinMode(A3, OUTPUT); // RY軸控制的LED燈
pinMode(A4, OUTPUT); // LX軸控制的LED燈
pinMode(A5, OUTPUT); // LX軸控制的LED燈
pinMode(A6, OUTPUT); // RX軸控制的LED燈 無作用
pinMode(A7, OUTPUT); // RX軸控制的LED燈 無作用
}
void loop(){
ps2x.read_gamepad();
if(ps2x.ButtonPressed(PSB_CIRCLE)) digitalWrite(A0, LOW);
if(ps2x.ButtonPressed(PSB_TRIANGLE)) digitalWrite(A0, HIGH);
if(ps2x.ButtonPressed(PSB_CROSS)) digitalWrite(A1, LOW);
if(ps2x.ButtonPressed(PSB_SQUARE)) digitalWrite(A1, HIGH);
if (ps2x.Analog(PSS_LY) == 128) analogWrite(enA, 0);
if (ps2x.Analog(PSS_LY) > 128){
fspeedLY = map(ps2x.Analog(PSS_LY), 129, 255, 0, 150);// LY搖桿對應馬達驅動的值 0~150即可以達到全速(配合電壓及馬達樣式調整)
digitalWrite(Ain1, LOW);
digitalWrite(Ain2, HIGH);
analogWrite(enA, fspeedLY);
digitalWrite(A2, HIGH);
}
if (ps2x.Analog(PSS_LY) < 128){
fspeedLY = map(ps2x.Analog(PSS_LY), 0, 127, 150, 0);
digitalWrite(Ain1, HIGH);
digitalWrite(Ain2, LOW);
analogWrite(enA, fspeedLY);
digitalWrite(A2, LOW);
}
if (ps2x.Analog(PSS_RY) == 128) analogWrite(enB, 0);
if (ps2x.Analog(PSS_RY) > 128){
fspeedRY = map(ps2x.Analog(PSS_RY), 129, 255, 0, 150);
digitalWrite(Bin1, LOW);
digitalWrite(Bin2, HIGH);
analogWrite(enB, fspeedRY);
digitalWrite(A3, HIGH);
}
if (ps2x.Analog(PSS_RY) < 128){
fspeedRY = map(ps2x.Analog(PSS_RY), 0, 127, 150, 0);
digitalWrite(Bin1, HIGH);
digitalWrite(Bin2, LOW);
analogWrite(enB, fspeedRY);
digitalWrite(A3, LOW);
}
LXservo.write(map(ps2x.Analog(PSS_LX), 0, 255, 20, 160));// LX搖桿對應舵機角度 20~160
RXservo.write(map(ps2x.Analog(PSS_RX), 0, 255, 20, 160));
if (ps2x.Analog(PSS_LX) < 120){
digitalWrite(A4, HIGH);
digitalWrite(A5, LOW);
}
if (ps2x.Analog(PSS_LX) > 150){
digitalWrite(A4, LOW);
digitalWrite(A5, HIGH);
}
if (ps2x.Analog(PSS_LX) > 120 && ps2x.Analog(PSS_LX) < 150){
digitalWrite(A4, LOW);
digitalWrite(A5, LOW);
}
if (ps2x.Analog(PSS_RX) < 120){
digitalWrite(A6, HIGH);
digitalWrite(A7, LOW);
}
if (ps2x.Analog(PSS_RX) > 150){
digitalWrite(A6, LOW);
digitalWrite(A7, HIGH);
}
if (ps2x.Analog(PSS_RX) > 120 && ps2x.Analog(PSS_RX) < 150){
digitalWrite(A6, LOW);
digitalWrite(A7, LOW);
}
delay(50);
}
之前做過六個舵機的測試,結果時間一久就都忘了!!又重新測試!!
所以趕快留一個紀錄!!下次就不用再撞牆了!!
1.外部電源12V1.5A 對馬達驅動板及MINIPRO RAW腳
2.馬達驅動板邏輯電源及PS2接收器接3.3V
3.UNO 及 MINIPRO 都測試成功
占个沙发,顶一个!如果有具体的硬件连接图就更好了:lol 董董soul 发表于 2017-3-17 16:45
占个沙发,顶一个!如果有具体的硬件连接图就更好了
下午才在爬您的文說.....
您來這發言真是我這個菜鳥的榮幸!!
.
.
本來是要畫圖的,但是fritzing找不到TB6612FNG的圖,所以就放棄了....
基本上,接腳在程式內都有說明,待會再嘗試畫畫看!! 没接触过这个ps2的无线摇杆,楼主能给点资料吗? 建议直接用5v电源供电,这种马达耗电不大,画图用cadsoft的eagle元件库非常丰富,多到你怕,适合进一步学习 Ansifa 发表于 2017-3-19 23:01
建议直接用5v电源供电,这种马达耗电不大,画图用cadsoft的eagle元件库非常丰富,多到你怕,适合进一步学习
5V我有使用過(UNO),但是減速馬達沒動作!! duanyz 发表于 2017-3-19 22:53
没接触过这个ps2的无线摇杆,楼主能给点资料吗?
http://geek-workshop.com/thread-172-14-1.html
站內大神的教學~~
或是自己搜索 PS2 搖桿
資料真的是很多~~ 本帖最后由 cjs1748 于 2017-3-30 18:49 编辑
使用NANO加擴充版也測試OK!!
注意喔!! PS2搖桿的電源輸入腳是沒接線的.....
但是可以正常使用.
不過D9的PWM一樣不太正常.. 3Q for sharing.
無線搖桿那裡買的有連結嗎?:) 我在沒屋頂買的,不過應該也是淘寶網過來的。 搖桿庫下载不了啊
可以去外面找找看,我也不知道為何下載不了 悠然小调 发表于 2017-3-29 14:31
搖桿庫下载不了啊
我去检查下。。。。 cjs1748 发表于 2017-3-30 00:04
可以去外面找找看,我也不知道為何下載不了
已经修复好论坛bug了。。。莫名其妙论坛后台配置被人改了。。。结果附件失效,郁闷了。。如果可以的话看看能重传下附件吗 感謝熱心的弘毅兄~:)
页:
[1]
2