IR kontrol panelleri. Uzaktan kumanda cihazı. Programı yükleme sorunu

  • 21.05.2019

Railway Modeller dergisinin Haziran 2007 sayısında. Ray Green tarafından kızılötesi tren kontrolörü kullanılarak yapılan 0 ölçekli bir Bodmin maketi hakkında bir makale vardı. Dualarım kabul oldu mu? Bakmaya gittim ve birkaç gün sonra kızılötesi sistemlerini görmek için Clay Cross Derbyshire merkezli MicroMotive'den Steve Leyland'ı ziyaret ettim. Kırmızı Ok ”(“ Kırmızı Ok ”). Doğal olarak, eve bir kızılötesi sistemle döndüm: bir kontrol paneli ve iki lokomotifi donatmak için gereken bir torba parça.

Uzaktan kumandayönetmek

Detaylar- (soldan sağa)

  • Kontrol bloğu
  • Manyetik anahtar
  • kızılötesi alıcı
  • Limit Anahtarı Dirençleri

(Dikkat : pil ve konektör dahil değildir.)


Test kurulumu

Kılavuzu birkaç kez okuduktan sonra, lokomotifi onlarla donatmadan önce parçaları kontrol etmek için bir test teçhizatı kurdum.



Test için sadece bir adet 3 voltluk motor kullandım ama harika çalıştı.

Sıra lokomotifi kesmeye geldi ve hassas - yıllardır hazine olarak saklanan şeyi gerçekten yok etmeniz gereken en küfürlü süreç. Ben buna ameliyat dedim ve modele mümkün olduğunca az zarar vermeye çalıştım.

Fotoğraf, Jubilee Bachmann ihalesinin üstüne yerleştirilen kontrol ünitesini gösteriyor. , boyutların oranını açıkça görmek için.


İhalede kontrol ünitesi

Yaptığım ilk şey, yeni bir güç kaynağı ile donattığım için mevcut kolektörleri lokomotiften çıkarmak oldu (daha sonra bunun sonunda yapılması gerektiğini anladım, çünkü kontrol ünitesini kuramazsam ve pil ihalede, bu eylem boşuna olur, bu gelecek için bir derstir).

Benim için göz korkutucu bir görev olduğu ortaya çıktı. Jubilee'yi sökerken, kısa sürede böyle bir akım toplayıcı olmadığını fark ettim, bunun yerine motor kontaklarına iki yaylı iki ayrı metal şasi kullandılar. Uf.

Bölünmüşşasi



Resimde görüldüğü gibi deliklere iki adet küçük yay yerleştirilmiştir. Motor gövdesinde bulunan kontaklara bastırdılar. Yayları çıkarmaya (gelecek için saklayarak), kontakları yalıtmaya ve lokomotiften iki kabloyu ihaleye getirmeye karar verdim.

yalıtımlı kişiler


Fotoğrafta gösterilen kauçuk izolatörler, çok hantal oldukları ve şaseyi yerine yerleştirmeyi zorlaştırdıkları için sığmadı. Bunları, elektrik kablosundan soyulmuş iki parça yalıtımla değiştirdim.

Motor güç kaynağı montajı


Bir lokomotif kurdum ve onu 9 voltluk bir aküye taktım. Fark ettiğim ilk şey (yeni bir standart PP3 pil kullanıyordum) güç kaybıydı ve lokomotif normalden daha yavaş gidiyordu. Lokomotifi tekrar söküp monte ettim - sonuç aynıydı, sonra raylara koydum ve o da onunla gitti. normal hız, belki de sorun 12 volt yerine 9 voltluk bir pil bağlamış olmamdı. Bu uzun bir tren için sorun olabilir, ancak daha yapacak çok işim olduğu için güç kontrolünü sonraya erteledim.

Şimdi kasaplık, afedersiniz, ihaleyi işletmek.

İhalenin içinde balast olarak kullanılan üç metal levha bulunmaktadır. İlk adım, orta plakayı, tüm bileşenlerin sıralı düzenini güvenceye almak için içinden bir kablo bağının yerleştirilebileceği bir delik oluşturan, ortasından ayrılmış plastik bir plakayla değiştirmekti.


Kablo bağı için delik


Pili ve kontrol ünitesini üst üste koyarak plakaların üzerine koyuyorum. Şuna benziyor:

katmanlı düzenleme (demetin ucuna yapıştırılmış küçük parçaya dikkat edin - bu montaj plakasıdır - aşağıya bakın)


Bu parçalara ek olarak bir IR alıcı, bir indükleme anahtarı, limit anahtar dirençleri, bir doğrultucu köprüsü, konektörler vb. takmam da gerekiyordu. - Yeterli alanım olacak mı?

Reed switch ile ilgili herhangi bir sorun yoktu. Kitimde, manyetik olarak kontrol edilen temassız bir kamış anahtarı vardı. V normal pozisyon kontaklar kapalıdır, bu da tüm devreyi kapatır. Üzerine bir mıknatıs koyduk - kontaklar açık, bu da tüm devreyi açıyor. Testler, mıknatısın ihale gövdesinin duvarlarından geçebilecek kadar güçlü olduğunu göstermiştir.

Manyetik anahtar
Anahtar, çift taraflı bant kullanılarak, ihale gövdesinin alt kısmının arka duvarına yapıştırıldı.


Gücü kapatmak için, aşağıda gösterildiği gibi, sadece ihalenin üstüne bir mıknatıs koymam gerekiyor.



Ondan sonra bir doğrultucu köprü ve dirençler takmam gerekti (bence 120 Ohm) Buna çok büyük bir ihtiyaç yok ama pil her boşaldığında beni ihaleyi sökmekten kurtarıyor. Lokomotifi raydan çıkarmadan pili şarj edebilmek istedim.

Bu yüzden biraz sonra, bu elemanı (yukarıda gösterilen veroboard montaj plakasına) monte ettim, tüm parçaları ihale şasisine monte ettim ve üst parçayı takmaya çalıştım .... Çalışmadı - parçalar çalışmadı Uygun.

Ben geçti farklı varyantlar.

Sonra babamın bir şeyi tamir ettiğimde bana her zaman verdiği en sevdiği tavsiyeyi hatırladım: "Parça yerine oturmazsa, diğer tarafa çevirin ve tekrar deneyin."

Doğru, baba, teşekkürler. Tüm parçaları şaseye oturtmaya çalıştım ümidiyle. Üst kısmı yerine düşecek. Şimdi çok daha kolay olduğu ortaya çıkan ihale gövdesinde tüm detayları ters sırada yerleştirdim.

Ancak hala yeterli alan yoktu, bu yüzden balast plakalarını ve tutucularını çıkardım ve ayrıca IR alıcısını çatıya, ancak merkezden kenara yerleştirdim.


İhale metninde yer alan ayrıntılar


