Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Manufacturing Technology >> Herstellungsprozess

Realistische Gun-Firing Maus: Solenoid-Vibration & Sound für immersives Gameplay

Komponenten & Materialien

Arduino UNO ×1
Lineare Solenoide 12 VDC ×6
ControlEverything.com Relay Shield (8-Kanal, I²C, 10A) ×1
9V 1A Schaltnetzteil ×1

Projektbeschreibung

Eine gewöhnliche Maus, die beim Klicken (Schuss in Spielen) ein realistisches Rückstoß-Gefühl erzeugt. Sechs Solenoide erzeugen einen kräftigen mechanischen Schlag, synchronisiert mit dem Mausklick-Event.

Funktionsweise

  1. Python-Skript (PC): Überwacht Maus-Events (Klicks), sendet Befehl über USB-Serial an Arduino.
  2. Arduino: Empfängt Serial-Daten, schaltet über Relay-Shield die 12V-Solenoide kurz an (Impuls).
  3. Mechanik: Solenoide im Mausgehäuse so montiert, dass der Hub auf das Gehäuse/Handfläche wirkt.

Software

Arduino Code (Konzept)


#include 
// Relay Shield I2C Adresse laut Doku
#define RELAY_ADDR 0x20

void setup() {
  Serial.begin(115200);
  Wire.begin();
  // Alle Relais aus
  Wire.beginTransmission(RELAY_ADDR);
  Wire.write(0x00); // Register
  Wire.write(0x00); // Alle aus
  Wire.endTransmission();
}

void loop() {
  if (Serial.available()) {
    char cmd = Serial.read();
    if (cmd == 'F') { // Fire command
      // Solenoid 1-6 kurz triggern (z.B. 50ms)
      triggerSolenoids(50);
    }
  }
}

void triggerSolenoids(int durationMs) {
  // Relais 1-6 ein
  Wire.beginTransmission(RELAY_ADDR);
  Wire.write(0x00);
  Wire.write(0x3F); // 0b00111111
  Wire.endTransmission();
  delay(durationMs);
  // Alle aus
  Wire.beginTransmission(RELAY_ADDR);
  Wire.write(0x00);
  Wire.write(0x00);
  Wire.endTransmission();
}

Python PC-Seite (Auszug)


import serial
import mouse  # pip install mouse

ser = serial.Serial('COM3', 115200, timeout=1)

def on_click(event):
    if event.event_type == 'down':
        ser.write(b'F')

mouse.hook(on_click)
# Hauptschleife hält Programm am Leben
import time
while True:
    time.sleep(1)

Schaltplan

Im Artikel enthalten (Bild). Wichtige Punkte:

Mechanischer Einbau

GitHub Repository

Vollständiger Code (Arduino + Python): github.com/J3Patel/mouse_gun_effect

Sicherheitshinweise

Erweiterungen

Fazit

Ein kreatives Haptik-Projekt, das Shooter-Spiele spürbar macht. Die Kombination aus Python-Event-Capture und Arduino-Hardware-Steuerung ist einfach nachzubauen. Für den dauerhaften Einsatz sind Gehäuseverstärkung, kürzere Solenoid-Hübe und kabellose Übertragung empfehlenswert.

Herstellungsprozess

  1. Das NOT-Gatter (Inverter) in TTL-Schaltungen verstehen
  2. Pentoden: Das fünfte Element für verbesserte Röhrenleistung
  3. Thompson-Maschinenpistole: Von der Innovation zur ikonischen Legende
  4. Unterwasserdrohne mit Raspberry Pi bauen: Design, Entwicklung und Montage
  5. DTMF-Decoder mit Arduino bauen – ganz ohne zusätzlichen IC
  6. Wassertropfen-Hochgeschwindigkeitsfotografie mit Arduino Nano – DIY Setup
  7. Giftduino: Das ultimative Arduino-Geschenkset für Bastler & Pädagogen
  8. Erdmassen-Messung mit Arduino: Schritt-für-Schritt DIY-Anleitung
  9. Portal 2 Sentry Gun nachbauen: 3-Achsen-Bewegung, Sound & LEDs mit Arduino
  10. SoundWatch: Smarte Alerts, die Gehörlose & Schwerhörige befähigen