Tentang proyek ini
Dengan proyek Arduino sederhana ini Anda dapat memberi makan hewan peliharaan Anda menggunakan remote control. Yang Anda butuhkan hanyalah papan Arduino Uno (atau sejenisnya), botol plastik, motor servo (tidak harus terlalu bertenaga), remote TV, penerima IR (TS0P1738), dan selembar karton kecil.
Mari kita mulai!
Memasang Pustaka IR:
Hal pertama yang perlu kita lakukan untuk berhubungan dengan arduino adalah mendownload library IR.
Unduh perpustakaan IR dari tautan di bawah dan instal:https://github.com/z3t0/Arduino-IRremote
Jika Anda tidak tahu cara menginstal perpustakaan, ikuti tautan di bawah ini:https://www.arduino.cc/en/guide/libraries
Decoding Sinyal IR:
Pertama, Anda perlu menghubungkan bagian-bagian sesuai diagram sirkuit yang diberikan:
Anda dapat checkout Pin dari TSOP1738 di bawah ini:
Gunakan kode berikut untuk memecahkan kode jarak jauh IR:
/*Pin sensor IR terpasang ke Arduino sebagai berikut:Pin 1 ke Vout (pin 11 di Arduino)Pin 2 ke GNDPin 3 ke Vcc (+5v dari Arduino)*/#include int IRpin =11;IRrecv irrecv(IRpin);hasil decode_results;void setup(){ Serial.begin(9600); irrecv.enableIRIn(); // Mulai penerima}void loop() { if (irrecv.decode(&results)) { Serial.println(results.value, DEC); // Cetak Serial 'results.value' irrecv.resume(); // Terima nilai berikutnya }}
- Buka Arduino IDE dan Unggah kode
- Arahkan remote ke sensor dan tekan setiap tombol
- Anda dapat melihat nomor yang berbeda untuk setiap tombol
Pertimbangkan dua tombol mana saja, dan catat nilai yang didekodekan. Dalam kasus saya, saya telah memilih tombol Daya dan tombol Mode.
Saya mendapatkan nilai berikut:
Kami akan menggunakan dua nilai ini untuk mengontrol putaran motor servo. Anda perlu menambahkan dua nilai ini dalam program yang diberikan pada langkah berikutnya:
Mari siapkan perangkat keras terakhir!
Sirkuit Terakhir!
- Hubungkan pin sinyal servo ke pin#9 pada arduino
- hubungkan pin VCC dan GND servo ke 5V VCC dan GND pada arduino
- Servo akan direkatkan ke salah satu ujung botol plastik, dan memutar selembar karton yang cukup kecil untuk menutup lubang botol sehingga makanan terhalang.
- Jika semua pengaturan perangkat keras terhubung dengan benar, Anda cukup mengompilasi dan mengunggah sketsa berikut ke papan.
#include #include int IRpin =11; // pin untuk sensor IRIRrecv irrecv(IRpin);hasil decode_results;Servo myservo;void setup(){ Serial.begin(9600); irrecv.enableIRIn(); // Mulai penerima myservo.attach(9); // pasang servo pada pin 9 ke objek servo}void loop() { if (irrecv.decode(&results)) { irrecv.resume(); // Terima nilai selanjutnya } if (results.value ==33441975) // ubah sesuai dengan nomor tombol remote IR Anda { myservo.write(0); penundaan (15); } if (results.value ==33446055) // ubah sesuai dengan nomor tombol remote IR Anda { myservo.write(30); penundaan (15); }}
Sekarang Anda dapat mengontrol pembukaan dispenser pengumpan hewan peliharaan Anda dengan remote control dengan proyek sederhana ini. :-)
Selamat membuat! Kode
- Decode_IR
- IRremote_Servo_Control
Decode_IRArduino
Gunakan kode ini untuk memecahkan kode jarak jauh IR/* Pin sensor IR terpasang ke Arduino sebagai berikut:Pin 1 ke Vout (pin 11 di Arduino) Pin 2 ke GND Pin 3 ke Vcc (+5v dari Arduino)*/# sertakan int IRpin =11;IRrecv irrecv(IRpin);hasil decode_results;void setup(){ Serial.begin(9600); irrecv.enableIRIn(); // Mulai penerima}void loop() { if (irrecv.decode(&results)) { Serial.println(results.value, DEC); // Cetak Serial 'results.value' irrecv.resume(); // Terima nilai berikutnya } }
IRremote_Servo_ControlArduino
Tambahkan nilai decode dari remote Anda dalam kode ini#include #include int IRpin =11; // pin untuk sensor IRIRrecv irrecv(IRpin);hasil decode_results;Servo myservo;void setup(){ Serial.begin(9600); irrecv.enableIRIn(); // Mulai penerima myservo.attach(9); // menempelkan servo pada pin 9 ke objek servo }void loop() { if (irrecv.decode(&results)) { irrecv.resume(); // Terima nilai selanjutnya } if (results.value ==33441975) // ubah sesuai dengan nomor tombol remote IR Anda { myservo.write(0); penundaan (15); } if (results.value ==33446055) // ubah sesuai dengan nomor tombol remote IR Anda { myservo.write(30); penundaan (15); } }
Skema