Bu fotoğrafta, IR alıcının ihalenin çatısına yapıştırıldığını (epoksi yapıştırıcı ile) ancak pil için yeterli alan bırakmak için yana kaydırıldığını görebilirsiniz.

İç görünüm


ve yukarıdaki bir resim daha - Yapıştırıcı boşluklardan çıktığı için hala üst kısmı temizlemem gerekiyor.

Yukarıdan bak


Yaşasın Her şey yolunda gitti - ama işe yarayacak mı?


Çalışır durumdaki testler

Resim, henüz bir ihale eklenmemiş bir buharlı lokomotifin testini göstermektedir. İLK KEZ KAZANDI. Kamera, tekerleklerin hızlı dönüşünü aktaramadı.
(Not: Pil şarj sistemi için yeşil kablolar gereklidir).

Bu süreçte birkaç sorunla karşılaştım. Ama çok mutluyum çünkü birkaç devreyi diyotlarla birleştirme deneyimim dışında elektronik bilgim yok.

Çalışma sırasında ortaya çıkan ve çözülmesi gereken sorunlar:


1) Belirgin voltaj eksikliği (12V yerine 9V) - treni çekmek yeterli mi?
2) Sistem 99 lokomotif programlamanıza izin verir. Fabrika varsayılanları 27 ile programlanmıştır ve onları yeniden programlayamadım. 27'den fazla çalışmadı.

3) Talimatları okuduktan sonra, transistör için bir radyatöre de ihtiyacım olduğunu öğrendim. Hem ne olduğu hem de ne için olduğu ve hangi boyutta olduğu, nereye kurulacağı ve nereden alınacağı konusunda çok belirsiz bir fikrim var.
4) Ayrıca pili şarj etmek için akım toplayan kontaklar kurmanız gerekir. Yumuşak tekerlekler üzerinde mi yapılmalı (ki bu daha kolay) yoksa bölünmüş lokomotif şasisine mi bağlanmalı (ki bu daha verimlidir)?
5) Jubilee lokomotifi, kömürle doldurulma etkisi yaratan kalıplanmış bir kapaktan oluşan kapalı bir ihale gövdesine sahiptir. Peki ya ihaleleri boş olan veya içinde çok az kömür bulunan buharlı lokomotifler ne olacak?
6) Yavaş şarj pil için kötü mü?
7) Bir kez bağlandıktan sonra, lokomotif ve ihale tellerle kalıcı olarak bağlanacaktır. Buna uygun bir mikro konektör bulabilir miyim?

Ben de şu sonuca vardım:
1) Bu tasarım, ihalesiz buharlı lokomotifler için uygun değildir.
2) Bu tasarım, motoru ihalede kurulan buharlı lokomotifler için uygun değildir.

(İngilizceden çeviri)

Kızılötesi ışınlar en çok ucuz yol için uzaktan kumanda görünmez ışık aralığında cihaz. Hemen hemen tüm ses ve video cihazları IR kontrollüdür. yaygın olarak kullanılması nedeniyle gerekli bileşenler, IR kontrolü çok ucuzladı, bu da hobilerin kendi projeleri için kullanmasını ideal hale getiriyor.
IR uzaktan kumandanın nasıl çalıştığının teorisini açıklayacağım uzaktan kumanda ve tüketici elektroniğinde kullanılan bazı protokoller.

Kızılötesi aslında normal ışıktır. belirli bir renk... Biz insanlar bu rengi göremiyoruz çünkü dalga boyu 950 nm, yani görünür spektrumun altında. Bu, IR ışığının uzaktan kumanda amaçlı seçilmesinin nedenlerinden biridir, kullanmak istiyoruz, ancak bu ışığı görmekle ilgilenmiyoruz. Diğer bir neden de, IR kontrollerinin yapılmasının oldukça kolay olması ve dolayısıyla imalatının ucuz olmasıdır. Biz insanlar uzaktan kumandadan yayılan kızılötesi ışığı göremesek de, onu görünür kılamayacağımız anlamına gelmez.

kamera veya dijital kamera bu resimde gördüğünüz gibi kızılötesi ışığı "görebilir". Bir web kameranız varsa, şansınız yaver gidiyor, uzaktan kumandanızı gezdirin, herhangi bir tuşa basın, yanıp sönen bir gösterge göreceksiniz. Ne yazık ki, etrafımızda hala birçok kızılötesi ışık kaynağı var. Güneş hepsinin parlak bir kaynağıdır, ancak şöyle vardır: lambalar, mumlar, merkezi ısıtma sistemleri ve hatta vücudumuz kızılötesi ışık yayar. Aslında, ısı yayan her şey aynı zamanda kızılötesi ışık yayar. Bu nedenle IR mesajlarımızın alıcıya hatasız ulaşması için bazı önlemler almalıyız.

Modülasyon

Sinyalimizin arka plan gürültüsünden sıyrılabilmesi için modülasyon gereklidir. Modülasyon ile IR sinyali belirli bir frekansta yanıp söner. IR alıcısı bu frekansa ayarlanacaktır, böylece diğer her şeyi görmezden gelebilir.

Resimde solda bir IR LED kullanan bir temel bant vericisi görebilirsiniz. Sinyal, diğer taraftaki alıcıya kaydedilir. Seri iletişimde genellikle "işaretleyiciler" ve "boşluk" hakkında konuşuruz. "Uzay" - vericiden gelen sinyallerin olmadığı süre. Bu sırada ışık yayılmaz. Arıza süresinden sonra, IR darbelerinin "işaretleri" belirli bir Frekans aralığı... 30 kHz ile 60 kHz arasındaki frekanslar yaygın olarak kullanılır. tüketici elektroniği... Alıcının çıkışında, "boşluk" yüksek bir rakamla temsil edilir. mantıksal seviye... "İşaretleyici" temsil eder düşük seviye... Lütfen "işaretçilerin" ve "boşluğun" 1'ler ve geçilecek 0'lar olmadığını unutmayın. "İşaretler" ve "boşluklar" ile birler ve sıfırlar arasındaki gerçek ilişki, kullanılan protokole bağlıdır. Bununla ilgili daha fazla bilgi, protokolleri açıklayan sayfalarda bulunabilir.

verici

