İçindekiler:

Sinyal Kodu İletişim Cihazları (RFM69): 7 Adım (Resimli)
Sinyal Kodu İletişim Cihazları (RFM69): 7 Adım (Resimli)

Video: Sinyal Kodu İletişim Cihazları (RFM69): 7 Adım (Resimli)

Video: Sinyal Kodu İletişim Cihazları (RFM69): 7 Adım (Resimli)
Video: TELEFONUN ÇEKİM GÜCÜNÜ ARTIRMA KODU İŞE YARIYOR MU? 2024, Temmuz
Anonim
Sinyal Kodu İletişim Cihazları (RFM69)
Sinyal Kodu İletişim Cihazları (RFM69)
Sinyal Kodu İletişim Cihazları (RFM69)
Sinyal Kodu İletişim Cihazları (RFM69)

Bu “2-bit” (dijital) radyo iletişim cihazları, büyük bir kutu mağazasının karşı uçlarında alışveriş yaparken (nerede olduklarına dair; yapıldıysa…) birbirlerine sinyal vermek için bir araç sağlar; cep telefonlarının servis veya pil şarjı olmadığı durumlarda bile.

RFM69 915MHz radyo modülleri kullanılmaktadır. Dijital paket iletişim kullanan çok verimli, düşük güçlü radyolardır. Düşük güç kullanarak 100 metrenin üzerinde, sadece 10 miliamperde ve yaklaşık 120 ma kullanarak 1/2 kilometre hatta 1/2 mil kadar iletişim kurabilirler.

RFM69 radyo modülleri, NRF24L01 veya RFM12'ye göre daha uzun mesafelerde çok daha verimli ve etkilidir.

Daha da güvenilir daha uzun mesafeli bağlantılar için bu proje aynı şekilde kullanılan LoRa radyo modüllerine de yapılabilir. Benzer boyut ve arayüze sahip birkaç LoRa cihazı (bir RFM95 gibi) var. Ama çok daha pahalıya mal oldular ki bu benim için yersizdi.

