İçindekiler:
- Adım 1: Bir IR Sensörü Nasıl Görünür?
- 2. Adım: IR Sensörü Koparma Kartı/modülü
- Adım 3: Gerekli Parçalar ve Bileşenler
- Adım 4: IR Sensörünü Arduino'ya Bağlama
- Adım 5: Uzaktan Kumandadaki Her Tuşa Karşılık Gelen Kodu Bulun
- 6. Adım: IR Uzaktan Kumandayı Kullanarak Bir LED Setini Kontrol Edin
- 7. Adım: Sorun Giderme
- Adım 8: Daha Sonra Ne Yapmalı?
Video: Arduino İle Kızılötesi Sensör Kullanımı: 8 Adım (Resimli)
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:17
Kızılötesi (diğer adıyla IR) sensör nedir?
Bir IR sensörü, standartlar tarafından tanımlanan belirli frekans aralıklarında IR sinyallerini tarayan ve bunları çıkış pininde (tipik olarak sinyal pini olarak adlandırılır) elektrik sinyallerine dönüştüren elektronik bir araçtır. IR sinyalleri temel olarak, TV uzaktan kumandalarında veya diğer benzer elektronik cihazlarda daha önce çalışmış olduğunuz gibi kısa mesafelerde (genellikle birkaç metre) hava üzerinden komutları iletmek için kullanılır.
IR iletişim protokolü
Her sinyal belirli bir kodu temsil eder. Elektrik sinyalleri, göndericinin gönderdiği gerçek veriye/koda geri dönüştürülebilir. TV uzaktan kumandanızdaki bir düğmeye bastığınızda, düğme koduna (örn. Açma/Kapama, Sesi Açma vb.) karşılık gelen bir sinyal üretir ve bunu bir alıcıya (bu durumda TV'niz) gönderir. Hem gönderici hem de alıcı bir dizi kod üzerinde anlaştılar, böylece alıcı her bir koda göre ne yapacağını bilir. Bir kodun sinyal olarak modüle edilme (modellenme) şekli farklı standartlarda tanımlanır ve her sensör üreticisi normalde farklı cihazlarda kullanılabilecek şekilde kendileriyle uyumlu bir ürün üretmeye çalışır. En bilinen standart protokollerden biri NEC'dendir. IR protokollerinin kısa bir geçmişini Wikipedia'da Tüketici IR başlığı altında bulabilirsiniz.
Adım 1: Bir IR Sensörü Nasıl Görünür?
IR sensörleri farklı paketlerde mevcuttur. Burada bir IR alıcısı için bazı tipik ambalajları görebilirsiniz.
2. Adım: IR Sensörü Koparma Kartı/modülü
Bunları ayrıca eBay, Aliexpress veya Amazon'da bir IR modülü/breakout board olarak da satın alabilirsiniz. Bu tür modüller normalde yukarıda bahsedilen sensörlerden birini, sensör bir sinyal algıladığında yanıp sönen bir LED ile birlikte güzel bir devre tahtası dostu paket ile birleştirir. Bunu yaparak, herhangi bir verinin aktarılıp aktarılmadığını fark edeceksiniz. Bu modüllerden biriyle başlamanızı şiddetle tavsiye ederim.
Not: Ham bir IR sensörünüz varsa, kablolamayı doğru yaptığınızdan emin olmak için sensörün veri sayfasını kontrol etmeniz dışında hiçbir şey değişmez çünkü aksi halde bir süre sürecek güzel bir mavi dumana sahip olabilirsiniz. saat. Ne demek istediğimi biliyorsun;)
Adım 3: Gerekli Parçalar ve Bileşenler
Bu öğreticiyi tamamlamak için ihtiyaç duyacağınız bileşenlerin listesini burada bulabilirsiniz:
eBay bağlantıları:
- 1 x Arduino Uno:
- Uzaktan kumandalı 1 x IR sensör modülü:
- 4 x 220 ohm direnç:
- 4 x LED:
- 8 x Dupont kablosu:
- 1 x Lehimsiz devre tahtası:
- 1 x Mini devre tahtası (isteğe bağlı):
Amazon.com bağlantıları:
- 1 x Arduino Uno:
- Uzaktan kumandalı 1 x IR sensör modülü:
- 1 x Lehimsiz devre tahtası:
- 4 x 220 ohm direnç:
- 4 x LED:
- 8 x Dupont kablosu:
- 1 x Mini devre tahtası (isteğe bağlı):
Adım 4: IR Sensörünü Arduino'ya Bağlama
Arduino'ya IR sensör bağlantısı kurmak çok basittir. Sensör, VCC ve GND pininin yanında Arduino'nun dijital pinlerinden birine bağlanması gereken tek bir çıkış pinine sahiptir. Bu durumda pin 13'e bağlanır.
Hem IR sensör modülünü hem de ham IR sensör kurulumunu göstermeye çalıştım. Resimlerde görüldüğü gibi sensör modülü üzerindeki VCC ve GND pinlerinin konumu ham sensörün tam tersidir. Ancak sensörünüz için durum böyle olmayabilir, önceki adımda belirtildiği gibi, ham sensör kullanılması durumunda önce veri sayfasını kontrol edin.
Adım 5: Uzaktan Kumandadaki Her Tuşa Karşılık Gelen Kodu Bulun
Arduino'yu uzaktan kumandadaki bir tuşa bastığınızda bir şey yapacak şekilde programlamak için önce o tuşa karşılık gelen koda sahip olmanız gerekir. Anahtar kodu, normalde onaltılık olarak sunulan bir sayıdır. Her uzaktan kumandanın kendi anahtar kodu seti vardır, ancak iki kumandanın aynı kodu farklı amaçlarla paylaşması mümkündür. Farklı frekans aralıklarının kullanılmasının yanı sıra farklı anahtar kodlarına sahip olmak, farklı cihazların iki uzaktan kumandasının parazit olmamasını sağlar. Bu yüzden TV kanalınızı değiştirdiğinizde DVD oynatıcınız hiç tepki vermiyor.
IR uzaktan kumandanızın kodlarını algılamak için, önce bir tuşa bastığınızda sensörden kodu okumaya çalışan ve bunu seri bağlantı noktası üzerinden bilgisayarınıza, Seri İzleme araçlarını kullanarak erişebileceğiniz yere gönderen basit bir çizim çalıştırmanız gerekir. Arduino IDE'si. Bu bölüme ekli taslağın yaptığı şey budur. Kodu görmek için her tuşa basmanız ve ileride bu kodu tekrar çalıştırmanıza gerek kalmaması için kodların listesini bir yere yazmanız daha iyi olacaktır. Resimde tablo olarak gördüğünüz anahtar kodların listesi aslında ucuz IR uzaktan kumandamdaki düğmelere basarken aldığım kodlardır.
Arduino web düzenleyicimde paylaşılan asıl kaynak koduna ir-key-code-logger'dan da erişebilirsiniz.
Not: Arada bir yerde FFFFFF gibi bir kod görürseniz korkmayın. Bu, bir süre bir düğmeye basıp basılı tuttuğunuz anlamına gelir. Konuya daha sonra döneceğiz. Şimdilik onları görmezden gelin ve diğer kodlara odaklanın.
6. Adım: IR Uzaktan Kumandayı Kullanarak Bir LED Setini Kontrol Edin
Artık her düğme için bir kodumuz olduğuna göre, onları nasıl kullanabileceğimize odaklanmanın zamanı geldi. Normalde, bir lambayı açmak veya kapatmak, bir robotu belirli bir yönde hareket ettirmek, bir LCD/OLED ekranda bir şey görüntülemek, vb. gibi bir şey yapmak için Arduino'ya komutlar göndermek için IR uzaktan kumandayı kullanırsınız. Burada basit bir kullanarak işlemi göstermeye çalışıyoruz. farklı renklerde 4 ledden oluşan devre. Her birini IR uzaktan kumandanın özel bir düğmesiyle açıp kapatmak istiyoruz. Şematikte de göreceğiniz gibi Arduino'yu LED'lere ve sensöre şu şekilde bağlamanız gerekiyor:
Arduino GND -> IR sensörü GND.
Arduino VCC -> IR sensörü VCC.
Arduino 13 -> IR sensör sinyal çıkışı.
Arduino 2 -> Mavi LED'in anodu (mavi LED'in daha kısa pimi)
Arduino 3 -> Yeşil LED'in anodu (yeşil LED'in daha kısa pimi)
Arduino 4 -> Sarı LED'in anodu (sarı LED'in daha kısa pimi)
Arduino 5 -> Kırmızı LED'in anodu (kırmızı LED'in daha kısa pimi)
Arduino GND -> 220 ohm direnç üzerinden tüm LED'lerin katodu (LED'lerin daha uzun pimi)
Bu devreye karşılık gelen kodu ekteki dosyada veya ir-led-control'deki Arduino web editörümde bulabilirsiniz.
7. Adım: Sorun Giderme
Projenizi kurarken ve adımları takip ederken birçok garip durumla karşılaşabilirsiniz. Kızılötesi sensörle çalışırken alabileceğiniz bazı yaygın hataların listesi.
Bir tuşa basıldığında FFFFFF alınıyor
Bir düğmeye bastığınızda, çoğu zaman FFFFFF gibi bir kod bildirdiğini fark edebilirsiniz. Bu, bir düğmeye bastığınızda ve kısa bir süre için bile olsa bir süre basılı tuttuğunuzda olur. Senaryo, başlangıçta düğmeye bastığınızda, IR uzaktan kumandanın düğme kodunu göndermesi ve düğmeyi basılı tuttuğunuz sürece FFFFFF göndermeyi tekrarlaması, bu da kullanıcının son zamanlarda bildirilen düğmeye basmaya devam ettiği anlamına gelir. Bu iyi olurdu. Onları atlayabilirsiniz. Gerçek kod, Seri Monitörde FFFFFF'den hemen önce aldığınız koddur.
IR Sensör hiç tepki vermiyor ve ısınıyor gibi görünüyor
Gücü kesin!!! Anahtar kod kaydedici taslağının doğru olduğundan eminseniz, sorun kablolarınızın yanlış kurulumundan kaynaklanıyor olabilir. Başıma gelen senaryo, IR modülüm için (karta bağlı olan) VCC ve GND'yi ters şekilde bağlamış olmamdı (bağlantı kablolarım için uygun bir renk kullanmadığım için). Bunu yaparak sensör bileşeni yandı ve hoş bir mavi duman yükseldi. Bir paket ham IR sensörü aldım ve değiştirmeye çalıştım ve şimdi bir cazibe gibi çalışıyor:). Maalesef aynı hatayı ham IR sensörüyle test ederken yaptım ve bu sefer sensörün ısınması dışında hiçbir şey olmadı. Bu yüzden gücü açmadan önce daima devreyi kontrol edin!
Bazen sensör daha önce hiç görmediğim bir kod algılıyor
Bu en yaygın sorunlardan biridir. Büyük olasılıkla aşağıdaki nedenlerden biridir:
IR uzaktan kumandanızı doğrudan sensöre doğru tutmuyorsunuz
Bu, daha önce hiç almadığınız ve normalde zaten sahip olduğunuz kodların uzunluğuyla eşleşmeyen bazı yeni kodlara (çoğunlukla daha uzun kodlar) sahip olmanıza yol açacaktır. Bu nedenle, uzaktan kumandayı her zaman sensörünüze doğru tutmayı unutmayın.
Ucuz bir IR uzaktan kumanda kullanıyorsunuz (bu eğitimde kullandığım gibi)
Ucuz, öngörülemeyen uzaktan kumandalar kullanmak yerine, TV veya DVD Oynatıcınızın uzaktan kumandasını veya sahip olduğunuz herhangi bir cihazın IR uzaktan kumandasını kullanarak aynı senaryoyu deneyebilirsiniz. Normalde iyi bir sinyal/donanım kalitesine sahiptirler (ve elbette daha pahalıdırlar) ve deneyimlerime dayanarak, uzaktan kumandanızı doğrudan sensöre doğru tutmasanız bile normalde iyi çalışırlar.
Günlüğe kaydedilen bir kodun çöp olmadığını nasıl anlarım
Kodlar normalde onaltılık biçimde sunulur. Bunları karşılık gelen ikili değere dönüştürürseniz, son baytın ikili gösteriminin baytın olumsuzlamasının bundan önce geldiğini fark edeceksiniz. Bunu biliyorsanız, aldığınız kodun gerçekten geçerli olup olmadığından emin olmak için kodunuzda bu kontrolü yapabilirsiniz. Örnek olarak, FF7A85'e sahipseniz, ikili gösterimi aşağıdaki gibi olacaktır:
1111 1111 0111 1010 1000 0101
Soldan sağa, her 4 basamaklı grup, orijinal onaltılık sayıdaki bir karakterin temsilidir. Gördüğünüz gibi 7'ye tekabül eden parti 0111 ve 8'e karşılık gelen parti 1000'dir ki bu da bunun tam tersidir. Olumsuzlama ile, tüm 0'ların 1'ler olacağını ve tüm 1'lerin 0'larla değiştirileceğini kastediyorum. Aynısı A (1010) ve 5 (0101) olan bir sonraki için de geçerlidir.
Adım 8: Daha Sonra Ne Yapmalı?
Şimdi senin sıran. Elinizdeki bu küçük basit sensörle neler yapabileceğinizi görmek tamamen hayal gücünüze kalmış. İşte başlamak için bazı fikirler:
- Evinizdeki cihazlardan birinin (TV, Stereo vb.) IR uzaktan kumandasını kullanın ve Arduino projenizde kullanmayı deneyin.
- Bir tuşa basarak tüm LED'leri aynı anda açmayı ve ardından başka bir tuşla kapatmayı deneyin.
- LED'leri hepsi açılıp kapanana kadar tek tek açmak/kapatmak için uzaktan kumandanın Yukarı/Aşağı düğmesini kullanın.
- LED'leri kullanarak bir trafik ışığı oluşturun ve uzaktan kumandanızı kullanarak kontrol edin
- Elinizde küçük bir DC motor varsa, IR uzaktan kumanda ile başlatmayı/durdurmayı veya dönüş yönünü değiştirmeyi deneyin.
- Robotunuzu kontrol etmek veya robot üzerindeki bazı sensörleri/aktüatörleri etkinleştirmek/devre dışı bırakmak için TV uzaktan kumandanızı kullanabilirsiniz.
IR uzaktan kumandayı kullanarak ne yapardınız (veya zaten yaptınız) hakkında yorumlarda bana bildirin.
Önerilen:
Mıknatıs Kullanımı İle Açılan Pille Çalışan Lamba!: 8 Adımda (Resimli)
Mıknatıs Kullanarak Açılan Pille Çalışan Lamba!: Çoğu lambanın fiziksel bir anahtarla açılıp kapandığını biliyoruz. Bu projedeki amacım, o klasik anahtar olmadan lambayı kolayca açıp kapamanın benzersiz bir yolunu yaratmaktı. Bu işlem sırasında şekil değiştiren bir lamba fikri ilgimi çekti
CO2 Ölçer, Arduino Mega ile Sensör SCD30 Kullanımı: 5 Adım
CO2 Ölçer, Sensör SCD30'u Arduino Mega ile Kullanma: CO2'nin, sıcaklığın ve sıcaklığın, SCD30'un etkileşimli ortam koşullarının sağlanması için gerekli parametreler. la calibración ya no sea válida
Arduino Üzerinde RC522 ile Mifare Ultralight C Kullanımı: 3 Adım
Arduino Üzerinde RC522 ile Mifare Ultralight C Kullanımı: Kart sahiplerini tanımlamak veya bir şey yapmaya yetki vermek (kapı açmak vb.) için RFID teknolojisini kullanmak oldukça yaygın bir yaklaşımdır. Kendin Yap uygulaması durumunda, oldukça ucuz olduğu ve bu modül için çok sayıda kod bulunduğu için RC522 modülü yaygın olarak kullanılmaktadır
ESP8266 ile Kızılötesi Sensör: 6 Adım
ESP8266 ile Kızılötesi Sensör: Bu seferki amacımız, sensörümüze doğru bakan herhangi bir nesnenin ortam sıcaklığını okuyacak bir program oluşturmak. Bunu yapmak için, bu projede bir ESP8266 nodeMCU, bir MLX90614 kızılötesi sensör ve bir OLED 96 "ekranı kullanacağız
Arduino İle I2C Kızılötesi Uzaktan Kumanda: 8 Adım (Resimli)
Arduino ile I2C Kızılötesi Uzaktan Kumanda: ÖnsözBu Talimat, arayüz için I2C kullanarak evrensel bir uzaktan kumandanın nasıl oluşturulacağını ayrıntılarıyla anlatır. Bir I2C bağımlı cihazı kullanarak ne kadar garip diyorsunuz? Evet, bir I2C bağımlı cihazı. Bunun nedeni, IR paketlerinin doğru zamanlamasının oldukça zorlu olması ve