Vericiler genellikle pilli uzaktan kumandalardır. Kabul edilebilir bir uzaktan kumanda elde etmek için mümkün olduğu kadar az güç kullanmalı ve IR sinyali mümkün olduğunca güvenilir olmalıdır. Tercihen darbeye dayanıklı olmalıdır.
Birçok çip, IR vericileri olarak kullanılmak üzere tasarlanmıştır. Daha eski çipler, bugün kullanılan birkaç protokolden sadece biri için tasarlandı. Şu anda, mikrodenetleyicilerin çok düşük tüketimi, onların IR vericilerinde kullanılmasına izin verir ve ayrıca kullanımda daha esnektir. Düğmeye basılmazsa, uyku modundadırlar. düşük akım tüketim. İşlemci, karşılık gelen IR komutunu yalnızca bir tuşa basıldığında iletmek için "uyanır".
Kuvars kristalleri bu tür konsollarda nadiren kullanılır. Çok kırılgandırlar ve uzaktan kumanda düşürüldüğünde kolayca kırılma eğilimi gösterirler. Seramik rezonatörler, yüksek fiziksel aşırı yüklenmelere dayanabildikleri için çok daha uygundur. Daha az doğru olmaları hiç de önemli değil.
LED (veya LED'ler) üzerinden geçen akım 100mA ile 1A arasında değişebilir! Kabul edilebilir bir kontrol mesafesi elde etmek için LED akımı mümkün olduğunca yüksek olmalıdır. Burada LED parametresi, pil ömrü ve maksimum mesafe... LED sürüş darbeleri çok kısa olduğu için LED akımları yüksek olabilir. LED'in ortalama radyasyon gücü geçmemelidir maksimum değer... Ayrıca LED'ler için en hızlı akım bakışının aşılmadığından emin olmalısınız. Bu parametrelerin tümü LED spesifikasyonunda bulunabilir.

Basit transistör devresi hangi LED'ler için kullanılabilir. Bu devreye uygun hFE ve anahtarlama hızına sahip bir transistör uymalıdır.
Direnç değeri Ohm yasası kullanılarak hesaplanabilir. IR LED başına nominal voltaj düşüşünün yaklaşık 1,1V olduğunu unutmayın.
Standart sürücü yukarıda açıklanan bir dezavantajı vardır. LED'den geçen akımın azalacağı akü voltajı kaçağı ve bu, kontrol mesafesinde bir azalmaya yol açacaktır.

Bunu önlemek için emitör devresine seri olarak 2 diyot yerleştirilmiştir. Transistöre dayalı bir dizi darbe ile voltaj 1,2V ile sınırlandırılacaktır. Transistörün baz emitörü 0,6V çıkarır, bu da emitörde 0,6V'luk bir genlikle sonuçlanır. LED üzerinden akımı hesaplamak basittir - yine Ohm Yasasını uygulayarak.

Alıcı

Şu anda piyasada birçok farklı alıcı var. Çoğu önemli kriterler kullanılan ve piyasada bulunan seçilebilir modülasyon frekansı.

Yukarıdaki resimde, böyle bir IR alıcısının tipik bir blok şemasını görebilirsiniz. Parçaları anlamıyorsanız endişelenmeyin, her şey tek bir elektronik bileşende inşa edilmiştir. Algılama fotodiyotundan alınan IR sinyali (şemanın sol tarafında). Bu sinyal ilk 2 aşamada yükseltilir ve sınırlandırılır. AGC, konsola olan mesafeden bağımsız olarak sabit bir darbe seviyesi elde etmek için bir sınırlayıcı görevi görür. Ardından, AGC'den sinyal bir bant geçiren filtreye (BPF) gider. Bant geçiren filtre, konsolun modülasyon frekansına ayarlanmıştır. Tüketici elektroniği için 30 kHz ila 60 kHz arasında ortak frekans aralığı. Sonraki adım: dedektör, entegratör ve karşılaştırıcı. Bu üç bloğun amacı, bir modülasyon frekansının varlığını tespit etmektir. Bu modülasyon frekansı, karşılaştırıcının çıkışını düşük bir sinyal olarak temsil eder.
Daha önce de söylediğim gibi, tüm bu bloklar tek bir elektronik bileşene entegre edilmiştir. Piyasada bu bileşenlerin birçok farklı üreticisi var. Cihazlar, her biri belirli bir modülasyon frekansına ayarlanmış çeşitli versiyonlarda mevcuttur.
Amplifikatörün çok yüksek katsayı kazanmak. Bu nedenle, sistem çok kolay okur. Alıcı güç kaynağına en az 22mF olan büyük bir kapasitör bağlanması zorunludur. Bazı veri sayfaları, gücü devrenin geri kalanından daha da ayırmak için güç kaynağına seri olarak 330 ohm'luk bir direnç koymanızı önerir.

Piyasada birkaç IR alıcı üreticisi var. Siemens, Vishay Telefunken ve Avrupa'daki ana tedarikçilerdir. Siemens'in SFH506-xx serisi vardır; burada xx, 30, 33, 36, 38, 40 veya 56kHz'lik modülasyon frekansını belirtir. Telefunken kendi TFMS5xx0 ve TK18xx serilerini üretti, burada xx yine cihazın modülasyon frekansını gösteriyor. Bu bileşenler zaten kullanımdan kaldırılmış gibi görünüyor. Bunların yerini Vishay TSOP12xx, TSOP48xx ve TSOP62xx alıyor.
Sharp, Xiamen Hualian ve Japanese Electric, Asya'daki ilk 3 IR şirketidir. Sharp, çok şifreli adlara sahip cihazlar üretir: GP1UD26xK, GP1UD27xK ve GP1UD28xK, burada x ile ilgili frekans modülasyonu... Hualian, HRM3700 HRM3800'de olduğu gibi kendi HRMxx00 serisine sahiptir. Japanese Electric, parça adında modülasyon frekansını içermeyen bir dizi cihaza sahiptir. PIC12043LM, 36.7kHz'e ve PIC12043LM, 37.9kHz'e ayarlanmıştır.

Son?

Bu, tüketici elektroniğinde kullanılmak üzere tasarlanmış IR uzaktan kumanda sistemlerinin çalışma teorisini tamamlar. IR kontrolünü uygulamanın başka yolları olduğunu anlıyorum, ancak kendimi yukarıdaki açıklamayla sınırlayacağım. Burada ele alınmayan konulardan biri güvenliktir. Yalnızca VCR veya TV'mi kontrol etmem gerekse bile güvenlik önemli değil. Ancak iş bir kapıyı veya arabayı açmaya geldiğinde, anahtar sinyali benzersiz olmalıdır! Belki bundan sonra bahsederim ama şimdi değil.
Ayrıca, küçük üretici listemin tam olmaktan uzak olduğunu da anlıyorum. Burada tüm üreticileri listelemek pek mümkün değil. bana gönderebilirsiniz e-posta Sayfalara eklenmesi gerektiğini düşündüğünüz diğer protokoller hakkında bilginiz varsa.
Bu sayfa, yalnızca IR uzaktan kumandaların nasıl çalıştığına ilişkin temel teorinin bir açıklamasıdır. Verici ve alıcı arasındaki iletişimde yer alan protokolleri açıklamaz. Farklı üreticiler tarafından geliştirilen farklı protokoller vardır.

Çoğu modern tüketici elektroniği ekipmanı, bilgi iletme yöntemi olarak kızılötesi (IR) radyasyonu kullanan bir uzaktan kumandaya sahiptir. Ürettiğimiz "" sisteminin bazı cihazlarında IR veri iletim kanalı kullanılmaktadır.

IR bilgi iletimi ilkesi

Kızılötesi veya termal radyasyon Elektromanyetik radyasyon, belirli bir sıcaklığa ısıtılmış herhangi bir vücut yayar. IR aralığı, spektrumun görünür ışığa en yakın bölgesinde, uzun dalga boyu kısmında yer alır ve yaklaşık 750 nm ila 1000 μm arasındaki bölgeyi kaplar. Kızılötesi radyasyon çoğu akkor lambalardan gelen radyasyon, güneşten gelen radyasyonun yaklaşık yarısı. Optik özellikler kızılötesi radyasyondaki maddeler, görünür ışıktaki özelliklerinden farklıdır. Örneğin, bazı camlar kızılötesi ışınlara karşı opaktır ve parafin, görünür ışığın aksine kızılötesi radyasyona karşı şeffaftır ve IR lensleri yapmak için kullanılır. Kaydı için termal ve fotoelektrik dedektörler ve özel fotoğraf malzemeleri kullanılmaktadır. IR ışınlarının kaynağı olarak, ısıtılmış gövdelere ek olarak, en sık kullanılanlar katı hal yayıcılardır - IR lazerler; kayıt için fotodiyotlar, ön dirençler veya bolometreler kullanılır. Kızılötesi radyasyonun bazı özellikleri, veri iletim cihazlarında kullanımını kolaylaştırır:

  • IR katı hal yayıcılar (IR LED'ler) kompakt, pratik olarak ataletsiz, ekonomik ve ucuzdur.
  • IR alıcıları küçüktür ve aynı zamanda ucuzdur
  • IR ışınları görünmezliklerinden dolayı kişinin dikkatini dağıtmaz.
  • Kızılötesi ışınların yaygınlığına rağmen ve yüksek seviye"arka plan", IR bölgesinde birkaç darbe girişimi kaynağı vardır
  • Düşük güçlü IR radyasyonu insan sağlığını etkilemez
  • IR ışınları çoğu malzemeden (duvarlar, mobilyalar) iyi bir şekilde yansır
  • IR radyasyonu duvarlara nüfuz etmez ve diğer benzer cihazların çalışmasına müdahale etmez

Bütün bunlar, birçok cihazda bilgi iletme IR yöntemini başarıyla kullanmayı mümkün kılar. IR vericileri ve alıcıları, tüketici ve endüstriyel elektronikte uygulama bulur, bilgisayar Teknolojisi, güvenlik sistemi, veri iletim sistemleri açık uzun mesafeler fiber optik aracılığıyla. Tüketici elektroniği kontrol sistemlerinin (konsolların) çalışmasını daha ayrıntılı olarak ele alalım.

Düğmeye basıldığında, IR kontrol paneli kodlanmış bir mesaj verir ve alıcı yönetilen cihaz, kabul eder ve gerekli işlemleri yapar. Mantıksal bir diziyi iletmek için konsol, bilgi paketi oluşturan darbelerin süresi veya fazı tarafından modüle edilen veya kodlanan IR ışınlarından oluşan bir darbe paketi üretir. İlk kontrol cihazlarında, her biri bir parça olan kısa darbe dizileri kullanıldı. kullanışlı bilgi... Ancak gelecekte modülasyon yöntemini kullanmaya başladılar. sabit frekans mantıksal dizi, bunun sonucunda uzaya tek darbeler değil, belirli bir frekanstaki darbe paketleri yayılır. Veriler, bu frekans paketlerinin kodlanmış süresi ve konumu ile zaten iletilmektedir. Bir IR alıcısı böyle bir diziyi alır ve bir zarf elde etmek için demodülasyonu gerçekleştirir. Bu iletim ve alım yöntemi, yüksek gürültü bağışıklığı ile karakterize edilir, çünkü verici frekansına ayarlanmış alıcı artık farklı bir frekansla parazite yanıt vermez. Bugün, bir IR sinyali almak için, genellikle bir fotodedektörü, bir amplifikatörü ve bir amplifikatörü birleştiren özel bir mikro devre kullanılır. bant geçiren filtre belirli bir şekilde ayarlanmış taşıyıcı frekansı, AGC'li bir amplifikatör ve sinyal zarfını elde etmek için bir dedektör. Elektrik filtresine ek olarak, böyle bir mikro devre, alınan kızılötesi radyasyonun frekansına ayarlanmış bir optik filtre içerir; bu, radyasyon spektrumu küçük bir genişliğe sahip olan LED yayıcının avantajını en üst düzeye çıkarmayı mümkün kılar. Bunun sonucunda teknik çözümler diğer kaynaklardan IR radyasyonunun arka planına karşı düşük güçlü faydalı bir sinyal almak mümkün hale geldi, Ev aletleri, kalorifer radyatörleri vb. Çalışmak modern cihazlar IR kontrolü oldukça güvenilirdir ve uygulama seçeneğine ve parazit düzeyine bağlı olarak menzil birkaç metreden 40 metreye veya daha fazladır.

IR sinyal vericisi

IR sinyal vericisi, IR uzaktan kumanda, genellikle bir pil veya şarj edilebilir pil ile çalışır. Bu nedenle, tüketimi mümkün olduğunca düşük olmalıdır. Öte yandan, yayılan sinyalin uzun bir iletim menzili sağlamak için önemli güçte olması gerekir. Enerji maliyetlerinin tersi olan bu tür problemler, kısa darbe kodlu paketlerin iletilmesi yöntemiyle başarıyla çözülür. İletimler arasındaki aralıklarda uzaktan kumanda neredeyse hiç enerji tüketmez. Konsol denetleyicisinin görevi, klavye düğmelerini sorgulamak, bilgileri kodlamak, referans frekansını modüle etmek ve emitöre bir sinyal göndermektir. Konsol üretimi için çeşitli özel mikro devreler Ancak modern mikrodenetleyiciler de bu amaçlar için kullanılabilir. Genel kullanım AVR veya PIC yazın. Bu tür mikro denetleyiciler için temel gereksinim, son derece düşük güçte bir uyku moduna ve bu durumda düğmeye basışları algılama yeteneğine sahip olmaktır.

Bir IR sinyal yayıcı, bir uyarma akımının etkisi altında kızılötesi ışınlar yayar. Vericiye giden akım genellikle mikrodenetleyicinin yeteneklerini aşar, bu nedenle gerekli akımı üretmek için en basit olanı bir transistöre kurulur. Kayıpları azaltmak için, bir transistör seçerken, mevcut amplifikasyon faktörüne - β veya h21'e dikkat etmelisiniz. Bu katsayı ne kadar yüksek olursa, cihazın verimliliği o kadar yüksek olur. Modern vericiler, kullanılan frekanslarda verimliliği marjinal olarak kabul edilebilecek alan etkili veya CMOS transistörler kullanır.

Yukarıdaki şema, dezavantajları olmadan değildir, özellikle pil şarj seviyesi düştüğünde, radyasyon gücü düşecek ve bu da menzilde bir azalmaya yol açacaktır. Besleme voltajına olan bağımlılığı azaltmak için en basit akım dengeleyiciyi kullanabilirsiniz.

Çoğu verici 30-50 kHz frekans aralığında çalışır. Böyle bir frekans aralığı tarihsel olarak ilkini oluştururken seçilmiştir. benzer cihazlar... En az enterferansa sahip alan seçildi. Ek olarak, kısıtlamalar eleman tabanı... Daha sonra, bu kontrol yöntemine sahip ekipman standardize edilip yaygınlaştıkça, diğer frekanslara geçiş uygulanamaz hale geldi.

Vericinin darbe gücünü ve buna bağlı olarak aralığını artırmak için, temel frekansın sinyali menderesten farklıdır ve 3 - 6 görev döngüsüne sahiptir. ortalama güç. LED'in darbe akımı, derecelendirme değerlerine göre seçilir ve bir veya daha fazla Ampere ulaşabilir. Çoğu IR uzaktan kumandadaki darbe akımı 100 mA'yı geçmez. Bu durumda referans frekansı da düşük bir görev döngüsüne sahip olduğundan ve kodlanmış mesajın süresi 20-30 ms'yi geçmediğinden, düğmeye basıldığında ortalama akım bir miliamperi geçmez. Artırma darbe akımı LED'ler azaltılmış verimlilik ve azaltılmış kullanım ömrü ile ilişkilidir. Modern kızılötesi LED'ler, 50 mA akımda 100-200 mW yayılan enerji verimliliğine sahiptir. İzin verilen ortalama akım 10-20 mA'yı geçmemelidir. Etkiyi azaltmak için LED güç kaynağında bir RC filtresi olmalıdır dürtü gürültüsü mikrodenetleyiciye güç sağlamak için. Çoğu IR uzaktan kumanda için kullanılan LED aralığı Ev aletleri 940 nm'de maksimuma sahiptir.

Güvenilir alım için referans frekansının tek bir paketinin süresi 12-15'ten az ve 200 periyottan fazla değildir. Kodlanmış bir mesajı iletirken, verici başlangıçta referans frekansının bir veya daha fazla paketi olan ve alıcının aşağıdakileri oluşturmasına izin veren bir önsöz oluşturur. gereken seviye kazanç ve arka plan. Kodlanmış bir çoğuşmadaki veriler, süre veya faz (bitişik paketler arasındaki mesafe) tarafından belirlenen sıfırlar ve birler biçiminde iletilir. Kodlanmış bir mesajın toplam süresi genellikle birkaç bitten birkaç on bayta kadardır. Sıra, başlangıç ​​işareti ve veri miktarı mesajın formatına göre belirlenir.

kızılötesi alıcı

IR sinyalinin alıcısı, kural olarak, IR radyasyonunun alıcısını ve mikrodenetleyiciyi içerir. Mikrodenetleyici alınan sinyali çözer ve gerekli işlemleri gerçekleştirir. Alıcı genellikle aşağıdaki donanıma sahip bir ekipmana kurulduğundan Şebeke beslemesi, tüketimi şart değildir. Mikrodenetleyici çoğunlukla diğer işlemleri gerçekleştirir. servis fonksiyonları cihazda ve merkezi mantıksal birimidir.

Kızılötesi radyasyon alıcısı çoğunlukla kontrollü ekipmanın ön panelinin arkasında bulunan ayrı bir entegre modül şeklinde yapılır. Ön panelde IR ışınları için şeffaf bir pencere bulunur. Kural olarak, böyle bir mikro devrenin üç pimi vardır - güç, ortak ve sinyal çıkışı. Üreticiler elektronik parçalar IR alıcıları sunun çeşitli tiplerde ve yürütme. Ancak, çalışmalarının prensibi benzerdir. İçeride, böyle bir mikro devre vardır:

  • fotodedektör - fotodiyot
  • faydalı sinyali arka plan seviyesinde ayıran entegre amplifikatör
  • bir mantık seviyesine bir sinyal süren sınırlayıcı
  • verici frekansına ayarlanmış bant geçiren filtre
  • demodülatör - yararlı sinyalin zarfını çıkaran bir dedektör.

Böyle bir alıcının gövdesi, rol oynayan malzemeden yapılmıştır. ek filtre belirli bir dalga boyundaki kızılötesi ışınları iletir. Modern entegre alıcılar, ondan onlarca kat daha yüksek bir arka plan seviyesinde faydalı bir sinyal almayı ve aynı zamanda sadece 4 - 5 periyotlu frekans mesajlarını algılamayı mümkün kılar.

Duyarlılığı artırmak için radyasyon alıcısına bir RC filtresi ile güç verilmelidir. Mikrodenetleyici, güç hatlarında alıcının performansını etkileyebilecek geniş bir gürültü spektrumu üretir.

IR veri iletim biçimleri

Çeşitli ev aletleri üreticileri, ürünlerinde farklı IR uzaktan kumandalar kullanır. Uzaktan kumandanın yalnızca iletişim kurması gerektiğinden belirli cihaz, ekipman türüne özgü bir veri dizisi oluşturur. İletilen veriler, kontrol komutunun kendisine ek olarak, cihaz adresini, test verilerini ve diğer servis bilgilerini içerir. Dahası, farklı üreticiler kullanır Farklı yollar bir veri dizisinin oluşumu ve mantıksal durumları aktarmanın çeşitli yolları. Bilgi bitlerini kodlamanın en yaygın yolları, paketler arasındaki duraklamanın uzunluğunu değiştirmek (aralık yöntemi) ve bir durum kombinasyonuyla kodlamaktır (bifazik yöntem). Bununla birlikte, bilgi bitlerini süre, süre ve duraklama kombinasyonu vb. ile kodlamanın yolları vardır. En yaygın aktarım biçimleri.

Arsa veya "Cihaz nasıl başladı"

... Geldiğimde Victoria kanepede oturmuş televizyona bakıyordu. Zor bir gündü, bu yüzden hiçbir şey yapmak istemedi. Birkaç dakika pop dizileri izledik, sonra bitti ve Vika televizyonu kapattı. Oda karardı. Dışarıda yağmur yağıyordu ve evde de hava soğuk gibiydi.
Vika kanepeden kalktı ve dokunarak lambanın düğmesini aramaya başladı. Duvar lambası nedense kanepenin yanında değil, diğer duvarda asılıydı ve ışığı yakmak için odanın karşı tarafına geçmeniz gerekiyordu. Sonunda açtığında, oda akkor ampulün sıcak parıltısıyla doldu.
Yanımda, buruşuk bir çarşafın üzerine TV uzaktan kumandasını koydum. Alt düğmeler işaretlenmemiş ve büyük olasılıkla kullanılmamıştır. Sonra aklıma ilginç bir fikir geldi...
- Vic, lambanı kutudan uzaktan kumandayla açabilmem için yapmamı ister misin? Ekstra düğmeler bile var ...

konsept
Cihazımız IR uzaktan kumandadan sinyal alabilmeli, "bizim" butonumuzu diğerlerinden ayırt edebilmeli ve yükü kontrol edebilmelidir. İlk ve son noktalar bir balta kadar basittir. Ama ikincisi biraz daha ilginç. Belirli bir uzaktan kumandayla sınırlı kalmamaya karar verdim (Neden? - "İlginç değil!"), Ama birlikte çalışabilecek bir sistem yapmaya karar verdim. farklı modeller uzaktan kumandalar farklı ekipman... IR alıcısı geçmediği ve sinyali güvenle aldığı sürece.

Bir fotodedektör kullanarak sinyali yakalayacağız. Ayrıca, her alıcı sığmaz - taşıyıcı frekansı, uzaktan kumandanın frekansıyla eşleşmelidir. Alıcının taşıyıcı frekansı, etiketinde belirtilmiştir: TSOP17xx - 17, alıcı modelidir ve xx, kilohertz cinsinden frekanstır. Konsolun taşıyıcı frekansı da belgelerde veya internette bulunabilir. Prensip olarak, frekanslar eşleşmese bile sinyal alınacaktır, ancak hassasiyet kötü olacaktır - uzaktan kumandayı doğrudan alıcıya sokmanız gerekir.

üreten her firma Ev aletleri, "demir" imalatında standartlara uymak zorunda kalmaktadır. Konsolların modülasyon frekansları da standart. Ancak geliştiriciler yazılım tarafında ortaya çıkıyor - konsol ve cihaz arasındaki çeşitli değiş tokuş protokolleri tek kelimeyle harika. Bu nedenle, gelmek zorunda kaldım evrensel algoritma değişim protokolü kimin umrunda değil. Şu şekilde çalışır:

Cihaz depolar kontrol noktaları... Bu tür her bir nokta için, IR alıcısından gelen çıkışın zamanını ve durumunu kaydetmeniz gerekir - 0 veya 1.
Uzaktan kumandadan bir sinyal alırken, MC sırayla her noktayı kontrol edecektir. Tüm noktalar çakışırsa, bu, cihazın programlandığı düğmeyle aynıydı. Ve alıcıdan en az bir noktada çıktı desenle eşleşmiyorsa, cihaz hiçbir şekilde tepki vermeyecektir.

Ancak, hiç kimse hataları iptal etmedi! Sinyalin şablondan farklı olması mümkündür, ancak
kesme noktalarında değerler aynı olacaktır. ortaya çıkacak yanlış alarm... Görünüşe göre - nadir bir zapadlo ve onunla savaşmak zor! Ama aslında, her şey o kadar da kötü (ve hatta bazen iyi) değildir.

İlk olarak, elimizde dijital sinyal, bu, dürtülerin sabit gecikmelerle (zamanlamalarla) geldiği ve sadece ortaya çıkmadığı anlamına gelir. Bu nedenle, noktalar yeterince yoğunsa, herhangi bir dürtünün kaçırılacağından korkmazsınız.

İkincisi, çoğu durumda küçük gürültü (genellikle nadir kısa darbeler gibi görünür) ormandan geçer - çünkü doğrudan kontrol noktasına ulaşmazsa, nifiga sistemi etkilemez. Bu, gürültüye karşı doğal korumamız olduğu anlamına gelir.

İkinci tip hatalar (aka "Komut Atlama"), noktanın darbe cephesine (alıcının çıkışındaki sinyalin seviyesini değiştirdiği yere) çok yakın olması nedeniyle oluşur.
Kesme noktasından birkaç mikrosaniye sonra sinyalin YÜKSEK'ten DÜŞÜK'e değişmesi gerektiğini hayal edin. Şimdi uzaktan kumandanın komutu normalden biraz daha hızlı verdiğini hayal edin (bu oldukça sık olur). Darbenin önü zaman içinde değişti ve şimdi kontrol noktasından ÖNCE gerçekleşiyor! Alıcıdan gelen çıktı modelle eşleşmeyecek ve sistem sıfırlanacaktır.
Bunun olmasını önlemek için, kontrol noktalarını cephelerden uzağa yerleştirmeniz gerekir.

"Her şey yolunda" - diyorsunuz - "Ama kontrol noktalarını nereden alabilirim?" Bu yüzden uzun süre bu konuda aptaldım. Sonuç olarak, puanların yerleşimini size emanet etmeye karar verdim.
Cihazda J1 jumper bulunmaktadır. Açıldığında kapanırsa, cihaz aptalca UART üzerinden IR alıcısının verdiği her şeyi iletir. Telin diğer tarafında, bu veriler, bilgisayar ekranında TSOP'tan gelen darbeleri görüntüleyen programım tarafından alınır. Bu grafik boyunca kontrol noktalarını dağıtmak için fareyi kullanmanız ve bunları EEPROM'a aktarmanız yeterlidir. UART'ı kullanma fırsatı yoksa, J2 jumper kurtarmaya gelir. Cihaz kapatıldığında UART üzerinden veri çıkışı yapmaz, EEPROM'a ekler.


şema
Utanç noktasına kadar basit. ATTiny2313'ü denetleyici olarak aldım. Kuvars veya dahili RC devresinden frekans 4 megahertz.
İletişim ve güç için RX ve TX hatları ayrı bir konektöre getirilir. MK'yi cihazdan çıkarmadan yeniden başlatabilmeniz için RESET burada da görüntülenir.
Fotodedektörün çıkışı INT0'a bağlıdır ve 33k'lık bir direnç üzerinden güç kaynağına çekilir. Güçlü parazit varsa, oraya daha küçük bir direnç koyabilirsiniz, örneğin 10k.
D4 ve D5 pinlerinde jumperlar var. D5 üzerinde Jumper1 ve D4 üzerinde Jumper2.

D6 pinine bir güç modülü bağlanmıştır. Ayrıca, sahip olduklarımdan en küçüğü olan BT131'i triyak aldım. Akımı 1A - harika değil, ancak kasa çok büyük değil - TO92. Küçük bir yük için, bu kadar. MOC3023'te opto-dekuplaj yaptım - sıfır geçiş sensörü yok, bu da sorunsuz yük kontrolü için uygun olduğu anlamına geliyor (burada hiç uygulamadım).

Bağlantı noktası B, konektöre neredeyse tamamen çıkarılmıştır - oraya bir gösterge veya başka bir şey ekleyebilirsiniz. Aygıtı yanıp sönerken bu konektörü kullanıyorum. Pin B0 bir LED tarafından işgal edilmiştir.

Her şey LM70L05 tarafından desteklenmektedir ve diyot köprüsü... Yani, girişe başvurabilirsiniz alternatif akım voltajı, örneğin, bir transformatörden. Ana şey, 25 Volt'u geçmemesidir, aksi takdirde stabilizatör veya kondansatör ölür.

Kurul şöyle çıktı:


Evet, arşivdeki panodan biraz farklı. Ama bu kendimi Über-gelişmiş bir pano yapıp size bir demo versiyonu verdiğim anlamına gelmiyor :). Aksine, anakartımın son sürümde olmayan birkaç dezavantajı var: Pime bağlı RESET pinim yok ve LED PB7'de asılı kalıyor. Ve bu, devre içi programlamaya pek elverişli değildir.

bellenim
Cihaz iki modda çalışabilir. İlkinde - J2 kapatıldığında - fotodedektörden UART'a darbeleri iletir. Onunla başlayalım:

UART, 9600 hızında çalışır, yani 4 MHz frekansında, UBRR kaydına 25 yazıyoruz.

… Fotodedektör ayağı sarsılana kadar bekleriz. Düştüğü anda (başlangıçta bir çekme direncinde sallanır), zamanlayıcıyı başlatırız (16 bit olan ZAMANLAYICI / SAYAÇ1) ve herhangi bir giriş değişikliği - herhangi bir mantıksal değişiklik için INT0 kesmesini açarız ( ICS00 = 1). Zamanlayıcı işliyor ... bekliyor.

Uzaktan kumandadan gelen darbe sona erdi - fotodedektörün çıktısı yükseldi, kesinti tetiklendi. Şimdi timer değerini belleğe yazıp timer'ı sıfırlıyoruz. Bir sonraki kesmede başka bir bellek konumuna yazmak için yazma işaretçisini de artırmanız gerekir.

Başka bir darbe ... çıkış sarsılıyor ... kesinti ... zamanlayıcı değerini belleğe yazıyor ... zamanlayıcıyı sıfırlıyor ... işaretçi + 2 (bir seferde iki bayt yazıyoruz) ...

Ve bu, (RAM'in) sonunun yakın olduğu netleşene kadar devam edecek. Veya sinyal bitene kadar. Her durumda, zamanlayıcıyı dondurur ve kesintileri devre dışı bırakırız. Sonra yavaş yavaş topladığımız her şeyi UART'a atıyoruz. Veya J2 kısa devre yapmışsa - EEPROM'da.

Sonunda, kör edebilirsin sonsuz döngü ve sıfırlamayı bekleyin - görev tamamlandı.
Ve çıktı bir sayı dizisi olacaktır. Her biri TSOP'a çıkış durumundaki değişiklikler arasındaki zamandır. Bu dizinin nerede başladığını bilerek (Ve biliyoruz! YÜKSEK ile DÜŞÜK arasındaki fark budur), resmin tamamını geri yükleyebiliriz:

Başlattıktan sonra oturur ve TSOP'nin seğirmesini bekleriz. Bu olur olmaz, EEPROM'dan ilk noktayı okuruz ve basit bir döngü içinde orada yazılan kadarını aptal yerine koyarız. Aynı zamanda 32us'luk paketler halinde zamanı sayıyoruz. Şaşkınlıktan çıkarken kontrol ediyoruz - alıcının çıkışında bir şey var.

Çıktı beklediğimiz ile örtüşmediyse, bu bizim ekibimiz değil. Sinyalin sonunu güvenle bekleyebilir ve her şeye yeniden başlayabilirsiniz.

Çıktı beklentilerimizi karşılıyorsa bir sonraki noktayı yükleyip kontrol ediyoruz. Yani zamanı = 0 olan bir nokta ile karşılaşana kadar. Bu, daha fazla nokta olmadığı anlamına gelir. Bu, tüm ekibin çakıştığı ve yükü çekebileceğiniz anlamına gelir.

Yani, ortaya çıkıyor, basit bir algoritma. Ancak ne kadar basit, o kadar güvenilir!

yumuşak
İlk başta şablonu otomatik olarak ezberlemeyi düşündüm. Yani, jumper'ı kapatırsınız, uzaktan kumandayı TSOP'a sokarsınız ve MK'nin kendisi kontrol noktalarını ayarlar ve EEPROM'a ekler. Sonra fikrin çılgınca olduğu ortaya çıktı: az çok yeterli bir algoritma çok karmaşık olacaktı. Yoksa evrensel olmayacak.

İkinci fikir, kontrol noktalarını kendiniz ayarlayabileceğiniz bir bilgisayar programıydı. Teknolojik olarak çok gelişmiş değil ama yine de bu işi MK'ye emanet etmekten daha iyi.


Cihaza uzaktan kumandadaki istenen düğmeye yanıt vermesini öğretiyoruz:

1) J1 atlama telini kapatın.

2) UART'ı bağlarız. Bağlamanın bir yolu yoksa, J2 jumper'ını kapatıyoruz. Ardından cihaz verileri EEPROM'a aktaracaktır.

