Steuerung von Servomotoren mit einer Infrarotfernbedienung und Arduino

Steuerung von Servomotoren mit einer Infrarotfernbedienung und Arduino

```html

Steuerung von Servomotoren mit einer Infrarotfernbedienung und Arduino

Dieses Projekt demonstriert, wie man einen Servomotor mit einer Infrarot (IR) Fernbedienung und einem Arduino steuern kann. Diese Einrichtung ermöglicht eine drahtlose Steuerung der Position des Servos, was sie ideal für verschiedene Anwendungen macht.

Fernbedienung
IR-Fernbedienungsempfänger VS1838B Pins
IR-Fernbedienungsempfänger VS1838B Pins

Hier sind einige Projektideen mit diesem Setup:

  • Die Fernverstellung von Schwenk- und Neigewinkel einer Kamera.
  • Die Steuerung der Bewegungen eines Roboterarms.
  • Automatisierung von Fensterjalousien oder Vorhängen.
  • Interaktive Kunstinstallationen schaffen.
  • Bau eines ferngesteuerten Autos oder Fahrzeugs.

Hardware/Komponenten

  • Arduino-Board (z. B. Uno, Nano)
  • Servomotor
  • IR-Fernbedienung (jede Standardfernbedienung funktioniert, aber der Code ist für spezifische Fernbedienungen konfiguriert)
  • IR-Empfängermodul (z. B. TSOP1838)
  • Jumperdrähte
  • Breadboard (optional)

Verdrahtungsanleitung

Der Servomotor hat drei Drähte: Masse (normalerweise braun oder schwarz), Stromversorgung (typischerweise rot) und Signal (häufig orange oder weiß). Der IR-Empfänger hat ebenfalls drei Drähte: Masse, Stromversorgung (VCC) und Signal.

(in Video bei 01:46)

IR_remote_servo_wring

  • Servo-Masse zu Arduino-Masse
  • Servostrom zu Arduino 5V
  • Servo-Signal an Arduino Pin 8 (im Video bei 02:23)
  • IR-Empfänger-Masse zu Arduino-Masse
  • IR-Empfänger VCC zu Arduino 5V
  • IR-Empfänger-Signal zu Arduino Pin 11 (im Video bei 02:38)

Code-Erklärung

Der Code beginnt mit dem Einfügen der notwendigen Bibliotheken für die IR-Kommunikation und die Servosteuerung. (im Video bei 03:16)


#include <IRremote.h>
#include <Servo.h>

Als Nächstes werden wichtige Variablen definiert. Sie müssen diese basierend auf Ihrer spezifischen Konfiguration anpassen. (im Video bei 03:44)


const char type = 'B'; // 'W' for white remote, 'B' for black remote
const boolean PCB = 0;   // 1 if the IR receiver has a PCB, 0 if it's a bare module
const int SERVO_PIN = 8; // The pin connected to the servo's signal wire
int angleStep = 10;      // How many degrees the servo moves per button press
const int ANGLE_CENTRE = 90; // The center/reset position of the servo

(im Video um 05:06)

Der wichtigste Konfigurationsschritt besteht darin, die Tasten der Fernbedienung bestimmten Aktionen zuzuordnen. Der Code umfasst Arrays für verschiedene Fernbedienungstypen (weiß/schwarz, PCB/nicht-PCB) und deren entsprechende Tasten-Codes. Sie müssen die richtigen Codes für Ihre Fernbedienung identifizieren und ihnen die gewünschten Aktionen (rechts, links, Mitte) zuweisen. (im Video bei 05:16)


const String RIGHT = ">"; // Replace with the code for your "right" button
const String LEFT = "<";  // Replace with the code for your "left" button
const String CENTRE = "OK"; // Replace with the code for your "center" button

(im Video um 08:12)

DerservoAction()Die Funktion steuert die Servobewegung basierend auf dem empfangenen IR-Signal. Sie überprüft den empfangenen Befehl und passt den Servo-Winkel entsprechend an. DerangleStepDie Variable steuert die Erhöhung oder Verringerung der Position des Servos. (im Video um 08:06)

Live-Projekt/Demonstration

(in Video um 09:56)

Das Video zeigt, wie man den Servomotor mit verschiedenen Fernbedienungen steuert. Es wird demonstriert, wie man den Code für verschiedene Fernbedienungstypen und Empfängermodule anpasst. Die Demonstration behandelt auch, wie man IR-Codes von eigenen Fernbedienungen aufnimmt und in den Code integriert. (im Video um 12:48)

Kapitel

  • [00:00] Einführung und Projektübersicht
  • [00:36] Komponenten und Materialien
  • [01:46] Verkabelungsanweisungen
  • [03:16] Code-Erklärung
  • [09:56] Projektvorführung
  • [12:48] Verwenden Ihres eigenen Fernbedienung

```

Bilder

IR-Fernbedienungsempfänger VS1838B Pins
IR-Fernbedienungsempfänger VS1838B Pins
SG90_servo_motor-1
SG90_servo_motor-1
remote
remote
IR_remote_servo_wring
IR_remote_servo_wring
139-Source for controlling a servo motor with an IR remote controller using Arduino
Sprache: C++
Kopiert!

Dinge, die Sie vielleicht brauchen

Ressourcen & Referenzen

Noch keine Ressourcen vorhanden.

Dateien📁

Keine Dateien verfügbar.