Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Processus de fabrication

Construisez une molette de trim d'élévateur compacte pour FlightGear avec Arduino Nano

Composants et fournitures

ComposantQuantitéNotes
Arduino Nano R3 (ou compatible)1Lecture potentiomètre + affichage
Potentiomètre rotatif (10 kΩ typique)1Commande analogique
Condensateur 100 µF1Filtrage alimentation
Écran OLED SSD1306 0,96″ I2C (128×64)1Affichage jauge trim
Fils de connexion1 lotCâblage

Applications et services

À propos du projet

Objectif : créer une **molette de trim physique** (commande analogique) pour contrôler le trim d'élévateur dans FlightGear, à moindre coût et encombrement minimal. La liaison Arduino → FlightGear ne peut se faire directement en série ; un script Python intercepte les données série et les envoie par **UDP** via le protocole générique de FlightGear.

Qu'est-ce qu'une molette de trim ?

Dispositif analogique qui règle la déviation de l'onglet de trim (trim tab), surface aérodynamique maintenant une surface de commande (ici l'élévateur, contrôlant le tangage) en position sans effort du pilote.

Prérequis logiciels

Python avec bibliothèques serial (pyserial), socket, sys. Via Anaconda :

conda install -c anaconda pyserial

(socket et sys sont standards).

Trois scripts

  1. Arduino sketch (arduinoElevatorTrimOLED.ino) – À téléverser sur le Nano. Utilise la bibliothèque U8glib. Ajustez la ligne 2 selon votre écran OLED.
  2. Script Python (arduinoElevatorTrim.py) – Passerelle série → UDP. Modifiez le port série (ex: COM4 Windows, /dev/ttyUSB0 Linux) et l'adresse/port UDP (localhost:21567).
  3. Fichier XML (arduinoElevatorTrim.xml) – Protocole générique FlightGear. À placer dans <FlightGearRoot>/data/protocol/ une seule fois.

Code Arduino – Points clés

#include 
U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE|U8G_I2C_OPT_DEV_0);

int const potPin = A6;
float potVal;
int p, w, m; // p=lecture brute, w=trim -100..100, m=aiguille 0..90

void loop() {
  potVal = analogRead(potPin);
  potVal = (potVal - 512.0) / 512.0; // centré sur 0
  Serial.print(potVal); Serial.print("\n");

  p = analogRead(potPin);
  w = map(p, 0, 1023, 100, -100); // valeur trim envoyée
  m = map(p, 0, 1023, 90, 0);     // angle aiguille affichage

  // Affichage OLED (jauge circulaire + valeur numérique)
  u8g.firstPage();
  do { gauge(m); } while (u8g.nextPage());
  delay(10);
}

Pour inverser le sens de rotation, échangez les bornes min/max dans les map().

Script Python – Points clés

host = "localhost"
port = 21567
addr = (host, port)
UDPSock = socket(AF_INET, SOCK_DGRAM)
tty = "COM4"  # adapter selon votre OS

ser = serial.Serial(tty, 9600)
prevline = ""
while 1:
    line = ser.readline()
    if line != prevline:
        print(line)
        UDPSock.sendto(line, addr)
        prevline = line

Important : fermez le moniteur série Arduino avant de lancer le script Python, sinon le port est occupé.

Fichier XML (protocole FlightGear)



  
    
      \n
      ,
      
        Elevator trim
        /controls/flight/elevator-trim
        float
      
    
  

Lancement

  1. Téléversez le sketch sur le Nano.
  2. Placez arduinoElevatorTrim.xml dans data/protocol/ de FlightGear.
  3. Lancez le script Python : python arduinoElevatorTrim.py
  4. Démarrez FlightGear avec l'argument :
    --generic=socket,in,30,localhost,21567,udp,arduinoElevatorTrim

Dépôt GitHub : github.com/dciliberti/arduinoElevatorTrimOLED

Processus de fabrication

  1. Dé numérique Arduino sur écran LCD 16x2 – Générateur aléatoire à bouton poussoir
  2. Construire un Iron Man animé avec Arduino : capteurs, sons et relais
  3. Horloge à persistance rétinienne (POV) style analogique — Arduino Nano 17 LEDs
  4. Find Me : Localisateur d'objets intelligent avec Arduino et Bluetooth
  5. Construire un bras robotique 3D fonctionnel piloté par Arduino – Guide pas à pas
  6. Contrôleur d'humidificateur DIY avec Arduino et relais – Installation haute tension sécurisée
  7. Jeu Pong sur Matrice NeoPixel avec Arduino Nano
  8. Volant Joystick Arduino Personnalisé pour Jeux Vidéo
  9. Construisez un récepteur FM performant avec Arduino et module TEA5767