Table des matières:
- Étape 1: souder les en-têtes des broches aux ports d'E/S supplémentaires de l'Arduino
- Étape 2: ajoutez la bibliothèque Arduino Joystick à votre IDE
- Étape 3: Flashez le code sur l'Arduino
- Étape 4: faire le câblage
- Étape 5: Liez le récepteur
- Étape 6: Adaptez le code à votre situation
- Étape 7: Calibrer le joystick émulé
Vidéo: Pont R/C vers USB : 7 étapes
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:07
Convertit les signaux PPM d'un récepteur radio en positions de joystick
Utilisez-le pour jouer à vos jeux et simulateurs de vol préférés avec votre émetteur radio R/C. Ce Instructable utilise un Arduino de littleBits et un récepteur DSMX ainsi qu'un simple extrait de code pour effectuer cette conversion.
Tu auras besoin de
- Puissance
- Arduino
- Câbles USB
- en-têtes de broche
- cavalier
- un récepteur radio avec sortie PPM.
Étape 1: souder les en-têtes des broches aux ports d'E/S supplémentaires de l'Arduino
Afin d'alimenter le récepteur (RX), des en-têtes de broche doivent être ajoutés à l'Arduino. Cela facilitera également le câblage entre le Bit et le RX. Voir https://discuss.littlebits.cc/t/using-the-additional-i-os-on-the-arduino-bit pour plus d'informations.
Étape 2: ajoutez la bibliothèque Arduino Joystick à votre IDE
Vous pouvez trouver la bibliothèque sur GitHub, https://github.com/MHeironimus/ArduinoJoystickLib… Merci, Matthew Heironimus, de l'avoir écrit.
Seuls certains Arduinos peuvent émuler un HID comme un joystick. Comme le microcontrôleur littleBits est un Arduino Leonardo dans l'âme, vous êtes prêt à partir.
Étape 3: Flashez le code sur l'Arduino
#include #define inputPin 16#define channels 4 #define lo 800 //ajustement à la sortie de RX#define hi 1600 //ajustement à la sortie de RX#define filter 10int channel[channels]; int valeur précédente[canaux]; int counter = 0;Joystick_ Joystick(JOYSTICK_DEFAULT_REPORT_ID, JOYSTICK_TYPE_MULTI_AXIS, 0, 0, true, true, false, false, false, false, true, true, false, false, false);void setup(){ Joystick.setXAxisRange(lo, salut); Joystick.setYAxisRange(lo, salut); Joystick.setThrottleRange(bas, salut); Joystick.setRudderRange(lo, salut); Joystick.begin(); Serial.begin(9600); pinMode(inputPin, INPUT); }void loop(){ if(pulseIn(inputPin, HIGH) > 3000) { for(int i = 0; i <= channels-1; i++) { channel=pulseIn(inputPin, HIGH); } for(int i = 0; i <= channels-1; i++) { if((channel > 2000) || (channel <500)) { channel = previousValue; } else { channel = (previousValue+channel)/2; compteur++; } } Joystick.setXAxis(canal[0]); Joystick.setYAxis(canal[1]); Joystick.setThrottle(canal[2]); Joystick.setRudder(canal[3]); } if(compteur > filtre) { for(int i = 0; i <= canaux-1; i++) { Serial.print("canal "); Serial.print(i+1); Serial.print(": "); Serial.println(canal); Valeur précédente=canal; } compteur=0; } }
Veuillez noter que le code qui fait le pont entre le signal R/C et le HID USB émulé se présente sous sa forme la plus simple. La fonction utilisée ici – pulseIn – est une fonction de blocage. Lisez ici et ici comment implémenter une approche non bloquante à l'aide d'interruptions.
Étape 4: faire le câblage
Connectez le fil de liaison / les câbles DuPont entre le Bit et le RX. Les connecteurs à l'extrémité de ces câbles doivent être femelles. Nous connectons GND (bleu), VCC (marron) et le signal (orange) du port PPM du RX à GND, VCC et d16 sur l'Arduino.
Étape 5: Liez le récepteur
Débranchez l'Arduino de l'alimentation. Mettez le harnais de fixation dans l'emplacement du connecteur marqué BIND sur le RX. Allumez votre émetteur radio et passez-le en mode affectation. Ensuite, mettez l'Arduino sous tension. Le processus de liaison a réussi lorsque la LED du récepteur s'allume.
Étape 6: Adaptez le code à votre situation
Les constantes hi et lo dans l'esquisse Arduino doivent être modifiées pour refléter la sortie réelle du récepteur que vous utilisez.
#définir lo 800
#définir salut 1600
Les signaux à l'intérieur de l'impulsion PPM vont idéalement de 1000μs à 2000μs. Le RX utilisé dans ce Instructable produit des valeurs approximativement entre 800 et 1600 et est légèrement différent sur chaque canal. Pour connaître la portée de votre récepteur, ouvrez le moniteur série dans l'IDE Arduino pour voir la sortie de votre RX. Cela ressemblera à ceci:
canal 1: 728
canal 2: 729 canal 3: 703 canal 4: 726 canal 1: 1681 canal 2: 1639 canal 3: 1613 canal 4: 1676
Une fois que vous avez une idée plus précise de la plage de sortie de votre RX, choisissez de bonnes approximations pour hi et lo et modifiez les constantes en conséquence. Ensuite, téléchargez à nouveau le croquis sur l'Arduino.
Étape 7: Calibrer le joystick émulé
Connectez l'appareil à votre ordinateur et utilisez la fonction de calibrage de votre système d'exploitation pour calibrer le joystick émulé. Un bon outil pour Linux est jstest-gtk.
Autres améliorations
- Écrivez du code non bloquant (voir étape 3)
- Définir des plages par canal, pas globalement (voir étape 6)
Lectures complémentaires
- Redcon CM703
- PPM
Conseillé:
Hub NMEA/AIS bon marché -- Pont RS232 vers Wifi pour une utilisation à bord : 6 étapes
Hub NMEA/AIS bon marché -- Pont RS232 vers Wifi pour une utilisation à bord : mise à jour du 9 janvier 2021 - Ajout d'une connexion TCP supplémentaire et réutilisation de la dernière connexion si plus de clients se connectentMise à jour du 13 décembre 2020 - Ajout d'une version sans configuration du code pour les bateaux avec des routeurs existantsIntroductionCe NMEA / Le pont AIS RS232 vers WiFi est
Pont Raspberry Pi Ethernet vers Wifi : 7 étapes
Raspberry Pi Ethernet to Wifi Bridge : j'ai un réseau de test de divers Raspberry Pies, appareils et autres ordinateurs et équipements réseau, ils sont tous gérés par un pare-feu/routeur Ubiquity et je veux le connecter à Internet pour pouvoir tirer des mises à jour, des logiciels, etc. Unfortuna
Micrologiciel de commande Flash AT vers module ESP01 (nécessite un adaptateur USB vers TTL): 5 étapes
Micrologiciel de commande Flash AT vers module ESP01 (nécessite un adaptateur USB vers TTL) : par Jay Amiel AjocGensan PHfacebook.com/geeamealyoutube.com/jayamielajoc
Pont simple WiFi vers BLE (Bluetooth Low Energy): 9 étapes (avec photos)
Pont simple WiFi vers BLE (Bluetooth Low Energy) : mise à jour du 4 décembre 2017 : croquis Feather nRF52 révisés et conseils de débogage. Ajout de photos du pont monté dans la boîte. Ce projet simple fournit un accès WiFi à n'importe quel module Bluetooth Low Energy (BLE) qui implémente l'UART de Nordic avec TX Notify. E
Adaptateur 12v vers USB Transformateur 12v vers 5v (idéal pour les voitures): 6 étapes
Adaptateur 12v vers USB Transformateur 12v vers 5v (idéal pour les voitures): Cela vous montrera comment faire un adaptateur 12v vers USB (5v). L'utilisation la plus évidente de ceci est pour les adaptateurs de voiture 12v, mais partout où vous avez du 12v, vous pouvez l'utiliser ! Si vous avez besoin de 5v pour autre chose que l'USB, ignorez simplement les étapes d'ajout des ports USB