Steuerung eines DC Motors mit einer IR-Fernbedienung unter Verwendung von Arduino und L293D

Steuerung eines DC Motors mit einer IR-Fernbedienung unter Verwendung von Arduino und L293D

Dieses Projekt zeigt, wie man die Richtung und Geschwindigkeit eines Gleichstrommotors mit einer Infrarotfernbedienung, einem Arduino Uno und einem L293D Motorsteuerchip steuern kann. Diese Anordnung ermöglicht eine präzise Kontrolle des Motors, was sie für eine Vielzahl von Anwendungen geeignet macht.

Dieses Projekt eröffnet eine Welt voller Möglichkeiten für Ihre DIY-Elektronikprojekte. Hier sind einige Ideen, um Ihnen den Einstieg zu erleichtern:

  • Fernbedienter Roboter:Steuern Sie die Bewegung eines kleinen Roboters mit einer IR-Fernbedienung.
  • Automatisches Vorhangsystem:Steuern Sie Vorhänge oder Jalousien aus der Ferne.
  • Interaktive Kunstinstallationen:Erschaffen Sie dynamische Kunstwerke mit beweglichen Teilen, die von einer IR-Fernbedienung gesteuert werden.
  • Schwenk- und Neigesystem:Steuern Sie die Schwenk- und Neigungsbewegung einer Kamera oder eines Sensors mit einer IR-Fernbedienung.

Hardware/Komponenten

  • Arduino Uno
  • L293D Motorsteuer-IC
  • Gleichstrommotor
  • IR-Fernbedienung und Empfänger
  • Dioden (1N4001 x4)
  • Verbindungsdrähte
  • Stromversorgung (z.B. 9V-Batterie für den Motor)

Verdrahtungsanleitung

%%VERKABELUNG%%

(in Video um 02:14)

Der L293D-Chip erfordert Verbindungen sowohl zum Arduino als auch zu einer externen Stromversorgung für den Motor. Dioden werden zum Schutz gegen Rückspannungen verwendet. Der IR-Empfänger wird an die 5V- und GND-Pins des Arduinos angeschlossen, wobei der Signalpin mit dem digitalen Pin 11 verbunden ist (im Code konfigurierbar). Der Motor wird an die Ausgangspins des L293D angeschlossen, die vom Arduino gesteuert werden.

Code-Erklärung

(in Video um 07:30)

Der bereitgestellte Arduino-Code verwendet die IRremote-Bibliothek, um Signale von der IR-Fernbedienung zu decodieren. Die entscheidenden konfigurierbaren Parameter im Code umfassen:


const char type ='B';// W for white, B for black. Must keep single quotes like 'B' or 'W'
const boolean PCB = 0;// if receiver is PCB set to 1, if not set to 0. See video for details

Setzen Sie dietypevariable auf 'W' für eine weiße Fernbedienung oder 'B' für eine schwarze Fernbedienung (im Video um 07:41). DiePCBDie Variable sollte auf 1 gesetzt werden, wenn Ihr IR-Empfänger eine Platine hat, und auf 0, wenn es ein nacktes Modul ist (im Video bei 07:50).


const String RIGHT=">";// move motor to the right (CW) with this key on remote
const String LEFT ="<";// move motor to the left (CCW) with this key on remote
const String STOP ="OK";// stop motor with this key on remote

Diese Zeilen definieren die Bezeichnungen der IR-Fernbedienungstasten zur Steuerung des Motors. Stellen Sie sicher, dass diese mit den Beschriftungen auf Ihrer Fernbedienung übereinstimmen (im Video bei 08:12). Sie können diese anpassen, um andere Tasten auf Ihrer Fernbedienung zu verwenden.


#define P1A 2 // define pin 2 as for P1A
#define P2A 7 // define pin 7 as for P2A
#define EN12 8 // define pin 8 as for 1,2EN enable
int RECV_PIN = 11;

Diese Zeilen definieren die Arduino-Pins, die zur Steuerung des L293D-Motortreibers verwendet werden (im Video bei 09:52).P1AundP2Adie Richtung steuern, undEN12aktiviert den Motor.RECV_PINist der Pin verbunden mit dem Signal-Ausgang des IR-Empfängers (im Video bei 06:52). Ändern Sie diese, wenn Sie andere Pins verwenden.

Live-Projekt/Demonstration

(im Video um 14:15)

Das Video zeigt das Projekt in Aktion und veranschaulicht, wie der Gleichstrommotor auf die IR-Fernbedienungsbefehle reagiert. Die Demonstration zeigt, wie man die Drehung des Motors im Uhrzeigersinn und gegen den Uhrzeigersinn steuert und wie man den Motor mit verschiedenen Fernbedientasten stoppt.

Kapitel

  • [00:00] Einführung und Projektübersicht
  • Projektkomponenten und -voraussetzungen
  • [02:14] Verkabelungserklärung
  • [07:30] Code-Erklärung und Konfiguration
  • [14:15] Projektvorführung mit schwarzem Remote und PCB
  • [16:04] Demonstration mit Silver Remote und PCB
  • [17:42] Demonstration mit Silver Remote und Bare Module
  • Demonstration mit schwarzer Fernbedienung und barem Modul
142-Source for controlling a servo motor with an IR remote controller using Arduino
Sprache: C++
143-Source for a simple L293 motor controller using Arduino
Sprache: C++
Kopiert!

Dateien📁

Keine Dateien verfügbar.