3) Yemeği açıyoruz.

4) UART kullanmaya karar verirsek, yazılımı başlatır ve durum çubuğuna bakarız (pencerenin alt kısmında). "COM bağlantı noktası açık" demelidir. Yazılı değilse, bağlantıda bir söve arıyoruz ve "Bağlan" düğmesini dürtüyoruz.

5) Uzaktan kumandayı alıp dürtüyoruz istenen düğme TSOP'ta. Cihaz sinyalin gittiğini algılar algılamaz LED yanacaktır. Bundan hemen sonra cihaz, verileri UART üzerinden iletmeye (veya EEPROM'a yazmaya) başlayacaktır. İletim bittiğinde LED söner.

6.1) UART ile çalışıyorsak "UART ile yükle" butonuna basınız. Ve durum çubuğundaki "Yüklendi grafik ..." yazıtına seviniyoruz.

6.2) EEPROM üzerinden çalışırsak programcı ile okuruz EEPROM belleği ve *'e kaydedin. bin dosyası... (Aynen çöp kutusu!). Ardından programda "Load.bin" butonuna basıyoruz ve EEPROM'dan dosyayı seçiyoruz.

7) Yüklenen tabloya bakın - bu TSOP'tan bir sinyaldir. Yan panelde bir kaydırıcı var - ölçeği değiştirmek için kullanabilirsiniz. Şimdi fare ile grafiğin üzerine tıklayıp kontrol noktalarını ayarlıyoruz. Sağ düğme noktalar silinir. Sadece onları cephelere çok yaklaştırmayın. Bunun gibi bir şey çıkıyor:


