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

IR-Fernbedienung

Komponenten und Verbrauchsmaterialien

WINGONEER New Style Infrarot-IR-Fernbedienungs-Sensormodul-Kits für Arduino
× 1
SainSmart L298N Dual-H-Brücken-Schrittmotortreiber
× 1
4WD-Roboter-Auto-Chassis-Kit
× 1
Arduino UNO
× 1

Notwendige Werkzeuge und Maschinen

Lötkolben (generisch)

Über dieses Projekt

Ich fand das ursprüngliche Design auf Instructables und baute eine Version davon. Das Original war ein Schienenfahrzeug und dieses ist 4WD. Die Anpassung an das ursprüngliche Design erfolgt im Setup der IR. Das ursprüngliche Design litt unter Rückkopplungen, wenn die Motoren liefen, die den IR-Empfänger störten. Die Motoren fungierten als Generatoren, wo sich die Erdungsdrähte trafen. Ich habe die Pins und Zuweisungen für das IR geändert

Bauen Sie die Autobasis gemäß den Anweisungen zusammen, die bei Verwendung des SAINSMART-Rover-Kits bereitgestellt werden. Hier gefunden

IR-Empfänger:

int empfänger_pin =4; // Verbinden Sie den Ausgangspin 4 des Controllers mit dem IR-Empfänger Y

int vcc =5; // Verbinden Sie den Ausgangspin 5 des Controllers mit dem IR-Empfänger V

int gnd =6; // Verbinden Sie den Ausgangspin 4 des Controllers mit dem IR-Empfänger G

L298N Motorantriebsmodul :

// Motor A

int enA =8;

int in1 =12;

int in2 =11;

// Motor B

int enB =7;

int in3 =10;

int in4 =9;

L298N Motorantriebsmodul GND zu Controller GND

L298N Motorantriebsmodul zu Motoren:

//Motorsatz A rechts

Verbinden die "+" (Rote) Seite der Motoren an Out 4

Verbinden Sie die "-" (schwarze) Seite der Motoren mit Out 3

// Motorsatz B linke Seite

Verbinden die "+" (Rote) Seite der Motoren an Out 2

Verbinden Sie die "-" (schwarze) Seite der Motoren mit Out 1

Verbinden Sie den Akku mit dem L298N-Antriebsmodul "+" (Rot) an VCC und "-" (Schwarz) an GND

Vollständiges Diagramm

Code

  • Auto mit IR-Fernbedienung
