Khác

BỘ TAY CẦM ĐIỀU KHIỂN TỪ XA PS2 2.4GHz CHO ARDUINO ( BAO GỒM TX VÀ RX )

Mã sản phẩm: K6_190
Được sử dụng điều khiển từ xa không dây cho xe robot, cánh tay robot, các ứng dụng từ xa, dự án Arduino, Raspberry...1. Chế độ tiết kiệm năng lượng: Khi bật mà không ghép nối, chế độ tiết kiệm điểm sẽ được kích hoạt sau 30 giây , khi bật...
300,000₫
Hàng còn: 5
Số lượng
 
1
 
Thêm vào giỏ Mua ngay

Dịch vụ & Khuyến mãi

Giao miễn phí trong nội thành TPHCM đối với đơn hàng trên 1 triệu đồng

Tặng ngay 50.000đ cho đơn hàng trên 2 triệu đồng

Chi tiết sản phẩm

Được sử dụng điều khiển từ xa không dây cho xe robot, cánh tay robot, các ứng dụng từ xa, dự án Arduino, Raspberry...
1. Chế độ tiết kiệm năng lượng: Khi bật mà không ghép nối, chế độ tiết kiệm điểm sẽ được kích hoạt sau 30 giây , khi bật và ghép nối, không có nút nào được nhấn trong 5 phút, sau đó chế độ tiết kiệm điểm sẽ được kích hoạt được kích hoạt. Lúc này chỉ cần nhấn START để kích hoạt! 
2. Khoảng cách điều khiển từ xa: Tay cầm sử dụng công nghệ không dây 2.4G và khoảng cách điều khiển từ xa có thể đạt khoảng 15 mét

THÔNG SỐ KỸ THUẬT

- Chất liệu: nhựa ABS

- Tần số Wireless: 2.4GHz (phạm vi 10m, góc 45 độ)

- Chức năng: 12 phím điều khiển, 2 Joystick điều khiển Analog

- Phạm vi làm việc:  ≤ 15 mét

- Dòng điều khiển: 120 mA

- Trọng lượng: 174gram

- Sử dụng: Pin AA (không đi kèm)

SƠ ĐỒ KẾT NỐI RX PS2 VỚI ARDUINO 

THƯ VIỆN PS2X_lib 

CLICK ĐỂ TẢI THƯ VIỆN

CODE TEST BỘ ĐIỀU KHIỂN TỪ XA PS2

#include <PS2X_lib.h>

PS2X ps2x;

int error = 0;

byte type = 0;

byte vibrate = 0;

void setup(){

 Serial.begin(57600);  

 error = ps2x.config_gamepad(9,7,6,8, true, true);  

 //setup pins and settings:  GamePad(clock, command, attention, data, Pressures?, Rumble?) check for error

 if(error == 0){

   Serial.println("Found Controller, configured successful");

   Serial.println("Try out all the buttons, X will vibrate the controller, faster as you press harder;");

  Serial.println("holding L1 or R1 will print out the analog stick values.");

  Serial.println("Go to www.billporter.info for updates and to report bugs.");

 }

  else if(error == 1)

   Serial.println("No controller found, check wiring, see readme.txt to enable debug. visit www.billporter.info for troubleshooting tips");

  else if(error == 2)

   Serial.println("Controller found but not accepting commands. see readme.txt to enable debug. Visit www.billporter.info for troubleshooting tips");

  else if(error == 3)

   Serial.println("Controller refusing to enter Pressures mode, may not support it. ");  

   type = ps2x.readType();

     switch(type) {

       case 0:

        Serial.println("Unknown Controller type");

       break;

       case 1:

        Serial.println("DualShock Controller Found");

       break;

       case 2:

         Serial.println("GuitarHero Controller Found");

       break;

     }

}

void loop(){

 if(error == 1) //skip loop if no controller found

  return;

 if(type == 2){ //Guitar Hero Controller

   ps2x.read_gamepad();          //read controller

   if(ps2x.ButtonPressed(GREEN_FRET))

     Serial.println("Green Fret Pressed");

   if(ps2x.ButtonPressed(RED_FRET))

     Serial.println("Red Fret Pressed");

   if(ps2x.ButtonPressed(YELLOW_FRET))

     Serial.println("Yellow Fret Pressed");

   if(ps2x.ButtonPressed(BLUE_FRET))

     Serial.println("Blue Fret Pressed");

   if(ps2x.ButtonPressed(ORANGE_FRET))

     Serial.println("Orange Fret Pressed");

    if(ps2x.ButtonPressed(STAR_POWER))

     Serial.println("Star Power Command");

    if(ps2x.Button(UP_STRUM))          //will be TRUE as long as button is pressed

     Serial.println("Up Strum");

    if(ps2x.Button(DOWN_STRUM))

     Serial.println("DOWN Strum");

    if(ps2x.Button(PSB_START))                   //will be TRUE as long as button is pressed

         Serial.println("Start is being held");

    if(ps2x.Button(PSB_SELECT))

         Serial.println("Select is being held");

    if(ps2x.Button(ORANGE_FRET)) // print stick value IF TRUE

    {

        Serial.print("Wammy Bar Position:");

        Serial.println(ps2x.Analog(WHAMMY_BAR), DEC);

    }

 }

 else { //DualShock Controller

    ps2x.read_gamepad(false, vibrate);          //read controller and set large motor to spin at 'vibrate' speed

    if(ps2x.Button(PSB_START))                   //will be TRUE as long as button is pressed

         Serial.println("Start is being held");

    if(ps2x.Button(PSB_SELECT))

         Serial.println("Select is being held");

     if(ps2x.Button(PSB_PAD_UP)) {         //will be TRUE as long as button is pressed

       Serial.print("Up held this hard: ");

       Serial.println(ps2x.Analog(PSAB_PAD_UP), DEC);

      }

      if(ps2x.Button(PSB_PAD_RIGHT)){

       Serial.print("Right held this hard: ");

        Serial.println(ps2x.Analog(PSAB_PAD_RIGHT), DEC);

      }

      if(ps2x.Button(PSB_PAD_LEFT)){

       Serial.print("LEFT held this hard: ");

        Serial.println(ps2x.Analog(PSAB_PAD_LEFT), DEC);

      }

      if(ps2x.Button(PSB_PAD_DOWN)){

       Serial.print("DOWN held this hard: ");

     Serial.println(ps2x.Analog(PSAB_PAD_DOWN), DEC);

      }  

      vibrate = ps2x.Analog(PSAB_BLUE);        //this will set the large motor vibrate speed based on  

    if (ps2x.NewButtonState())               //will be TRUE if any button changes state (on to off, or off to on)

    {  

        if(ps2x.Button(PSB_L3))

         Serial.println("L3 pressed");

        if(ps2x.Button(PSB_R3))

         Serial.println("R3 pressed");

        if(ps2x.Button(PSB_L2))

         Serial.println("L2 pressed");

        if(ps2x.Button(PSB_R2))

         Serial.println("R2 pressed");

        if(ps2x.Button(PSB_GREEN))

         Serial.println("Triangle pressed");

    }    

    if(ps2x.ButtonPressed(PSB_RED))             //will be TRUE if button was JUST pressed

         Serial.println("Circle just pressed");

    if(ps2x.ButtonReleased(PSB_PINK))             //will be TRUE if button was JUST released

         Serial.println("Square just released");    

    if(ps2x.NewButtonState(PSB_BLUE))            //will be TRUE if button was JUST pressed OR released

         Serial.println("X just changed");      

    if(ps2x.Button(PSB_L1) || ps2x.Button(PSB_R1)) // print stick values if either is TRUE

    {

        Serial.print("Stick Values:");

        Serial.print(ps2x.Analog(PSS_LY), DEC); //Left stick, Y axis. Other options: LX, RY, RX  

        Serial.print(",");

        Serial.print(ps2x.Analog(PSS_LX), DEC);

        Serial.print(",");

        Serial.print(ps2x.Analog(PSS_RY), DEC);

        Serial.print(",");

        Serial.println(ps2x.Analog(PSS_RX), DEC);

    }    

 }

 delay(50);    

}

Bình luận

Không có sản phẩm nào trong giỏ hàng của bạn

Không có sản phẩm nào trong giỏ hàng của bạn

LINH KIỆN ĐIỆN TỬ ĐỨC HUY (29A BÙI XUÂN PHÁI)
LINH KIỆN ĐIỆN TỬ ĐỨC HUY (29A BÙI XUÂN PHÁI)