8) "Save.bin"e tıklayın ve noktaları kaydedin. Daha sonra bu dosyayı EEPROM'a flashlıyoruz. İki nokta arasındaki süreyi 7 bite ittiğimiz için 4ms ile sınırlandırılmıştır. İki nokta arasındaki süre bu değeri aşarsa, program noktaları dosyaya göndermeyi reddedecektir.

9) Jumper'ları çıkarın. Cihazı yeniden başlatıyoruz. Hazır!

Test videosu

Kızılötesi uzaktan kumanda en çok kullanılanlardan biridir. basit yollar ile etkileşimi elektronik aletler... Yani, hemen hemen her evde bu tür birkaç cihaz var: bir TV, müzik Merkezi, video oynatıcı, klima. Ancak kızılötesi uzaktan kumandanın en ilginç uygulaması robotun uzaktan kumandasıdır. Aslında bu dersimizde popüler Arduino Uno kontrolörünü kullanarak böyle bir kontrol yöntemini uygulamaya çalışacağız.

1. IR uzaktan kumanda

Bir robota kızılötesi (IR) uzaktan kumandaya uymayı öğretmek için ne gerekir? İlk olarak, uzaktan kumandanın kendisine ihtiyacımız var. Normal bir TV uzaktan kumandası kullanabilir veya minyatür bir araba radyosu uzaktan kumandası satın alabilirsiniz. Robotları kontrol etmek için sıklıkla kullanılan bu konsollardır.

