Pada kesempatan yang berbahagia kali ini saya akan menjelaskan mengenai bagaimana cara membuat sebuah robot yang mana robot ini dikendalikan menggunakan remote TV, memang tidak biasanya sebuah robot dikendalikan oleh remote TV, biasanya robot dikendalikan oleh joystik atau komputer menggunakan wireless. Robot ini memiliki satu buah receiver sinyal remote TV yang bernama TSOP. untuk remote TV yang digunakan adalah remote TV Sony. untuk jenis remote selain Sony mungkin harus dikalibrasi ulang kodenya. Robot ini menggunakan Arduino dan motor driver L298N. untuk lebih jelasnya berikut adalah skema dan programnya.
a. Arduino Uno
b. Sensor TSOP
c. Motor Driver L298N
d. Motor DC + Gearbox + Roda
e. Remote TV SONY
f. Led dan Buzzer
g. Program Arduino IDE
#include <IRremote.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27 ,2,1,0,4,5,6,7,3, POSITIVE);
int RECV_PIN = 11;
IRrecv irrecv(RECV_PIN);
decode_results results;
int keki = 6;
int keka = 7;
int motorki1 = 2;
int motorki2 = 3;
int motorka1 = 4;
int motorka2 = 5;
int buzzer=8;
int led1=10;
int led2=12;
int led3=9;
void setup()
{
Serial.begin(9600);
irrecv.enableIRIn(); // Start the receiver
lcd.begin(16,2); //LCD untuk ukuran 16x2
pinMode(keki,OUTPUT);
pinMode(keka,OUTPUT);
pinMode(motorki1,OUTPUT);
pinMode(motorki2,OUTPUT);
pinMode(motorka1,OUTPUT);
pinMode(motorka2,OUTPUT);
analogWrite(keki,255);
analogWrite(keka,255);
pinMode(buzzer,OUTPUT);
pinMode(led1,OUTPUT);
pinMode(led2,OUTPUT);
pinMode(led3,OUTPUT);
}
void loop() {
if (irrecv.decode(&results)) {
Serial.println(results.value);
irrecv.resume(); // Receive the next value
if(results.value == 752){
digitalWrite(motorki1,HIGH);
digitalWrite(motorki2,LOW);
digitalWrite(motorka1,HIGH);
digitalWrite(motorka2,LOW);
}
if(results.value == 4294967295){
digitalWrite(motorki1,LOW);
digitalWrite(motorki2,HIGH);
digitalWrite(motorka1,LOW);
digitalWrite(motorka2,HIGH);
}
if(results.value == 720){
digitalWrite(motorki1,LOW);
digitalWrite(motorki2,LOW);
digitalWrite(motorka1,HIGH);
digitalWrite(motorka2,LOW);
}
if(results.value == 3280){
digitalWrite(motorki1,HIGH);
digitalWrite(motorki2,LOW);
digitalWrite(motorka1,LOW);
digitalWrite(motorka2,LOW);
}
if(results.value == 2672){
digitalWrite(motorki1,LOW);
digitalWrite(motorki2,LOW);
digitalWrite(motorka1,LOW);
digitalWrite(motorka2,LOW);
}
if(results.value == 16){
digitalWrite(buzzer,LOW);
}
if(results.value == 3088){
digitalWrite(led1,HIGH);
}
if(results.value == 1552){
digitalWrite(led2,HIGH);
}
if(results.value == 2960){
digitalWrite(led3,HIGH);
}
if(results.value == 2064){
digitalWrite(buzzer,HIGH);
}
if(results.value == 528){
digitalWrite(led1,LOW);
}
if(results.value == 3600){
digitalWrite(led2,LOW);
}
if(results.value == 2320){
digitalWrite(led3,LOW);
}
}
}
h. VIDEO HASILNYA
No comments:
Post a Comment