Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Manufacturing Technology >> Proses manufaktur

Kontrol Elektronik apa pun dengan Remote TV | Tutorial Arduino IR

Dalam Tutorial IR Arduino ini kita akan belajar cara mengontrol perangkat elektronik menggunakan remote TV dan Arduino. Kami akan membuat beberapa contoh mulai dari mengendalikan LED sederhana, kemudian mengendalikan kecepatan Kipas DC, hingga mengendalikan peralatan rumah tangga bertegangan tinggi. Anda dapat menonton video berikut atau membaca tutorial tertulis di bawah ini.

Cara Kerjanya

Kita dapat melihat bahwa LED di depan Remote TV berkedip ketika kita menekan tombol. Sebenarnya kita hanya bisa melihat ini melalui kamera karena ini adalah cahaya inframerah dan tidak terlihat oleh mata manusia.

Jadi kedipan berarti bahwa ketika kita menekan tombol, LED inframerah mengirimkan semburan cahaya atau pulsa yang kita butuhkan untuk menerimanya dengan penerima inframerah.

Dalam tutorial ini kita akan menggunakan Penerima IR V 34838 yang memiliki diagram blok berikut dari mana kita dapat melihat bahwa itu akan memperkuat, menyaring dan mendemodulasi sinyal yang diterima dan memberikan output logika bersih yang dapat diterima untuk input digital Board Arduino.

Kemudian dengan menggunakan Perpustakaan Arduino-IRremote Ken Shirriff dan contoh demonya, kita dapat melihat dari monitor serial kode heksadesimal unik untuk setiap penekanan tombol yang dapat kita gunakan saat membuat program.

Link ke Perpustakaan Arduino-IRremote Ken Shirriff: https://github.com/z3t0/Arduino-IRremote

Mengontrol LED RGB dengan Remote TV


Anda bisa mendapatkan komponen dari salah satu situs di bawah ini:

  • Penerima IR……………………………… 
  • LED RGB……………………………… 
  • Resistor 3x 220 Ohm………….…… 
  • Dewan Arduino …………………………..
  • Breadboard dan Kabel Lompat …….. 

Jadi kita akan mengontrol Warna LED menggunakan 4 tombol berwarna pada Remote TV. Artinya, pertama-tama kita perlu melihat kode heksadesimal untuk masing-masing tombol ini dengan mengunggah contoh IRRecvDemo dan menjalankan Serial Monitor. Kami akan menekan masing-masing tombol ini dan menuliskan kodenya.

Sekarang kita akan memodifikasi kode demo seperti ini dan menambahkan pernyataan if yang akan dieksekusi jika tombol tertentu ditekan. Jadi untuk setiap tombol kita akan mengatur nilai RGB yang sesuai, dan setColor() fungsi akan menyalakan LED dalam warna tertentu. Untuk detail selengkapnya tentang cara kerja LED RGB dengan Arduino, Anda dapat melihat Tutorial RGB Arduino saya.

/*  
 *  Controlling a RGB LED with a TV Remote
 *  
 *  Modified IRrecvDemo example from Ken Shirriff IRremote Library
 *  Ken Shirriff
 *  https://arcfn.com
 *  
 *  Modified by Dejan Nedelkovski,
 *  www.HowToMechatronics.com 
 *  
 */

#include <IRremote.h>

int RECV_PIN = 8; // IR Receiver - Arduino Pin Number 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 the receiver
  pinMode(redPin, OUTPUT);
  pinMode(greenPin, OUTPUT);
  pinMode(bluePin, OUTPUT);  
}
 
void loop() {
  
  if (irrecv.decode(&results)) {   
    
    if (results.value == 0xF21D7D46) { // Red Button
      setColor(255, 0, 0);  // Sets Red Color to the RGB LED
      delay(100);
      }
    if (results.value == 0x87CF1B29) { // Green Button
       setColor(0, 255, 0);  // Green Color
      delay(100);
      }
    if (results.value == 0x6623D37C) { // Yellow Button
      setColor(255, 255, 0);  // Yellow Color
      delay(100);
      }   
    if (results.value == 0x854115F2) { // Blue Button
      setColor(0, 0, 255);  // Blue Color
      delay(100);
      }
     if (results.value == 0x1639AB6E) { // Stop Button
      setColor(0, 0, 0);  // OFF
      delay(100);
      }
      
    irrecv.resume(); // Receive the next value
  }
  delay(100);
}
// Custom made function for activating the RGB LED 
void setColor(int red, int green, int blue)
{
  analogWrite(redPin, red); // Sends PWM signal to the Red pin
  analogWrite(greenPin, green);
  analogWrite(bluePin, blue);  
}Code language: Arduino (arduino)

Berikut skema rangkaian LED RGB yang dikontrol IR Arduino:

Mengontrol kecepatan Kipas DC dengan Remote TV


Komponen yang dibutuhkan untuk contoh ini:

  • Motor DC……………….
  • atau Kipas Angin DC……………….
  • Transistor NPN………
  • Dioda……………………….
  • Kapasitor – 1uF ……..
  • Resistor – 1k Ohm ..

Dalam contoh ini akan mengontrol kecepatan Kipas DC menggunakan tombol maju dan mundur pada Remote TV. Kami akan menggunakan skema rangkaian ini untuk mengontrol kecepatan kipas, atau sebenarnya kami akan mengontrol sinyal PWM menggunakan tombol. Untuk lebih jelasnya bagaimana skema rangkaian ini bekerja, Anda dapat memeriksa Tutorial Motor Arduino saya.

Berikut kode sumber untuk contoh ini. Jadi menggunakan analogWrite() fungsinya kita akan mengirimkan sinyal PWM ke basis transistor. Tombol PLAY akan menghidupkan motor pada kecepatan maksimum, atau duty cycle dari sinyal PWM akan menjadi 100% dan tombol STOP akan menghentikannya. Tombol maju akan meningkatkan kecepatan kipas dengan setiap penekanan dengan meningkatkan siklus kerja sinyal PWM, dan tombol mundur akan menguranginya.

/*  
 *  Controlling a DC Fan Speed with a TV Remote
 *  
 *  Modified IRrecvDemo example from Ken Shirriff IRremote Library
 *  Ken Shirriff
 *  https://arcfn.com
 *  
 *  Modified by Dejan Nedelkovski,
 *  www.HowToMechatronics.com 
 *  
 */
 
#include <IRremote.h>

int RECV_PIN = 8; // IR Receiver - Arduino Pin Number 8
int pwmPin = 7; // Arduino Pin Number 7 to the Base of the Transistor
int pwmValue;

IRrecv irrecv(RECV_PIN);

decode_results results;

 
void setup() {
  Serial.begin(9600);
  irrecv.enableIRIn(); // Start the receiver
  pinMode( pwmPin, OUTPUT);  
  pwmValue = 0; // Starts the program with turned off motor
}
 
void loop() {
  
  if (irrecv.decode(&results)) {   
    
    analogWrite(pwmPin, pwmValue);
  
    if (results.value == 0xAFAF8374) { // PLAY Button
        pwmValue = 255; // 100% Duty Cycle | Max Speed
        }
    if (results.value == 0x98519C65) { // STOP Button
        pwmValue = 0; // 0% Duty Cycke | Turned off
        }
    if (results.value == 0x93F1BA08) { // FORWARD Button
        if(pwmValue <= 245){  
        pwmValue = pwmValue + 10; // Increases the Duty Cycle of the PWM Signal
        delay(20);     
      }   
    }
    if (results.value == 0x71D086FF) { // BACKWARD Button
      if(pwmValue >= 20){
        pwmValue = pwmValue - 10; // Decreases the Duty Cycle of the PWM Signal
        delay(20);    
      }
    }   
  Serial.print(pwmValue);
  Serial.print(" ");
  Serial.println(results.value, HEX);
   
  irrecv.resume(); // Receive the next value
  }
  delay(100);
}
Code language: Arduino (arduino)

Mengontrol Peralatan Rumah Tegangan Tinggi dengan Remote TV


Komponen yang dibutuhkan untuk tutorial ini:

  • Modul Relay 5V……. Amazon / Banggood / AliExpress
  • Kabel, steker, soket

Contoh terakhir adalah mengontrol peralatan rumah tangga bertegangan tinggi menggunakan Remote TV. Untuk itu kita membutuhkan modul relay. Saya akan menggunakan modul relay HL-52S yang memiliki rating 10 A pada 250 dan 125 V AC. Berikut skema rangkaian contoh peralatan rumah tangga tegangan tinggi yang dikontrol IR Arduino. Dengan pin nomor 7 dari Arduino Board, kami akan mengontrol relai yang di dalamnya terdapat soket untuk menghubungkan perangkat elektronik bertegangan tinggi.

Karena kita akan menggunakan TEGANGAN TINGGI, kita harus sangat berhati-hati dan saya memperingatkan Anda di sini bahwa penggunaan yang tidak tepat atau tidak benar dapat mengakibatkan cedera serius atau kematian dan saya tidak bertanggung jawab atas tindakan Anda. Untuk lebih jelasnya cara menggunakan relay dan cara membuat soket untuk mencolokkan perangkat elektronik apa pun, Anda dapat memeriksa Tutorial Relay Arduino saya.

Berikut kode sumber dari contoh ini:

/*  
 *  Controlling High Voltage Home Appliances with a TV Remote
 *  
 *  Modified IRrecvDemo example from Ken Shirriff IRremote Library
 *  Ken Shirriff
 *  https://arcfn.com
 *  
 *  Modified by 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(); // Start the receiver
  pinMode( relayOut, OUTPUT); 
  buttonState = HIGH; // Starts the program with turned off Relay. The relay input works inversly so HIGH state means deactivated relay

}
 
void loop() {
  
  buttonState = digitalRead(relayOut);
        
  if (irrecv.decode(&results)) {   
    
    if (results.value == 0xAFAF8374) { // PLAY Button
        digitalWrite(relayOut, LOW); // Activates the relay
        }
    if (results.value == 0x98519C65) { // STOP Button
        digitalWrite(relayOut, HIGH); // Deactivates the relay
        }   
  
  irrecv.resume(); // Receive the next value
  }
  
  Serial.print(" ");
  Serial.println(results.value, HEX);
   
  
  delay(100);
}Code language: Arduino (arduino)

Proses manufaktur

  1. Kontrol Jarak Jauh Universal menggunakan Arduino, 1Sheeld, dan Android
  2. Kontrol Penerima Koin dengan Arduino
  3. Remote Control TV Bertenaga Baterai dengan Casing Cetakan 3D
  4. Arduino dengan Bluetooth untuk Mengontrol LED!
  5. Arduino Nano:Kontrol 2 Motor Stepper Dengan Joystick
  6. Animasi Mulut Billy Bass Dengan Sumber Audio Apa Pun
  7. ThimbleKrox - Kontrol Mouse dengan Jari Anda
  8. Mengendalikan Kecoa dengan Arduino dengan harga di bawah $30
  9. Kontrol Mobil dengan Arduino Uno dan Bluetooth
  10. 25 kHz 4 Pin Kontrol Kipas PWM dengan Arduino Uno