Bu uzaktan kumanda 10 sayı düğmeleri ve müziği değiştirmek için 11 düğme: ses seviyesi, geri sarma, oynatma, durdurma vb. Amaçlarımız için fazlasıyla yeterli.

2. IR sensörü

İkincisi, uzaktan kumandadan bir sinyal almak için özel bir IR sensörüne ihtiyacımız var. Genel olarak, geleneksel bir fotodiyot / fototransistör ile kızılötesi radyasyonu algılayabiliriz, ancak bunun aksine, IR sensörümüz yalnızca 38 kHz'de (bazen 40 kHz) bir kızılötesi sinyali algılar. Sensörün aydınlatma lambalarından ve güneşten gelen çok sayıda yabancı ışık gürültüsünü görmezden gelmesini sağlayan bu özelliktir.

Bu eğitim için popüler IR sensörünü kullanacağız. VS1838B, aşağıdaki özelliklere sahiptir:

  • taşıyıcı frekansı: 38 kHz;
  • besleme gerilimi: 2,7 - 5,5 V;
  • tüketim akımı: 50 μA.

Diğer sensörler kullanılabilir, örneğin: TSOP4838, TSOP1736, SFH506.

3. Bağlantı

Sensörün üç ucu (üç ayağı) vardır. Sensöre IR sinyal alıcısının yan tarafından şekilde görüldüğü gibi bakarsanız,

  • sonra solda - kontrolöre çıkış olacak,
  • merkezli - negatif temas güç kaynağı (toprak),
  • ve sağda pozitif güç kontağı (2,7 - 5,5V) bulunur.