Üniteler bir dizi dijital, 10-20 (yer?) tarzı soru ve cevap kodunu destekler (bkz. wiki/Ten-code https://en.wikipedia.org/wiki/Ten-code); yanı sıra isteğe bağlı Mors kodu. Üniteler herhangi bir sesli (analog) iletişimi desteklemez.

Ayrıca, biri nekahat halindeyken veya evin altında çalışırken, 3 seviyeli dikkat talebi olan çağrı cihazı olarak da kullanılabilirler.

Bunun ötesinde, özellikle çocuklar veya öğrenciler için çok eğlenceli olabilirler.

Adım 1: Bileşenleri Toplayın

Radyo modülü 5v besleme veya sinyal voltajını kaldıramayacağından, 3,3v MCU kullanmalısınız. Ayrıca radyo modüllerinin 'H' yüksek güçlü versiyonunu kullandığımı da unutmayın.

Bu liste 2 birim inşa etmektir.

  • miktar. 2 Pro Mini 3.3v Arduino MCU
  • miktar. 2 RFM-69HCW 915MHz modülü
  • miktar. 2 Kasa (pil bölmesi olacaktı)
  • miktar. 2 Li-ion 3.7v 200+mah pil https://www.ebay.com/itm/311682151405 (7x20x30mm, ~Maksimum kullanılabilir boyut 9x24x36mm)
  • miktar. 4 Kırmızı-Yeşil 5mm Ortak Katot İki Renkli LED https://www.ebay.com/itm//112318970450 (kablolama ve arıza voltajı önemlidir)
  • miktar. 4 adet 6x6x7.5mm düğme anahtarı
  • miktar. 2 Piezo aktif zil
  • miktar. 2 adet direnç … 270 Olm, 1.5kOlm, ~5k
  • miktar. 2 0.1 uf monolitik kapak

İsteğe bağlı

  • miktar. 2 3 mm Beyaz (veya Mavi) LED
  • miktar. 2 adet 3,5 mm Fono jakı
  • miktar. 2 220uf güç filtresi kondansatörü
  • buzlu dondurma çubuğu

İhtiyaç duyabileceğiniz diğer malzemeler

30ga tel katı https://www.ebay.com/itm/142255037176, 26ga tel tek parça veya 24ga çok telli, topraklama ve +V için

Anten için 22ga tel katı

Çeşitli: lehimleme malzemeleri, bant, sıcak tutkal, prototipleme araçları.

USB'den TTL'ye dönüştürücü

Seçenek donanımı:

Gelen iletişimleri kaçırmamak için bir kulak parçası bağlamak için bir stereo jak. Ayrıca taşınabilir bir hoparlör amfisi de bağlanabilir.

Küçük (3 mm) beyaz LED isteğe bağlıdır. ON göstergesi olarak hizmet etmesi için ekledim. Dahili bir dirençten (~ 37k) bir miktar sürücü akımı verilen Btn1'e bağladığım için eklemek basitti. Bu kadar küçük bir sürücü ile bu LED'in yüksek verimli olması gerekir. Yeşil veya belki mavi bir LED kullanılabilir, ancak voltaj düşüşleri çok düşük olduğundan ve düğmeye basılmış gibi görüneceğinden sarı veya kırmızı kullanılamaz. Yeşili kullanmazdım çünkü bu renk sinyal bilgisi için kullanılır.

Fono jakı da atlanabilir. Bu cihaz çok fazla ses çıkarmaz, ancak başkalarının dikkatini çekmekten endişe ediyorsanız, kulaklık kullanma seçeneği sunar. Alternatif olarak, ses için deliğin üzerine bir parça scotch bant etkilidir.

Tüm ölçümleri kolay ve doğru yapmak için bu ucuz kumpas gerçekten hoşuma gitti.

2. Adım: MCU-radyo Alt Sistemini Oluşturun

MCU-radyo Alt Sistemini Oluşturun
MCU-radyo Alt Sistemini Oluşturun
MCU-radyo Alt Sistemini Oluşturun
MCU-radyo Alt Sistemini Oluşturun
MCU-radyo Alt Sistemini Oluşturun
MCU-radyo Alt Sistemini Oluşturun

Kısa kabloları MCU pinlerine bağlayın: 10, 11, 12, 13; pin2'ye orta uzunlukta bir tel.

Kullanılacak MCU'nun G/Ç pinlerine uzun (4-5 inç) ekleyin (pimler: 3-9). Çevre birimleri için 30 AWG ölçer ve farklı renkler kullandım. Bu küçük çaplı tel, 100 miliamperden daha az olan sinyalleri işleyebilir, ancak sıkı montajı kolaylaştırmak için oldukça küçük ve yeterince esnektir (ve şiddetle tavsiye edilir).

Ayrıca bir topraklama ve bir Vcc kabloları bağlayın (26ga kullandım, fotoğraflardaki mavi olanlardır). Bu tel daha fazla akım taşır, bu nedenle voltaj düşüşünü (ve potansiyel gürültü sinyali radyasyonunu) azaltmak için büyük bir gösterge kullanın.

MCU'yu RFM-69 kartıyla bağlayın. Uzun teller hariç hepsi ona gider.

Radyo kartını MCU kartının üzerine katlayın. Tahtalar arasında şort olmamalıdır. Kısa süreli kullanım için gerçek bir potansiyel varsa, arada bir bant veya plastik levha kullanın.

Anten kablosunu (22-24ga. 80mm) fotoğrafta görüldüğü gibi radyo kartına ekleyin.

Adım 3: Geliştirme Testi

Geliştirme Testi
Geliştirme Testi
Geliştirme Testi
Geliştirme Testi

Bu birimlerin uygulanması için bu bölümü atlayabilirsiniz. İlgilenenler için bu, oraya nasıl geldiğim hakkında biraz daha bilgi verir.

915MHz için ¼ dalga uzunluğu 82 mm'dir. Sparkfun.com öğreticisi, 78 mm kullanmanızı önerir. Anten teknolojisinin, anten topraklamanın ½ dalga uzunluğunda olduğu zaman anteninizin olduğundan ~% 5 daha uzunmuş gibi davranacağını söylediğini anlıyorum. Bir fitten daha az olan 915Mhz'ye gelince ve normalde bu üniteyi yerden çok daha yüksekte çalıştırırsınız, bu 78 mm'lik uzunluğu reddediyorum. Bununla birlikte, tam olarak ¼ dalga boyundan daha azını kullanmayı akıllıca kabul eden benzer etkilere neden olabilecek başka faktörler de vardır. Anten kablolarımı toplamda 80 mm'ye kadar kestim ve kestim (PCB'den geçen bölüm dahil). Uygun test ekipmanı ile anten uzunluğunu üniteniz için daha iyi optimize edebilirsiniz, ancak yalnızca küçük iyileştirmeler beklerdim.

Ayarlamalardan sonra bazı engellerle birlikte yaklaşık 250m maksimum menzil elde ettim. 150m'nin ötesinde antenin yönü ve konumu giderek daha önemli hale geldi.

Bir ünite için tam dipol tipi bir anten konfigürasyonu (aşağıyı işaret eden 80 mm topraklama kablosu elemanının karşısında dikey 80 mm aktif eleman) kullandığımda, deneme yanılma ile 400 metreye kadar birkaç ağaç ve aralarında bir ev, ve uzak ünitelerin konumu veya yöneliminden bağımsız olarak bu mesafede ½'de kesintisiz 2 yollu iletişim.

Adım 4: Proje Kutusunu Hazırlayın

Proje Kutusunu Hazırla
Proje Kutusunu Hazırla
Proje Kutusunu Hazırla
Proje Kutusunu Hazırla
Proje Kutusunu Hazırla
Proje Kutusunu Hazırla
Proje Kutusunu Hazırla
Proje Kutusunu Hazırla

Bu projenin küçük bir kutu kullanılarak inşa edilmesi oldukça zordur. Ev, endüstri ve havacılık projeleri için pek çok özel elektronik alet yapma deneyimim var. Acemi, inşaatı çok daha kolay hale getiren daha büyük bir konteyner kutusu kullanmayı tercih edebilir. Sonuçta aradığımız şey keyif, hayal kırıklığı değil. BTW, kurduğum ünitelerin fotoğraflarında küçük farklılıklar görebilirsiniz.

Kutunun içinin çoğunu temizleyin. Sağda iki ve solda bir kaburga kesmek için bir keski veya X-acto bıçağı kullanın. (öncesi ve sonrası kutunun içinin fotoğrafına bakın)

Bir X-acto veya soyma bıçağının ucunu ısıtın (bir çakmak kullanarak ~ 15 saniye boyunca) ve kasanın içindeki büyük bir direği kesin ve diğer ikisini yaklaşık 1/8 inç alçaltın. Anahtarı monte ettikten sonra, anahtarı yerinde tutacak kadar bu iki direği erittim.

Delik yerlerini işaretlemek için kutuda maskeleme bandı kullandım. Yukarıdaki fotoğraflara bakın.

Deliklerin delinmesini işarette tutmak için önce bir dart ucu ile noktaları işaretledim, ardından tüm yerleri 1/16'lık bir uçla deldim ve son olarak her bir deliği istenen boyutta açtım.

Kasadaki düğmeler, ses ve LED'ler için delikler açın. Ana LED'ler için üstteki iki delik 13/64” (5mm) ve kenardan 10mm. Ses (bip-buzzer) ve isteğe bağlı “Açık” led için delikler 1/8” (3mm). Üstten 10 mm uzaktalar. Küçük led yandan 7 mm'dir. Ses deliği yan yana ortalanmıştır. Yan taraftaki düğmeler için delikler 9/16” (3,5 mm). Bir düğme üstten 10 mm, diğeri 20 mm. Düğmelere basıldığında sıkışmamasını sağlamak için düğme deliklerinin iç kısmına 1/4” matkap ucuyla elle eğim verdim.

Harici kulaklık veya hoparlör için bir fono jakı kullanıyorsanız, altta önceden var olan deliği 15/64”e açmanız gerekir. Buradaki malzeme oldukça kalındır ve sadece onu delmeye çalışmak, kenara çok yakın bir delik oluşmasına neden olur. Bu nedenle, önce merkezi mevcut deliğin kenarından yaklaşık 16 inç uzakta olacak şekilde 1/16'lık bir delik açın. Ardından bu deliği 7/16” bit ile genişletin. Keskin bir küçük bıçakla (~Xacto) malzemeyi, bitişik iki delik kabaca bir olacak şekilde kesin. Deliklerin iyi yuvarlak bir delik oluşturması ve bir matkap ucunun kolayca merkezlenmesi için bir Dremel spiral törpü veya sıçan kuyruğu eğesi kullanın. Bu noktada delik neredeyse 15/64'üncü olmalıdır. (Bu noktada deliğin bir fotoğrafı var) Şimdi 15/64” bit ile delin. ¼ bit kullanırsanız 'Korkunç' olmaz.

Adım 5: Çevresel G/Ç Bileşenlerini Takma

Çevresel G/Ç Bileşenlerini Takma
Çevresel G/Ç Bileşenlerini Takma
Çevresel G/Ç Bileşenlerini Takma
Çevresel G/Ç Bileşenlerini Takma
Çevresel G/Ç Bileşenlerini Takma
Çevresel G/Ç Bileşenlerini Takma

Kasanın sınırları içinde lehimlerken, yanlışlıkla ütünün herhangi bir parçasının temas etmesine ve böylece kutunun bir kısmını, özellikle de dış kenarı boyunca eritmesine izin vermediğinizden emin olun.

Tuşlar

Düğmeleri konumlandırırken az miktarda yapıştırıcıyla zımbalayın. Sıcak tutkal sorun değil, ince tutkal (süper tutkal gibi) düğmenin içine girerek onu çalışmaz hale getirebilir. Düğmelerin her birine bir ayağımı kaldırdığımı unutmayın (yedek olanlar, ben bağlanmıyordum); çok fazla dışarı çıkmamaları için büktüler; ve iki alt pimi düğmeler arasına bağladı. Düğmeler, içten bağlantılı bacaklar yatay olarak karşılıklı olacak şekilde yerleştirilmiştir.

3mm “açma/kapama” LED'inin uçlarını Btn1'e bağlanabilmesi için katodu toprak tarafına gidecek şekilde bükün. Bu belki de en zor montaj sorunudur.

Kırmızı anotun yanındaki LED'lerin yanını işaretleyin. İki anodu (dış) yaklaşık ¼ inç'e kadar kesin. işaretli (kırmızı) uç ile onları yönlendirin. Orta ucu uzun bırakın, Daha sonra butonların zemin tarafına bağlanacak şekilde bükülürler. Fotoğraflara bakın.

Dirençleri takın.

LED'ler için yaptığım değer dirençlerini kullanmayın. LED'lerimi tam olarak yukarıda listelenenler değil, bir yıldan daha uzun bir süre önce satın aldım. LED verimliliği büyük ölçüde değiştiğinden, elinizdeki LED'lerle kullanım için direnç değerlerini test edin. 3 ila 3,3 volt (3,2v tercih edilir) sürücü voltajıyla istediğiniz parlaklık için dirençler seçin. Bir test besleme voltajı için seri olarak iki adet 1.5v pil veya 3.3v ile çalışan bir Arduino çipinden yüksek bir dijital çıkış kullanabilirsiniz. Hem kırmızı hem de yeşil öğeleri sürerken iyi bir gerçek Sarı elde ettiğinizi doğrulayın. Dirençleri, fotoğraflarda görüldüğü gibi LED'lere kesin ve lehimleyin.

Bir ünitede, çok fazla dışarı çıkmamaları için iki ana LED'in etrafında aralayıcı olarak bir Popsicle çubuğu kullandım. Bu kesinlikle kişisel bir tercihtir. Bunun, bu LED'lerin etkin parlaklığını/görüş açısını azaltan olumsuz bir yan etkisi vardır.

Zil sesinin dış kenarına biraz yapıştırıcı sürün ve ana LED'ler (+ sağa doğru) arasına yapıştırın. Yerine sabitlenmeden önce kasadaki delikle aynı hizaya gelecek şekilde konumunu ayarlayın.

Açma/kapama anahtarı, montaj deliği direklerini eriterek yerinde tutulur. Bunun için ısıtılmış ucu küçük bir tornavidaya kullandım.

Fono jakının somunu takılmaz, bu nedenle sabitlemek için karşı uçta sıcak tutkal kullanın.

Düğmeler ve LED'ler boyunca zemini bağlayın.

Bir artı ve eksi uç (~24ga. Katı) hazırlayın, böylece kesilmiş uçları kalın olduklarından iki kat daha geniş olacak şekilde dövün. Uçları daha sonra pil konektörüne kolayca girmelidir, ancak rahat olmalıdır. Tabii ki, pilinizle eşleşmesi amaçlanan bir ara bağlantı kablosuna sahipseniz veya bulabilirseniz, elbette bunu kullanın.

Açma/kapama düğmesini, fono jakını, sesli uyarıyı ve güç kablolarını bağlayın. Önceki bağlantı şemasına bakın.

Fono bağlantılarında küçük bir kapasitör var. Sıkı bir uyum olduğu için bu dışarıda bırakılabilir. Amacı çıkışta düşük seviyeli uğultuyu önlemektir.

Düğmeler (ayrıca açma/kapama düğmesi ve fono jakı) tamamen bağlanıp lehimlendikten sonra, yoğun kullanımdan sonra bile yerinden oynamaması için bunları sıcak tutkalla yerlerine yapıştırın.

Adım 6: Son Komple Montaj

Nihai Komple Montaj
Nihai Komple Montaj
Nihai Komple Montaj
Nihai Komple Montaj
Nihai Komple Montaj
Nihai Komple Montaj

MCU-radyo alt sisteminde I/O cihazlarıyla kasaya bağlanma zamanı.

MCU-Radyo alt sistemini bağlayın.

Telleri gerektiği gibi kesin, içlerinde sadece yeterli boşluk bırakarak alt sistem tertibatının tellerin diğer uçlarının lehimlenmesine izin verecek kadar yoldan çıkabilmesini sağlayın.

Ana LED'e giden kabloları doğru olanlara kırmızı/yeşile bağladığınızdan emin olun ve özellikle sol/sağ ilişkisini doğru yapın. LED'ler, Communicator'ı nasıl tuttuğunuz ve kullandığınız konusunda kasanın içine bakarken soldan sağa terstir. (eğer solak bir kişinin isteyeceği gibi, üniteleri karşı tarafı size bakacak şekilde kullanmayı düşünmüyorsanız).

MCU-Radyo alt sistemini yerine getirin ve aşağı bastırın, kabloları gerektiği gibi katlayın; şort yapılıp yapılmadığını kontrol etmek. Gerekirse altına bir parça elektrik bandı koyun.

Bu üniteyi, bir sonraki bölümde görüldüğü gibi, kısa kablo aracılığıyla geçici olarak takılan bir FDDI ile monte edilmiş haldeyken yeniden programlayabilirsiniz. USB indirme kablosundan Vcc seviyesinin 5v değil 3.3v olduğundan emin olun!

Pili takın, arkaya kaydırın ve içine yazılım indirmiş olduğunuza göre test edin. Pilin MCU kartının sıfırlama düğmesine basmasına izin vermemeye dikkat edin.

BTW, 300 mah pil, yeniden şarj edilmeden önce yaklaşık 12 saat çalışmaya değer.

7. Adım: Yazılım ve Cihaz Özellikleri ve Çalışması

Yazılım ve Cihaz Özellikleri ve Çalışması
Yazılım ve Cihaz Özellikleri ve Çalışması
Yazılım ve Cihaz Özellikleri ve Çalışması
Yazılım ve Cihaz Özellikleri ve Çalışması

Bu projenin işleyişinin bağlı olduğu diğer önemli kısmı ise yazılım programlamadır. Ama ben hepsini çözdüm, bu yüzden zorunda değilsin.

Pro mini Arduino'ya çizim indirme talimatlarını başka bir yerde kolayca bulabilirsiniz. Arduino IDE'nizi doğru cihaz ve çalışma frekansı için ayarlayın, aksi takdirde kötü ses ve belki de yanlış davranış alırsınız. 3.3v (5v değil) ile bir USB-TTL dönüştürücü kullandığınızdan emin olun. Ünitenin kendisi kapatılmalıdır. İndirme kablosunun ucuna bir dik açılı başlık yerleştirdiğimi ve ardından bunu MCU kartındaki ilgili deliklere yerleştirdiğimi ve ünitenin yeterince iyi, ancak geçici bir bağlantı sürdürerek ondan sarkmasına izin verdiğimi görebilirsiniz.

Ayrıca RMF69 için kitaplığı da kurmanız gerekir; bu sayfanın aşağısındaki "RFM69 Kitaplığını Kurma" bölümüne bakın.

Uygun şekilde düzenleyin (aşağıdaki kod bölümüne bakın), ekli Two_bit_Comm taslağını derleyin ve indirin.

// !!!! Bu düğümün adresleri. İKİNCİ DÜĞÜM İÇİN KİMLİKLERİ TERSİNE GEÇİN !!!!

#define MYNODEID 1 // Düğüm kimliğim (0 - 255) #define TONODEID 2 // Hedef düğüm kimliği (0 - 254, 255 = yayın)

Yazılım, radyo modüllerinin 'H' yüksek güçlü versiyonundan, başlangıçta orta bir güç kullanarak yararlanır ve daha sonra maksimum güçle denediği bir geri bildirim alamaz. Bilmiyorum ama telsizlerin yüksek güçlü olmayan versiyonları kullanılacaksa, bu işlemin bir sorun oluşturmamasını beklerdim.

Operasyonel Dokümantasyon

Başlatma, Açılışta:

Bir ünite yeniden başladığında, tüm donanım ve yazılımını başlatır ve Mod ve Seçenek ayarlarını diğer birime göndererek onları senkronize halde tutar. Tek bir kısa bip sesi duyulur ve ardından bu ilk iletişim başarılı olursa başka bir bip sesi duyulur ve yeşil ışık yanar. Bu noktada iletişim başarısız olursa ikinci bip sesi olmaz ve Kırmızı ışık yanar. İletişim başarısız olursa, muhtemelen diğer ünite kapsama alanı dışındadır, kapalıdır veya pili bitmiştir. Başarısızlık kabul edilmeden önce birden fazla yeniden deneme ve maksimum iletim gücüne bir artış denenir.

Mod 1 – 10-20 Tip İletişim

  • Merhaba
  • Yardım Gerekiyor
  • YARDIM!
  • Tamamlandı ? Gitmeye hazır ?
  • Neredesin ?
  • Beni ara.
  • Tekrar et lütfen

Uygun yanıt kuralları da tanımlanmıştır. "Neredesin?" sorusuna "Alan türü" ve "Bölüm türü" yanıtları dahil. istekler.

Ünite bir yanıt verdiğinde sabırlı olmanız gerektiğine dikkat edilmelidir, çünkü bu sırada tuşlara basışlar dikkate alınmayacaktır.

Mod 2 - bir Mors Kodu İletişimi biçimine izin verir

Hem tek tuş hem de iki tuş stili desteklenir.

Ekli "Two_bit_Comm_user_Manual" belgesi, yazılım tarafından desteklenen işlevsel işlemin tüm ayrıntılarını kapsar.

Önerilen: