跳到主要內容

V-USB Joystick for Arduino

上次做好沒存檔

這次再翻出來從弄一次...QAQ
花了我一天阿阿阿阿

D+ 接腳2
D-  接腳3
詳情請看usbconfig.h

想改搖桿配置可以用
HID Descriptor Tool
改完記得回usbconfig.h填
USB_CFG_HID_REPORT_DESCRIPTOR_LENGTH
長度




程式碼:https://www.dropbox.com/s/n0rgkb370wto2lv/UsbJOY.rar?dl=0

留言

  1. Hi, Sir ! your library is amazing ! amazing ! the best library on entire world ! 8 buttons ! fantastic ! congratulations ! you're a genius ! just one question: how the axis X and Y works ? because i'm trying to play a game, like a test , and the character go up even if i'm not press any button. How can I manage the axis ? i want to make a simple gamepad with up,. down, left , right and the 8 buttons. Can you help me, please ?

    Thank you !

    *Ps: Again, amazing library !

    Greetings !

    回覆刪除
    回覆
    1. 使用
      analogRead(PinX); analogRead(PinY);
      去讀取數值並設置
      UsbJoystick.setX(ValueX);UsbJoystick.setY(ValueY);

      use
      analogRead (PinX); analogRead (PinY);
      To read and set values
      UsbJoystick.setX (ValueX); UsbJoystick.setY (ValueY);

      -----------------------------------------------------------
      const int PinX = A0;
      const int PinY = A1;

      ValueX= analogRead(PinX);
      ValueY= analogRead(PinY);
      UsbJoystick.setX(ValueX >> 3); //X,Y 範圍 0~127
      UsbJoystick.setY(ValueY >> 3);

      //我沒測試過
      //需要自己在修改
      // I have not tested
      // Need to modify them again

      刪除
    2. Sorry, Sir ! I'm late to thank you! I got it ! I used the map function! thank you for this magnificent work! thank you so much ! with a bluetooth module HC-06 and a android device, I created a simple application. With this application, you can simulate a Bluetooth gamepad, although there is no "multitouching".

      The application is made in the "App Inventor 2". Therefore, there is no way to enable multitouching. But it works! I do not know how to thank you. Also, you have that V-USB MIDI library. I'm trying to make a MIDI adapter for an old Yamaha keyboard. You are very talented ! Westerners need to learn from you.

      You come to also modify the V-USB Keyboard and Mouse libraries? If yes, please, if you can make them available, I would greatly appreciate it. Their V-USB libraries are much more efficient and objective than those made in the Western Continent.

      If you want the code that did and the application of "BTGamepad" based on your project, please just ask me when you want.

      Thank you very much !

      刪除
    3. V-USB Keyboard and Mouse libraries can be found here

      http://coopermaa2nd.blogspot.tw/2011/10/v-usb-examples-for-arduino.html

      http://coopermaa2nd.blogspot.com/2011/10/v-usb-for-arduino-usbkeyboard.html

      :)

      刪除

張貼留言

這個網誌中的熱門文章

小蟻智慧攝影機支援RTSP

來源: http://en.miui.com/thread-196713-1-1.html 小蟻智慧攝影機版本: 1.8.5.1l_201511061661(台灣版) 下載檔案 https://drive.google.com/file/d/0ByjBix7wpeJJY0ZWZXlvWl9Za1E/view?usp=sharing 把攝影機SD卡拿讀卡機讀取 把壓縮檔內的test資料夾放進SD根目錄 插回SD卡至攝影機 重開 攝影機會呈現橘燈並執行更新 等恢復至藍燈或是用app確認攝影機開啟 用VLC或相關程式讀取串流 Main stream:rtsp:// <CameraIP> :554/ch0_0.h264 Minor stream:rtsp:// <CameraIP> :554/ch0_1.h264 Audio stream:rtsp:// <CameraIP> :554/ch0_3.h264 Telnet與FTP開啟加上 # Telnet if [ ! -f "/etc/init.d/S88telnet" ]; then     echo "#!/bin/sh" > /etc/init.d/S88telnet     echo "telnetd &" >> /etc/init.d/S88telnet     chmod 755 /etc/init.d/S88telnet fi # FTP echo "#!/bin/sh" > /etc/init.d/S89ftp echo "tcpsvd -vE 0.0.0.0 21 ftpd -w / &" >> /etc/init.d/S89ftp chmod 755 /etc/init.d/S89ftp User:  root Password:  1234qwer 使用passwd改密碼 參考: http://en.miui.com/thread-224653-1-1.html

Arduino 滑鼠滾輪編碼器/旋轉編碼器

滑鼠拆下來的滾輪編碼器 時序為                      → CW A  -----------          -------------    HIGH                ----------                  LOW                      ← CCW B  --------          ----------------    HIGH             ----------                     LOW A B 1  1↓CW 1  0 0  0 0  1 1  1 1  0 0  0 0  1↑CCW 程式碼參考底下網址來源修改而來 #define ENCODER_A_PIN 2 #define ENCODER_B_PIN 3 unsigned long time = 0; long position = 0; long num = 0; void setup() { pinMode(ENCODER_A_PIN,INPUT); pinMode(ENCODER_B_PIN,INPUT); attachInterrupt(0, RotaryEncoder, LOW); Serial.begin(9600); ti...