Şematik bağlantı şeması

Düzen görünümü

4. Program

IR sensörünü bağlayarak Arduino Uno için bir program yazacağız. Bunun için kullanacağız standart kitaplık IRuzaktan kumanda, sadece IR sinyallerinin alınması ve iletilmesi ile çalışmayı basitleştirmek için tasarlanmıştır. Bu kitaplığın yardımıyla, uzaktan kumandadan komutlar alacağız ve yeni başlayanlar için bunları monitör penceresinde görüntülemeniz yeterli. seri port... Bu program, her butonun hangi kodu verdiğini anlamamız açısından bizim için kullanışlıdır.

#include "IRremote.h" IRrecv recv (2); // alıcının bağlı olduğu çıktıyı belirtin decode_results sonuçları; void setup() (Serial.begin (9600); // hızı ayarla COM bağlantı noktası irrecv.enableIRIn (); // almaya başla) void loop () (if (irrecv.decode (& sonuçlar)) (// eğer veri Serial.println (results.value, HEX) geldiyse; // veriyi yazdır irrecv.resume (); / / sonraki komutu kabul et))

Programı Arduino'ya yüklüyoruz. Bundan sonra uzaktan kumandadan komutları almaya çalışıyoruz. Seri bağlantı noktası monitörünü açın (Ctrl + Shift + M), uzaktan kumandayı alın ve sensöre doğrultun. Farklı tuşlara basarak bu tuşlara karşılık gelen kodları monitör penceresinde gözlemliyoruz.

