Televizyon Kumandası ile Bilgisayar Oyunu Trolleme
Herkese merhaba!
Oyun oynarken küfür eden sevdiğiniz birisi mi var? (ya da sevmediğiniz) ona cezaların en güzelini kesmeye hazır olun. O çıldırırken siz eğlenin. Kim bilir belki hatasını da fark eder biraz kendine çeki düzen verir 🙂 Bu videoda kardeşime yaptığım şakayı izleyeceksiniz. İyi seyirler 🙂
Eğer siz de aynı projeyi yapmak isterseniz bu içeriği okumaya devam edebilirsiniz. Kolay gelsin 🙂
Bu projeyi yapmak için ilk önce Arduino Pro Micro ve IR Uzaktan Kumanda – Alıcı Kit’e ihtiyacımız var.
Satın almak için:
Arduino Pro Micro Klon
IR Uzaktan Kumanda ve Alıcı Kit
Not: Arduino Pro Micro, headerları ile lehimli gelmediği için videoda da gösterdiğimiz üzere sizin lehimlemeniz gerekiyor.
Projenin anlatımına geçmeden şunu belirtmek istiyorum, Arduino’ya kod yükleyebilecek seviyede Arduino bildiğinizi düşünerek devam edeceğim.
Eğer henüz o seviyede değilseniz, Arduino Nasıl İndirilir? Nasıl Yüklenir? Kod Yükleme? konusuna göz atabilirsiniz. Arduino’muz Pro Micro olduğu için Araçlar -> Kart ekranından Arduino Pro Micro’yi seçmelisiniz.
KÜTÜPHANE
Bu projede ihtiyacınız olacak diğer bir konu ise kütüphane kurulumu. Ona da Arduino’da Kütüphane Kurulumu konusundan göz atabilirsiniz.
MALZEMELER
Bu içerik için gerekli olan tüm malzemeleri www.robo90.com üzerinden güvenle satın alabilirsiniz.
- Arduino Pro Micro Klon 5V 16 Mhz
- IR Alıcı Verici Kumanda Seti – Arduino Uyumlu
- Elektronik Breadboard – Büyük Boy – 830 Pin
- Jumper Kablo
DEVRE ŞEMASI
KOD
İlk önce kendi kumandanızın tuş kodlarını kalibre etmek için aşağıdaki kodu çalıştırmalısınız. Kumandanızın tuşlarının hex kodlarını belirledikten sonra ise her defasında hex kodlarıyla uğraşmamak için sabit bir isme define edebilirsiniz.
Aşağıdaki kodun buton defineları bizim kumandamıza göre yapıldı, karşılarındaki hex kodlarını kendi kumandanıza göre güncellemelisiniz.
#include <IRremote.h>
IRrecv irrecv(6);
decode_results results;
#define BUTON1 0xFF6897
#define BUTON2 0xFF9867
#define BUTON3 0xFFB04F
#define BUTON4 0xFF30CF
#define BUTON5 0xFF18E7
#define BUTON6 0xFF7A85
#define BUTON7 0xFF10EF
#define BUTON8 0xFF38C7
#define BUTON9 0xFF5AA5
#define YILDIZ 0xFF42BD
#define BUTON0 0xFF4AB5
#define KARE 0xFF52AD
#define YUKARI 0xFF629D
#define SOL 0xFF22DD
#define OK 0xFF02FD
#define SAG 0xFFC23D
#define ASAGI 0xFFA857
#include <Keyboard.h>
void setup()
{
Serial.begin(9600);
irrecv.enableIRIn(); //Receiver'i baslatir
pinMode(13, OUTPUT);
digitalWrite(13, LOW);
Keyboard.begin();
}
void loop()
{
if (irrecv.decode(&results))
{
Serial.println(results.value, HEX);
irrecv.resume();
}
}
Aşağıdaki ekran görüntüsünde de görebileceğiniz gibi, ben kodu yükledikten sonra, Seri monitörü açıp, kumanda üzerindeki tuşlara bastıkça ekrana bastığım tuşun hex kodu geliyor. Sizin kumandanız buradan farklı değerler verebilir. Daha kısa ya da daha uzun kodlar gelebilir sorun yok. Yapmanız gereken o tuşun karşılığı olan kodu, Arduino içine yükleyeceğimiz yazılımdaki #define ile belirtilmiş kısma koymak.
Kendi amacınıza göre kodu düzenlemek için; hangi butona basıldığında ne yapmasını/hangi karakteri göndermesini istediğinizi (yapacağınız troll düzeyine göre :D) yazmanız yeterli olacaktır. Örnek vermek gerekirse;
if (results.value == BUTON1)
{
Keyboard.write("g");
}
şekilde BUTON1 olarak define ettiğiniz tuşa basıldığında g karakterini yollayacak. Eğer CS:GO’da maç esnasında basarsanız silahı yere atmakla sonuçlanacak 😀
Ya da aşağıdaki if bloğu gibi düzenleyerek League of Legends oynarken ulti veya sıçra attırmak için kullanabilirsiniz.
if (results.value == BUTON1)
{
Keyboard.write("r");
}
else if (results.value == BUTON2)
{
Keyboard.write("f"); //Bu arada flash f'de kullanılır :D
}
Key isimleri, Hex değerleri ve Decimal değerlerini içeren tablo için: https://www.arduino.cc/en/Reference/KeyboardModifiers
Bir tuşa basıp elinizi çekmezseniz, ilk önce butonun değerini yazıp ardından da FFFFFFFF çıktısını verecektir.
Kumandadan tuşa bastığımızda gönderilecek değer için write, print ve press olmak üzere üç seçeneğimiz var. Aslında print ve write’ı aynı işlem için sayabiliriz. Keyboard.press fonksiyonuna, “alt+f4” veya “ctrl+alt+delete” gibi tuş kombinasyonlarında ihtiyacımız var.
Örnek vermek gerekirse, Keyboard.press(KEY_LEFT_ALT) ile parametre olarak yolladığımız “KEY_LEFT_ALT” karakterine basılı tutmuş oluyoruz. Ta ki, Keyboard.Release(KEY_LEFT_ALT) fonksiyonu ile KEY_LEFT_ALT karakterini bırakarak veya Keyboard.ReleaseAll() ile bütün Keyboard.press() fonksiyonlarını bırakarak.
Keyboard.print(“Hello”) fonksiyonuna parametre olarak, gördüğümüz gibi karakter veya karakterler; bir başka deyişle okunabilir ASCII metin yazabiliyoruz.
Keyboard.write() fonksiyonuna parametre olarak;
Keyboard.write(65) karakterlerin ASCII değerlerini,
Keyboard.write(‘A’) karakterleri,
Keyboard.write(0x41) başında 0x olmak kaydıyla hex kodlarını veya
Keyboard.write(0b01000001) başında 0b olmak kaydıyla binary değer yazabiliyoruz.
Aşağıdaki kod bloğundaki gibi Switch – Case kullanarak da yapabilirsiniz.
*Eğer Arduino’da Switch Case yapısının anlatıldığı videoyu izlemek isterseniz. Arduino Tarifleri #14 – Switch Case Yapısı
switch (results.value){
case 0xFF6897: //button 1'e basıldığında
Keyboard.write("g");
break;
case 0xFF9867: //button 2'ye basıldığında
Keyboard.write("d");
break;
case 0xFFB04F: //button 3'e basıldığında
Keyboard.write("f");
break;
}
irrecv.resume(); // Receives the next value from the button you press
}
Paylaştığımız diğer içeriklere göz atmak için:
https://lezzetlirobottarifleri.com/yazilar/
Arduino Projeleri:
https://lezzetlirobottarifleri.com/kategori/arduino-projeleri/
Canlı Yayın’da Sıfırdan PCB Yapmak:
https://lezzetlirobottarifleri.com/kategori/canli-yayin/
Etiketler
23 Yorum
Bir yanıt yazın Yanıtı iptal et
Daha fazla sonuç göster
Proje çok güzel olmuş. Eline sağlık. Kullandığın krem lehim nedir ve nereden temin ediyorsun? Bu sıvılıkta krem lehim bulamıyorum.
Abi merhaba Arduino Micro ile yapıyorum ama şu hatayı alıyorum “Sketch uses 11374 bytes (39%) of program storage space. Maximum is 28672 bytes.
Global variables use 454 bytes (17%) of dynamic memory, leaving 2106 bytes for local variables. Maximum is 2560 bytes.
avrdude: ser_open(): can’t open device “\\.\COM3″: Semafor zaman a��m� s�resi ge�ildi.
Failed uploading: uploading error: exit status 1” sebep ne olabilir lütfen yardım edin bugün çarşamba ve projeyi cumaya kadar bitirmeliyim
Ömer abi merhaba biliyorum proje üzerinden uzun zaman geçmiş ama sorunu düzeltemediğim için sormak istedim kodlar çalışıyor ve seri port ekranında gösteriyor ama if (results.value == BUTON1)
{
Keyboard.write(“g”);
} komutunu girdiğimde hata veriyor nereye yazdığımla bir alakası varmı.
Abi hatamı yeni Fark ettim ben pro micro yerine unoyla denedim ama onun kendisini klavye gibi tanıtamadığını unuttum
C:\Users\Casper\AppData\Local\Temp\.arduinoIDE-unsaved2023031-8992-6jbfvz.m3cal\sketch_jan31d\sketch_jan31d.ino:1:10: fatal error: IRremote.h: No such file or directory
#include
^~~~~~~~~~~~
compilation terminated.
exit status 1
Compilation error: IRremote.h: No such file or directory BU HATAYI VERİYOR NE YAPMALIYIM
Windows L yapmak için Ne kodun kullamam gerekiyor
Arduino pro microyu bağladım usb aygıtı tanınmadı hatası veriyor denemediğim driver kalmadı başka bilgisayarda da aynı hatayı veriyor yine de çözemedim acaba böyle bir sorun ile karşılaşan oldu mu?
SAYİ SİSTEMİNDEMİ HATA YAPIYORUM TUŞLARA BASTIĞIMDA / – ÇIKIYOR LOOP TA DOĞRU KISMA KOYAMADIM GALİBA YARDIM EDEBİLİRMİSİNİZ ?
Selamlar,
Videodaki kartin tasarim videosu ne zamana gelecek belli oldu mu?
Ben sayenizde micro ile yaptim, sorunsuz calistirabildim ama tabi usb bellek gibi görünecek olursa bit tipte cok daha iyi olur 🙂
Ömer abi anlatmişsin güzel olarak ama senden birşey rica etsem mesela ctrl+c yapmak için nasıl bir kod yazmak gerekiyor acaba örnek olarak yazar misin ?
Keyboard.press(KEY_LEFT_CTRL);
Keyboard.press(‘c’);
delay(100);
Keyboard.releaseAll(); //bu kod şu an basılı tuttuğun tuşların hepsini bırakmak için.
kart olarak ne seçeceğiz
arduino pro micro
https://urun.n11.com/arduino-urunleri-ve-setleri/arduino-pro-micro-klon-5v-16mhz-P465654737?gclsrc=aw.ds&&gclid=CjwKCAiAmrOBBhA0EiwArn3mfMI7lZaG1BZWJdampehRYhuSKgXhl3u5l4UxXug-zkrKltRUL3XSZBoCe0AQAvD_BwE
Fikir süper yalnız 🙂 Çok yaratıcı bir çalışma.
abi kodu kontrol et diyince keyboard taslağınızda varmı diyor halbuki var ama olmuyorrr bide abi kodun tamamını paylaşırmısın
bendede aynı sorun oluyo yapamıyorum projeyi
arduino leonardo ve pro micro ile çalışıyor sadece diğer kartları kullanırsan çalışmaz
Ben aynısını yaptım ama neye bassam hep – (kısa çizgi) basıyor klavye hatam nedir acaba ?
Abi bir projem için kızılötesi verici modülü kullanmam gerekiyor anlatabilir misin
Videoda dediğin devre şemasını burada bulamadım yayınlamadığın için üzüldüm buna benzer bir karta ihtiyacım vardı sevinmiştim
Bu yazıda Arduino Pro Micro kullanarak göstermeye çalıştık. Videodaki kartın tasarım videosu geldikten sonra onu da sitemizden paylaşacağız.
Abi pcb dosyalari ni paylasir misin?
Videodaki kartın tasarım videosu geldikten sonra onu da sitemizden paylaşacağız.