Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Manufacturing Technology >> Productieproces

Elk Apparaat Besturen met Je TV Afstandsbediening via Arduino IR – Stap-voor-Stap Tutorial

In deze Arduino IR tutorial leer je hoe je elektronische apparaten kunt besturen met een TV afstandsbediening en een Arduino. We maken enkele voorbeelden: van een simpele LED, over een DC ventilator snelheidsregeling, tot het besturen van hoogspannings huishoudelijke apparaten. Bekijk de video of lees de tutorial hieronder.

Hoe Het Werkt

We kunnen zien dat de LED voor de TV afstandsbediening knippert wanneer we op een knop drukken. Dit is alleen zichtbaar door een camera, want het is infrarood licht, onzichtbaar voor het menselijk oog.

Elk Apparaat Besturen met Je TV Afstandsbediening via Arduino IR – Stap-voor-Stap Tutorial

Het knipperen betekent dat bij een knopdruk de IR LED een burst van lichtpulsen uitzendt die we met een infrarood ontvanger moeten ontvangen.

Elk Apparaat Besturen met Je TV Afstandsbediening via Arduino IR – Stap-voor-Stap Tutorial

In deze tutorial gebruiken we de VS 34838 IR Ontvanger. Het blokdiagram toont dat hij het ontvangen signaal versterkt, filtert en demoduleert, en een schone logische uitgang geeft die geschikt is voor de digitale input van de Arduino.

Elk Apparaat Besturen met Je TV Afstandsbediening via Arduino IR – Stap-voor-Stap Tutorial

Met de Arduino-IRremote bibliotheek van Ken Shirriff en het demo-voorbeeld zien we op de seriële monitor een unieke hexadecimale code voor elke knopdruk, die we in ons programma kunnen gebruiken.

Elk Apparaat Besturen met Je TV Afstandsbediening via Arduino IR – Stap-voor-Stap Tutorial

Link naar Ken Shirriff's Arduino-IRremote Library: https://github.com/z3t0/Arduino-IRremote

Een RGB LED Besturen met een TV Afstandsbediening


Je kunt de componenten verkrijgen via:

  • IR Ontvanger
  • RGB LED
  • 3x 220 Ohm weerstanden
  • Arduino Board
  • Breadboard en Jumper Draden

We besturen de LED-kleur met de 4 kleurenknoppen van de TV afstandsbediening. Eerst moeten we de hexadecimale codes van deze knoppen achterhalen door het IRrecvDemo voorbeeld te uploaden en de Seriële Monitor te draaien. We drukken op elke knop en noteeren de codes.

Elk Apparaat Besturen met Je TV Afstandsbediening via Arduino IR – Stap-voor-Stap Tutorial

Nu passen we de democode aan met if-statements die uitgevoerd worden bij een specifieke knopdruk. Voor elke knop stellen we de juiste RGB waarden in, en de setColor() functie laat de LED in die kleur branden. Voor meer details over RGB LED met Arduino, zie mijn Arduino RGB Tutorial.

/*
 * Een RGB LED besturen met een TV afstandsbediening
 * Gewijzigd IRrecvDemo voorbeeld uit Ken Shirriff IRremote Library
 * Ken Shirriff, https://arcfn.com
 * Gewijzigd door Dejan Nedelkovski, www.HowToMechatronics.com
 */
#include <IRremote.h>
int RECV_PIN = 8; // IR Ontvanger - Arduino Pin 8
IRrecv irrecv(RECV_PIN);
decode_results results;
int redPin = 5; int greenPin = 6; int bluePin = 7;

void setup() {
  Serial.begin(9600);
  irrecv.enableIRIn(); // Start de ontvanger
  pinMode(redPin, OUTPUT);
  pinMode(greenPin, OUTPUT);
  pinMode(bluePin, OUTPUT);
}

void loop() {
  if (irrecv.decode(&results)) {
    if (results.value == 0xF21D7D46) { // Rode knop
      setColor(255, 0, 0); delay(100);
    }
    if (results.value == 0x87CF1B29) { // Groene knop
      setColor(0, 255, 0); delay(100);
    }
    if (results.value == 0x6623D37C) { // Gele knop
      setColor(255, 255, 0); delay(100);
    }
    if (results.value == 0x854115F2) { // Blauwe knop
      setColor(0, 0, 255); delay(100);
    }
    if (results.value == 0x1639AB6E) { // Stop knop
      setColor(0, 0, 0); // UIT
      delay(100);
    }
    irrecv.resume(); // Ontvang volgende waarde
  }
  delay(100);
}

// Aangepaste functie voor RGB LED aansturing
void setColor(int red, int green, int blue) {
  analogWrite(redPin, red);
  analogWrite(greenPin, green);
  analogWrite(bluePin, blue);
}

Hier is het schakelschema van de Arduino IR gestuurde RGB LED:

Elk Apparaat Besturen met Je TV Afstandsbediening via Arduino IR – Stap-voor-Stap Tutorial

Een DC Ventilator Snelheid Besturen met een TV Afstandsbediening


Componenten voor dit voorbeeld:

  • DC Motor of DC Ventilator
  • NPN Transistor
  • Diode
  • Condensator – 1uF
  • Weerstand – 1k Ohm

In dit voorbeeld besturen we de snelheid van een DC ventilator met de vooruit en achteruit knoppen van de TV afstandsbediening. We gebruiken dit schakelschema om de motordraaisnelheid te regelen via PWM. Voor meer details over dit schema, zie mijn Arduino Motoren Tutorial.