Programı yükleme sorunu

Bazı durumlarda, programı denetleyiciye yüklemeye çalışırken bir hata görünebilir:

TDK2 değildi Kapsamında ilan edildi

Bunu düzeltmek için kitaplık klasöründen iki dosyayı silmeniz yeterlidir. Explorer'a giriyoruz. Uygulamanın kurulu olduğu klasöre gidin Arduino IDE'si(büyük olasılıkla bu "C: \ Program Files (x86) \ Arduino"). Ardından kütüphane klasörüne:

... \ Arduino \ kütüphaneler \ RobotIRremote

Ve dosyaları silin: IRremoteTools.cpp ve IRremoteTools.h. Ardından Arduino IDE'yi yeniden başlatın ve programı tekrar kontrolöre indirmeyi deneyin.

5. IR uzaktan kumandayı kullanarak LED'i kontrol ediyoruz

Artık hangi kodların uzaktan kumandadaki düğmelere karşılık geldiğini bildiğimize göre, denetleyiciyi ses düğmelerine basıldığında LED'i ateşleyecek ve söndürecek şekilde programlamaya çalışıyoruz. Bunu yapmak için kodlara ihtiyacımız var (uzaktan kumandaya bağlı olarak değişebilir):

  • FFA857 - hacim artışı;
  • FFE01F - ses kısma.

LED olarak pim 13'teki yerleşik LED'i kullanıyoruz, böylece bağlantı şeması aynı kalıyor. Yani program:

#include "IRremote.h" IRrecv recv (2); // alıcının bağlı olduğu çıktıyı belirtin decode_results sonuçları; void setup () (irrecv.enableIRIn (); // almaya başla) void loop () (if (irrecv.decode (& sonuçlar)) (// eğer veri gelirse değişir (results.value) (durum 0xFFA857: digitalWrite ( 13, HIGH); break; case 0xFFE01F: digitalWrite (13, LOW); break;) irrecv.resume (); // sonraki komutu kabul et))

Arduino'ya yükleyin ve test edin. basıyoruz cilt +- LED yanar. basıyoruz cilt- dışarı çıkar. Artık her şeyin nasıl çalıştığını bilerek, LED yerine robotun motorlarını veya diğer ev yapımı mikro elektronik cihazlarını kontrol edebilirsiniz!