Auto mit IR-FernbedienungC#
#include char-Befehl;int receiver_pin =4; // Verbinden Sie den Ausgangspin des IR-Empfängers mit Pin 4int vcc =5; // VCC für IR-Sensorint gnd =6; // GND für IR sensorint statusled =13; IRrecv irrecv (receiver_pin); decode_results Ergebnisse; // Motorcontroller-Pins mit Arduino-Digitalpins verbinden // Motor Aint enA =8;int in1 =12;int in2 =11; // Motor Bint enB =7;int in3 =10;int in4 =9;void setup(){Serial.begin(9600);irrecv.enableIRIn();pinMode(statusled,OUTPUT);digitalWrite(statusled,LOW); // set alle Motorsteuerstifte zu den Ausgängen pinMode (enA, OUTPUT); pinMode (enB, AUSGANG); pinMode (in1, AUSGANG); pinMode (in2, AUSGANG); pinMode (in3, AUSGANG); pinMode (in4, AUSGANG); pinMode (vcc, AUSGANG); pinMode (erde, AUSGANG); // Initialisieren des vcc-Pins hoch digitalWrite (vcc, HIGH);}void loop () {if (irrecv.decode(&results)) {digitalWrite(statusled,LOW);irrecv.resume();if (results.value ==0xFF18E7 ) { // Taste 2 Vorwärtsrobotersteuerung eingeben // Diese Funktion lässt die Motoren in beide Richtungen mit einer festen Geschwindigkeit laufen Serial.println ("Taste 2"); // Motor einschalten A digitalWrite (in1, HIGH); digitalWrite (in2, LOW); // Geschwindigkeit auf 200 außerhalb des möglichen Bereichs 0 ~ 255 einstellen analogWrite (enA, 100); // Motor B einschalten DigitalWrite (in3, HIGH); digitalWrite (in4, LOW); // Geschwindigkeit auf 200 außerhalb des möglichen Bereichs 0 ~ 255 einstellen analogWrite (enB, 100);} Sonst if (results.value ==0xFF10EF) { // Taste 4 eingeben, Robotersteuerung nach links drehen // Diese Funktion lässt Motor A laufen Vorwärtsrichtungen Motor B stoppen Serial.println ("Button 4"); // Motor einschalten A digitalWrite (in1, HIGH); digitalWrite (in2, LOW); // Geschwindigkeit auf 200 außerhalb des möglichen Bereichs 0 ~ 255 einstellen analogWrite (enA, 100); // Motor B einschalten DigitalWrite (in3, LOW); digitalWrite (in4, LOW); // Geschwindigkeit auf 200 außerhalb des möglichen Bereichs 0 ~ 255 einstellen analogWrite (enB, 100); } Sonst if (results.value ==0xFF30CF) {// Typ Taste 1 Rotieren der linken Robotersteuerung // Diese Funktion lässt Motor A in Vorwärtsrichtung Motor B in Rückwärtsrichtung laufen Serial.println ("Button Turn Right"); // Motor einschalten A digitalWrite (in1, HIGH); digitalWrite (in2, LOW); // Geschwindigkeit auf 200 außerhalb des möglichen Bereichs 0 ~ 255 einstellen analogWrite (enA, 100); // Motor B einschalten DigitalWrite (in3, LOW); digitalWrite (in4, HIGH); // Geschwindigkeit auf 200 außerhalb des möglichen Bereichs 0 ~ 255 einstellen analogWrite (enB, 100); } Sonst if (results.value ==0xFF5AA5) {// Taste 6 eingeben, Robotersteuerung rechts drehen // Diese Funktion stoppt Motor A und läuft Motor B in Vorwärtsrichtung Serial.println ( "Button Turn Left"); // Motor einschalten A digitalWrite (in1, LOW); digitalWrite (in2, LOW); // Geschwindigkeit auf 200 außerhalb des möglichen Bereichs 0 ~ 255 einstellen analogWrite (enA, 100); // Motor B einschalten DigitalWrite (in3, HIGH); digitalWrite (in4, LOW); // setze die Geschwindigkeit auf 200 außerhalb des möglichen Bereichs 0 ~ 255 analogWrite (enB, 100);} Sonst if (results.value ==0xFF7A85) { // Taste 3 eintippen, rechte Robotersteuerung drehen // diese Funktion lässt Motor A laufen Rückwärtsrichtungen Motor B in Vorwärtsrichtungen // Motor A einschalten DigitalWrite (in1, LOW); digitalWrite (in2, HIGH); // Geschwindigkeit auf 200 außerhalb des möglichen Bereichs 0 ~ 255 einstellen analogWrite (enA, 100); // Motor B einschalten DigitalWrite (in3, HIGH); digitalWrite (in4, LOW); // Geschwindigkeit auf 200 außerhalb des möglichen Bereichs 0 ~ 255 einstellen analogWrite (enB, 100);} else if (results.value ==0xFF4AB5) { // Taste 8 rückwärts Robotersteuerung eingeben // diese Funktion läuft Motor A und Motor B in Rückwärtsrichtung // Motor einschalten A digitalWrite (in1, LOW); digitalWrite (in2, HIGH); // Geschwindigkeit auf 200 außerhalb des möglichen Bereichs 0 ~ 255 einstellen analogWrite (enA, 100); // Motor B einschalten DigitalWrite (in3, LOW); digitalWrite (in4, HIGH); // Geschwindigkeit auf 200 außerhalb des möglichen Bereichs 0 ~ 255 einstellen analogWrite (enB, 100);} sonst if (results.value ==0xFF38C7) { // Taste 5 eingeben Robotersteuerung stoppen // Diese Funktion stoppt sowohl Motor A als auch Motor B // Motor A einschalten DigitalWrite (in1, LOW); digitalWrite (in2, LOW); // Geschwindigkeit auf 200 außerhalb des möglichen Bereichs 0 ~ 255 einstellen analogWrite (enA, 100); // Motor B einschalten DigitalWrite (in3, LOW); digitalWrite (in4, LOW); // Geschwindigkeit auf 200 außerhalb des möglichen Bereichs 0 ~ 255 einstellen analogWrite (enB, 100); }}}

Schaltpläne


Herstellungsprozess

  1. Steuerkreise
  2. C#-Konstruktor
  3. Raspberry Pi Universal-Fernbedienung
  4. Pool-Füllkontrolle
  5. Ferngesteuerter Herzfrequenzmesser
  6. Unerwünschte Infrarot-Fernbedienung zum Herunterfahren und Neustarten des Raspberry Pi wiederverwenden
  7. ICS-Sicherheitsangriff ermöglicht die Fernsteuerung von Gebäuden
  8. Cloud-Überwachung, ein Fernsteuerungssystem
  9. 5 Vorteile der Fernsteuerung der Produktion
  10. Laufkran-Fernbedienung:Alles, was Sie wissen müssen