Elk Apparaat Besturen met Je TV Afstandsbediening via Arduino IR – Stap-voor-Stap Tutorial

Hier is de broncode. Met analogWrite() sturen we een PWM signaal naar de basis van de transistor. De PLAY knop start de motor op maximale snelheid (100% duty cycle), STOP stopt hem. De vooruit knop verhoogt de snelheid met elke druk (duty cycle +10), de achteruit knop verlaagt het.

/*
 * DC Ventilator Snelheid Besturen met TV Afstandsbediening
 * Gewijzigd IRrecvDemo uit Ken Shirriff IRremote Library
 * Ken Shirriff, https://arcfn.com
 * Gewijzigd door Dejan Nedelkovski, www.HowToMechatronics.com
 */
#include <IRremote.h>
int RECV_PIN = 8;
int pwmPin = 7; // Arduino Pin 7 naar basis transistor
int pwmValue;
IRrecv irrecv(RECV_PIN);
decode_results results;

void setup() {
  Serial.begin(9600);
  irrecv.enableIRIn();
  pinMode(pwmPin, OUTPUT);
  pwmValue = 0; // Start met motor uit
}

void loop() {
  if (irrecv.decode(&results)) {
    analogWrite(pwmPin, pwmValue);
    if (results.value == 0xAFAF8374) { // PLAY knop
      pwmValue = 255; // 100% Duty Cycle | Max Snelheid
    }
    if (results.value == 0x98519C65) { // STOP knop
      pwmValue = 0; // 0% Duty Cycle | Uit
    }
    if (results.value == 0x93F1BA08) { // VOORUIT knop
      if(pwmValue <= 245){ pwmValue += 10; delay(20); }
    }
    if (results.value == 0x71D086FF) { // ACHTERUIT knop
      if(pwmValue >= 20){ pwmValue -= 10; delay(20); }
    }
    Serial.print(pwmValue); Serial.print(" "); Serial.println(results.value, HEX);
    irrecv.resume();
  }
  delay(100);
}

Hoogspannings Huishoudelijke Apparaten Besturen met een TV Afstandsbediening


Benodigde componenten:

  • 5V Relais Module Amazon / Banggood / AliExpress
  • Kabel, stekker, stopcontact

Het laatste voorbeeld: hoogspanningsapparaten besturen met de TV afstandsbediening. Hiervoor gebruiken we een relaismodule. Ik gebruik de HL-52S relaismodule met een schakelvermogen van 10A bij 250 en 125 V AC. Hier is het schakelschema. Met pin 7 van de Arduino besturen we het relais waarop een stopcontact zit voor het aansluiten van elk hoogspanningsapparaat.

Elk Apparaat Besturen met Je TV Afstandsbediening via Arduino IR – Stap-voor-Stap Tutorial

WAARSCHUWING: We werken met HOOGSPANNING. Onjuist gebruik kan leidern tot ernstige letsel of dood. Wees uitermate voorzichtig; ik aanvaard geen verantwoordelijkheid voor jouw acties. Voor meer details over het relais en het maken van een stopcontact, zie mijn Arduino Relais Tutorial.

Elk Apparaat Besturen met Je TV Afstandsbediening via Arduino IR – Stap-voor-Stap Tutorial

Hier is de broncode van dit voorbeeld:

/*
 * Hoogspannings Huishoudelijke Apparaten Besturen met TV Afstandsbediening
 * Gewijzigd IRrecvDemo uit Ken Shirriff IRremote Library
 * Ken Shirriff, https://arcfn.com
 * Gewijzigd door Dejan, www.HowToMechatronics.com
 */
#include <IRremote.h>
int RECV_PIN = 8;
int relayOut = 7;
int buttonState;
IRrecv irrecv(RECV_PIN);
decode_results results;

void setup() {
  Serial.begin(9600);
  irrecv.enableIRIn();
  pinMode(relayOut, OUTPUT);
  buttonState = HIGH; // Start met relais UIT. Relais input werkt invers: HOOG = gedeactiveerd
}

void loop() {
  buttonState = digitalRead(relayOut);
  if (irrecv.decode(&results)) {
    if (results.value == 0xAFAF8374) { // PLAY knop
      digitalWrite(relayOut, LOW); // Activeert relais
    }
    if (results.value == 0x98519C65) { // STOP knop
      digitalWrite(relayOut, HIGH); // Deactiveert relais
    }
    irrecv.resume();
  }
  Serial.print(" "); Serial.println(results.value, HEX);
  delay(100);
}

Productieproces

  1. Universele Android-afstandsbediening bouwen met Arduino, 1Sheeld en IR-besturing
  2. Slimme spaarpot bouwen: Muntenacceptor besturen met Arduino Nano
  3. Zelfgemaakte Arduino TV-afstandsbediening – Batterij, 3D-geprinte behuizing
  4. Een LED bedienen via Bluetooth met Arduino – Eenvoudige DIY Handleiding
  5. Twee Stappenmotors Sturen met Arduino Nano & Joystick – Simpele Tutorial
  6. Je Billy Bass Vis Laten Zingen met Elke Audiobron – Stapsgewijze Handleiding
  7. ThimbleKrox: Vingergemonteerde Muizenbesturing met Arduino Micro & MPU-6050
  8. DIY Arduino Kakerlakbesturingssysteem – Bouw voor minder dan $30
  9. Arduino Uno & Bluetooth voor afstandsbediening van auto: stap-voor-stap handleiding
  10. Arduino robotarm besturen via speciale Android-app
  11. 25 kHz 4-pins PWM-ventilatorbesturing met Arduino Uno – Bouw, Code & Test