2025 Yazar: John Day | [email protected]. Son düzenleme: 2025-01-13 06:58
Tanıtım
Herkese merhaba ve ilk Eğitilebilirliğime hoş geldiniz.
Bugün, başlığın dediği gibi, Arduino (herhangi bir model) kullanarak e TV uzaktan kumandasını veya Kızılötesi sinyallerle çalışan benzer bir şeyi taklit etmeyi öğreneceğiz.
Sorun şuydu: Kodu bilmiyorsam, kodları bir nesneye nasıl iletebilirim?
İnternette araştırdığımda sorumun cevabını bulamayınca düşünmeye başladım ve bu yöntemi kendim icat ettim.
Bu eğitimde size bunu nasıl yapacağınızı göstereceğim.
Not:
Başlamadan önce, size iletişimin çok karmaşık olduğunu ve önce biraz bilgi gerektirdiğini söyleyeceğim.
Adım 1: Malzeme
Düşündüğünüzden daha az bileşene ihtiyacınız var:
-Arduino (Leonardo kullandım)
-470ohm veya benzeri direnç !DİKKAT!: IR LED'inize göre direnç değeri değişebilir
-IR led (SFH4546 kullandım)
-Bazı Süveterler
-IR alıcı (TSOP38238 kullandım)
-Breadboard
Bu basit ama gerekli devre için kullandığım şey buydu.
EDIT: Aynı ledimi kullanıyorsanız Arduino pini ile led arasında direnç kullanmayınız çünkü uzaktan kumandayı kullanabileceğiniz mesafe çok azalacaktır
Aynı ir ledini kullanmıyorsanız bir trimmer koyup istediğiniz gibi ayarlamanızı öneririm
Adım 2: Devre ve Kodlama
Şimdi devreyi inceliyoruz.
2 devre oluşturmamız gerekiyor:
-İlk devrenin uzaktan kumandadan gelen sinyali yakalaması gerekiyor.
-İkincisi daha önce yakaladığımız sinyali iletiyor.
Öyleyse arduino, devre tahtası, teller ve alıcıyı alın ve çalışmaya başlayalım
İlk önce 5v ve GND'yi alıcınıza bağlayın (benimki sırayla OUT, GND, 5V)
OUT pininin Arduino pin 2'ye bağlanması gerekiyor. (Devre nasıl görünüyor)
Bunu yaptıktan sonra, ledimizin Anotunu dirence ve Katodu toprağa bağlamamız gerekiyor.
Dirençten daha sonra Ir kütüphanesi tarafından tanımlanan pime bağlanacağız. (Devre nasıl görünüyor)
Kod çok basit:
İlk önce kütüphaneleri kurmamız gerekiyor:
-Alıcı pasaj için IrLib2 kütüphanesi
Daha sonra zip dosyasını açmanız ve bu dosyanın içindeki klasörleri kitaplıklar klasörünüze kopyalamanız gerekir.
- Göndermek için IrRemote kitaplığı
Bunu yaptıktan sonra Arduino IDE'yi açın ve örnekler menüsünden IrLib2 örnekler klasörüne gidin, ardından Arduino kartınıza "RawRecv.ino" taslağını yükleyin.
Karta yüklendikten sonra seri monitörü açın, taklit etmek istediğiniz uzaktan kumandayı alın, Ir alıcısına doğrultun ve üzerindeki bir düğmeye basın: monitörde bir miktar çıktı (ham kod) göreceksiniz, bu yüzden kopyalayın. pano.
Sonraki pasaj, elde ettiğimiz kodları gönderiyor.
Her bir Arduino modelinin IRsend sınıfı için kendi pini vardır ve donanım tarafından bazı kısıtlamalar nedeniyle değiştiremezsiniz.
Burada bazı Arduino kartlarının pin ayarlı bir tablosu var.
Bu benim çizimim, channel_up komutunu eski bir Samsung Tv'ye gönderiyor:
#Dahil etmek
IRsend irsend; #define RAW_DATA_LEN 68 //RawRecv çıktısı uint16_t rawData[RAW_DATA_LEN]={ 4458, 4482, 546, 1698, 550, 1690, 554, 1690, 546, 606, 518, 610, 526, 602, 522, 606, 526, 602, 522, 1694, 554, 1686, 550, 1694, 550, 602, 522, 606, 530, 598, 526, 602, 522, 606, 526, 602, 522, 1694, 554, 598, 522, 606, 530, 1686, 554, 602, 518, 610, 522, 602, 522, 1694, 554, 602, 522, 1694, 550, 1690, 546, 610, 526, 1690, 546, 1694, 554, 1690, 546, 1000}; void setup(){ } void loop() { irsend.sendRaw(rawData, RAW_DATA_LEN, 38); //38KHz frekans gecikmesinde ham veri gönder(1000); // her sinyal patlaması arasındaki gecikme }
DİKKAT: IDE'ye yapıştırmak ve yapıştırmak işe yaramayabilir, eğer işe yaramazsa her satırı yazmanız gerekir
Adım 3: Test Etme ve Bitirme
Şimdi bir test zamanı!
Led'inizi uzaktan kumandayı doğrulttuğunuz gibi alıcıya doğrultun ve Arduino'nuzu çalıştırın, bir saniye bekleyin ve alıcı cihazın ona söylediğimizi yapmaya başlayacağını göreceksiniz, o kadar!
Bir şeyler yanlışsa lütfen aşağıya bir yorum bırakın.
Bu, Eğitilebilirliğimizin sonu. Umarım işinize yarar.
Bu eğitimin bir videosunu istiyorsanız yorum yapın ve ……….
sonraki Eğitilebilirliğe!