» elektronik » Arduino »Arduino'da radyo kontrol ekipmanları

Arduino'da Radyo Kontrol Ekipmanları



Bu makalede, oransal tahta tabanlı radyo kontrol ekipmanlarının imalatı ele alınmaktadır. Arduino. Projenin ilginç bir özelliği, ekipmanın "yetişkin" ekipmanına bir alternatif olarak tasarlanması, ancak kendiniz yapabilmenizdir. Vericide, kontrol için önemli olan trim tuşları vardır, örneğin modeller verici, ayrıca vericinin çalışması hakkında temel bilgileri gösteren organik LED'lere sahip küçük bir ekranla donatılmıştır. Ekipman, 4 orantılı ve 2 ayrı 6 kanal için tasarlanmıştır. Yazar ayrıca, gelecekte iki orantılı kanalın daha eklenmesinin temelini attı, davaya 2 potansiyometre eklendi, ancak şu anda dahil değiller. Bununla birlikte, bu bir uçağın, geminin veya arabanın modelini kontrol etmek için yeterlidir ve ayrı kanallar, örneğin yüklerin, güverte ışıklarının, navigasyon ışıklarının dahil edilmesi ve hatta küçük füzeler fırlatmak gibi ek yükü kontrol etmenize izin verecektir. Ekipmanın iki kontrol modu vardır - doğrusal ve üstel.




Verici için ihtiyacınız olacak:

1 x Arduino NANO / UNO / ProMini
Üç Li-ion kutu için 1 x BMS koruma panosu
1 x 5.5 x 2.1 mm konektör
1 x Step Up DC / DC Dönüştürücü XL6009
1 x LM2596 küçük adım aşağı dönüştürücü (bunun hakkında ayrı ayrı konuşacağım)
3 x 18650:
2 x joystick JH-D202X (Ali'de satılır)
2 x geçiş anahtarı
1 x i2c OLED Ekran 0.96 inç 128X64
1 x amplifikatör ve antenli NRF24l01 radyo modülü
9 x incelik düğmesi 6 * 6 * 5 mm
Çıkış dirençleri (şemaya bakın)

Alıcı için ihtiyacınız olacak:

1 x Arduino NANO / UNO / Pro Mini
1 x Radyo Modülü NRF24l01
1 x AMS1117 3.3V voltaj regülatörü
30 x pls taraklar
1 x breadboard
1 x 10 uF kapasitör

Aşağıda tüm bileşenlerin grafik görüntüsünü ve bağlantılarının bir diyagramını görebilirsiniz. Montajdan önce, kova dönüştürücüler, XL6009 ila 12.6 V (bu modül şarj etmekten sorumludur), LM2596 ila 3.3 V (radyo modülüne güç) yapılandırılmalıdır. LM2596 yerine, teorik olarak ASM117 kullanmak mümkündür, veri sayfasına göre, bu dengeleyicinin maksimum giriş voltajı 15 V'dur, ancak görünüşe göre, bu hususlara dayanarak, yazarın başka bir DC / DC dönüştürücü kullanması önerilir. Bunun yerine, ayarlanabilir bir sabitleyici de kullanabilirsiniz, örneğin LM317.




konut

Arduino'da Radyo Kontrol Ekipmanları


Kasa iki ana bölümden oluşur: üst ve alt. Ek olarak, 9 düğme (kırpma için 8 ve bir mod düğmesi), 5 düğme için yedek, ekran çerçevesi ve güç kaydırıcısı yazdırılır.Yazar,% 20 kapsama alanına sahip bir silgi, 0.4 mm'lik bir meme ve 0.3 mm'lik bir tabaka yüksekliğine sahip bir PLA yazdırdı. Bu arada, kimse başka bir kasanın kullanımını yasaklamaz, sadece uygun bir kutu alabilir, kendiniz yapıştırabilir veya Çinli bir oyuncaktan oldukça büyük bir kasa alabilir, neredeyse sınıflandırılmış sitelerde torbalarda satılırlar.


Verici Montajı

Piller seri olarak bağlanmıştır. Yazar bunu lehimleme ile yaptı, 18650 lehim kutularının biraz beceri gerektirdiğini belirtmek istiyorum, bu yüzden böyle bir deneyiminiz yoksa, zaten kaynaklı yaprakları olan piller satın alın ve onlara lehim yapın. Ayrıca, yukarıdaki şemaya göre piller, girişi XL6009 dönüştürücüsünden voltajla beslenen BMS modülüne lehimlenir (bunun yerine MT3608 kullanılabilir). BMS, tüm kutuları eşit şekilde şarj etmek / boşaltmak ve piller bittiğinde gücü kapatmaktan sorumludur. Gerilim ekran kullanılarak da izlenebilir. Piller, 3 A'dan fazla olmayan bir akımla (maksimum XL6009 için) 9 V'luk bir güç kaynağı ile şarj edilir. Aslında, şarj akımı pillerin kapasitesine bağlı olarak hesaplanmalı ve güç kaynağını biraz daha düşük bir akımla almalı veya sınırlamalıdır. Modüllerin "otomobil" çift taraflı bant yardımı ile muhafazaya monte edilmesi uygundur.




Saat düğmeleri özel platformlara monte edilir, daha sonra kasanın içindeki ilgili desteklere küçük vidalarla bağlanırlar. Burada, aslında, her şey tasarımcı düzeyinde ve fotoğraftan iyi anlaşılıyor.




Düğmeler dirençler ile birbirine bağlanır, bu nedenle Arduino kartının sadece bir pimini kullanmanıza izin veren küçük bir dirençli klavye bırakır. Teller joystick potansiyometrelerine lehimlenir, aşırı uçlar toprağa ve 5 V, ortalama Arduino pinine yol açar. Bu düzeni tekrarlamak için planları var, ben zaten biraz denedim ve kodun gerektiği gibi kanalları otomatik olarak ters çevirme işlevi olduğunu söyleyebilirim, ama henüz düzeni bu çok ihtiyacı belirlediğini anlamadım. Bu, kanalın ters çevrilmesinin esasen, yerdeki aşırı sonuçları lehimleyerek gerçekleştirildiği anlamına gelir. Bu tür oyun çubukları, yazı yazılırken, Ali'de size bağlı olup olmadığına bağlı olarak, yaklaşık 7 dolarlık bir fiyatla satılmaktadır. Bunun yerine, arduino veya oyun denetleyicilerinden oyun çubukları için joystick modüllerini kullanabilirsiniz.

Aslında, joystick bir bölücü olarak çalışır, sapı saptırır, potansiyometrenin orta çıkışındaki voltajı değiştiririz ve bu voltaja bağlı olarak arduino sapmayı belirler.
[orta] [/ orta]
Bardaklar da bağlıdır. Geçiş anahtarları açık-kapalı gereklidir, çünkü kanal ayrıktır ve sadece iki değere sahiptir - arduino çıkışının toprağa veya 5V güç kaynağına çekilmesine bağlı olarak, 0 veya 1, çıkışı "havada asılı" bırakırsanız, üç konum kullanıldığında ne olur, kontrolör neler olduğunu anlamıyor ve değer rastgele 0 veya 1'e atlıyor (benim deneyimime göre). Dahil olmadıkları anda ek potansiyometre ayarlayamazsınız. Ya da kaynak sayfayı koyabilir ve izleyebilirsiniz, belki de yazar sonunda güncellenen ürün yazılımını gönderecektir.




Ardından, bir arduino, bir radyo modülü ve bir radyo modülü güç kartı takılır. Yukarıda açıklandığı gibi, üzerine 3.3 voltluk bir voltaj ayarlamak gerekir. Bunu standart bir değişken direnç kullanarak yapmak neredeyse imkansızdır, bu nedenle yazar onu lehimlemiş ve çok turlu bir düzeltici lehimlemiştir. Ardından, ekran monte edilir ve tüm bileşenler şemaya göre arduino terminallerine bağlanır.




sokma

Arduino ürün yazılımı zaten yaklaşık 1000 kez konuşuldu, bu noktada, bir arduino projesine devam ederken bunu yapabilme yeteneği, varsayılan olarak, lehimleme için bir şey tutarken bir havyayı elinizde tutma yeteneği kadar önemlidir.Vericinin, alıcının, gerekli kütüphanelerin kodu ve davanın 3B yazdırılması için bir dosya makalenin sonunda bir arşivden indirilebilir.


alıcı



Alıcı için başka bir Arduino kartına, bir radyo modülüne (antensiz, telemetri burada hala uygulanmamıştır) ve 3,3 voltluk bir dengeleyiciye ihtiyacınız olacaktır. Alıcı, breadboard'a lehimlenir. Alıcının gücü, hız kontrolörünün özel bir çıkışından diğer herhangi bir fabrika alıcısının gücü ile aynı şekilde gerçekleştirilir.




Kendi başıma, bu modülün standart anteni yerine, modüle monte edilen aynı antenin bir amplifikatörle (sadece muhafazasız) lehimlenmesinin arzu edildiğini eklemek istiyorum. Bu özellikle alım aralığını etkilemez, ancak kontrollü modelin farklı düzlemlerdeki konumuna bağlı olarak alım kalitesini önemli ölçüde etkiler. Modern alıcılar ve vericiler için, bu amaçla, birbirine dik olarak yerleştirilmiş iki anten bile kurulur.


Buna ek olarak, yazar PPM alıcı sinyalinden çok önemli bir fonksiyon - çıktı uyguladı. Şematik olarak, bu durumda hiçbir şey değişmez, sadece başka bir bellenimi doldurmanız gerekir, PPM sinyali çoğu fabrika alıcısında olduğu gibi - ilk kanaldan (gaz) çıkar.




Hepsi bu. Şahsen, projeyi gerçekten sevdim ve daha önce de söylediğim gibi, bir çocuk oyuncağının uzaktan kumandasından durumda tekrar etmeyi planlıyor. Menüde modu doğrusaldan üstel hale getirebilir ve her çubuğun değerine ince ayar yapabilirsiniz. Her kanalın ortalama değerinin 127 olması gerektiğini unutmayın.


İhtiyacınız olan her şeyi indirebilirsiniz burada.

İşteki tüm başarılar!
8.9
8.6
8.6

Yorum ekle

    • gülümsegülümsemelerxaxatamamdontknowyahoonea
      patronçizikaptalevetevet-evetagresifgizli
      üzgünümdansdance2dance3pardonyardımiçecekler
      Durarkadaşlariyigoodgooddüdükbaygınlıkdil
      dumanzırıltıcraybeyanalaycıDon-t_mentionindir
      ısıöfkelilaugh1mdatoplantımoskingnegatif
      Not_ipatlamış mısırcezalandırmakokumakkorkutmakkorkutuyorarama
      alaythank_youbuto_clueumnikakutanlaşmak
      kötübeeeblack_eyeblum3kızarmakövünçcan sıkıntısı
      sansürlüşakasecret2tehdit etmekzaferyusun_bespectacled
      shokrespektlolPrevedkarşılamaKrutoyya_za
      ya_dobryiyardımcıne_huliganne_othodiFludyasakyakın
30 açıklama
feonor12 kullanılmayan girişlerin zemine veya güce çekilmesi gerektiğini doğru yazar. CMOS çipleri ile çalışmayı öğrenir öğrenmez bu kurala uymaya başladım. Oh, ne kadar zaman önceydi ... Ve mikrodenetleyicilerde, elbette, hiç kimse bu kuralı iptal etmedi.
çok teşekkürler !!!!!
Yazar
Derleme işleminde, bazı değişkenleri de yeniden atadım ve aynı zamanda taslağın belleğin% 77'sini kullandığı yazılmasına rağmen, çok az bellek olduğunu yazdım. Eskiz beceriksiz, kimse inkar etmiyor, ama işe yarıyor. Derlenen ana şey. Bir test devresi oluşturun ve nasıl çalıştığını kontrol edin, problemler mevcut olduklarında çözülmelidir. Vericinin test devresini monte ettiğinizde - kullanılmayan tüm kanallar, joystickler, bir geçiş anahtarı veya klavye olsun, genel olarak, bağlı olmayan her şey toprağa veya 5V'ye bağlanmalıdır, eğer cihazı "havada asılı" bırakırsanız, yeterli şekilde çalışmaz, bununla tekrarlandığında çarpıştı.

ZY Kayıt olabilirsiniz.
Konuk Andrew
neredeyse fotoğraftaki gibi çıktı.
sadece şimdi yemin ediyor, kısacası, burada
C: \ Kullanıcılar \ mozga \ Belgeler \ Arduino \ library \ Adafruit_GFX_Library \ Adafruit_GFX.cpp: üye fonksiyonunda 'boole değeri Adafruit_GFX_Button :: içerir (int16_t, int16_t)':

C: \ Kullanıcılar \ mozga \ Belgeler \ Arduino \ kütüphane \ Adafruit_GFX_Library \ Adafruit_GFX.cpp: 1120: 28: uyarı: imzalı ve imzasız tamsayı ifadeleri arasında karşılaştırma [-Wsign-Compare]

dönüş ((x> = _x1) && (x <(_ x1 + _w)) &&

                             ^

C: \ Kullanıcılar \ mozga \ Belgeler \ Arduino \ kütüphane \ Adafruit_GFX_Library \ Adafruit_GFX.cpp: 1121: 28: uyarı: imzalı ve imzasız tamsayı ifadeleri arasındaki karşılaştırma [-Wsign-Compare]

(y> = _y1) && (y <(_ y1 + _h)));
sonunda derleme tamamlandı
ve yeterli bellek yazmıyorsa program düzgün çalışmayabilir.
üzgünüm, buraya fotoğraf koyamıyorum.
Yazar
İki eğik çizgiyi kaldırın / koyun.

#define SSD1306_128_64
// # tanım SSD1306_128_32
// # tanım SSD1306_96_16

Böyle olması gerekir.
Konuk Andrew
çok teşekkür ederim.
fazla yemin etmeyin.
Şimdi ben google, yani:
(İkincisini yorumlayın ve birinciyi rahatsız edin.)
Yazar
İki kişi için, lanet olsun, google dakika. Adafruit_SSD1306.h dosyasında bu satırları bulmanız gerekir

// # tanım SSD1306_128_64
#define SSD1306_128_32
// # tanım SSD1306_96_16

ikincisini yorumlayın ve birincisini rahatsız edin.
Yazar
Dinle, bu kodu yazmadım ve programlama konusunda uzman değilim. Bildiklerim, sonra sordum, size uymuyor. Yazar için çalışıyor, topladım - benim için de çalışıyor. Sizin için çalışmaz, bu nedenle hata kodda veya kütüphanede değildir. Tematik forumla iletişime geçin, kaynağa gidin ve yazara yazın veya burada bilen birinin cevap vermesini bekleyin. Sorunun ne olduğunu bilmediğimi, benden başka neye ihtiyaç duyulduğunu söyledim, böylece her şeyi bırakıp sizin için sorunla başa çıkmaya başlayayım? Üzgünüm, hayır.
Konuk Andrew
"yardım için teşekkürler"
Adafruit_SSD1306.h kütüphanesinde hata
Ve "özel sipariş" ile ilgili bir sorunum var.
işte budur.
Verici_kodu: 102: 2: hata: #error ("Yanlış yükseklik, bunu Adafruit_SSD1306.h! 'De düzeltin!));
orada hangi sayı veya harf değiştirilmelidir, ama bilmiyorum
Yazar
Sonra bilmiyorum, her şey derlendi ve dikildi. Şimdi ilgi uğruna kontrol ettim, her şey de derlendi. Yani özel bir sorun.

Konuk Andrew
Adafruit_SSD1306-ana kütüphane
arduino ide programını programın kendisine yükledi
Yazar
Derleme sırasında bir hata var mı? Görüntü kütüphanesinde küfrediyor. Adafruit_SSD1306-master kütüphanesini Çarşamba günü arşivden mi kurdunuz?
Konuk Andrew
Merhaba
Önce eskizleri kontrol etmeye karar verdim. PPM ve PWM alıcıları (okundu.)
Vericiyi kontrol etmeye başladım, bir hata veriyor.
#error ("Yükseklik yanlış, lütfen Adafruit_SSD1306.h'de düzeltin!");
Google çevirmeni tercüme edildi.
#error ("Yükseklik yanlış, lütfen bunu Adafruit_SSD1306.h!" de düzeltin));
Ve şimdi ne yapmalıyım, bilmiyorum bile ..............
Yazar
Herkese merhaba. Genel olarak, yakın gelecekte uygulamayı bitirmek için ne zamanım ne de arzum var, böylece üzerine bir makale yazabilirim, ancak uzun bir süre boyunca alınması gereken alıcının bir işaretini çizdim. Tahtayı toplamadım, ama birkaç kez kontrol ettim, her şey doğru görünüyor. Soru olmayacağına dair birkaç kelime:
Radyo modülü sabitleyici anakart üzerinde smd olarak lehimlenir (ASM1117 3,3 V'de, veri sayfası ile açılır). Düzgün çalışmaz veya kısa bir mesafe için çalışırsa - modülün güç kontaklarına 10 mikrofarader doğrudan asın (tahtada takılacak bir yer bulamadım).
Uçuş kontrol cihazında yaptığım gibi, radyo modülünün ikinci "katı" olan smd'yi, ardından jumper'ları ve ardından arduino'yu (çıkış tarakına programlama pençeleri) lehimledik. Radyo modülü arduino'nun sıfırlama düğmesiyle çakışıyor, bu yüzden onu signet'in arkasına getirdim (sadece arduino'dan lehimleyin ve lehimleyin). Programcınız sıfırlamayı kendiniz çekerse veya montajdan sonra yeniden tepki vermeyi planlamıyorsanız, düğmeyi ve parçaları sulama kutusundan çıkarabilirsiniz, eşarp birkaç milimetre daha dar ve daha kısa (20x50 mm) ortaya çıkar. Her durumda, eşarp çok kompakt çıktı. Radyo modülünde, standart 2,4 GHz alıcılarda olduğu gibi basılı antenin ve lehimin kesilmesi arzu edilir (aşağıdaki fotoğraf). Bu, menzili etkilemez, ancak alandaki farklı yönlerde alım gelişir. 5V güç herhangi bir konektöre WEIGHT regülatöründen veya harici.
Bitmiş kartı şeffaf bir ısı büzülmesine yerleştirin, kontak gruplarının ataması ile bir isim plakası çizebilir, yazdırabilir ve ekleyebilirsiniz. Veya aynı uçuş dengeleyici gibi bir butebread yapın.
Her şey öyle görünüyor buradan bir tabela indirebilirsiniz.



İşte saplama. uçuş, profilimde bir yazı var.


Konuk Vladislav
Yardım yaz, eskisi parçalanmadı, çünkü yerim başlamadı, şimdi her şey yolunda, Viber 0993482290
robot
skatech ile yardım. çok fazla hata var !!
Yazar
Boş zamanlarımda bile boş zamanlarımda bir totoloji yapıyorum ama bu doğru.Bir fabrika uygulaması flysky i6 var, bu, spor ilgi uğruna, ben topluyorum. Tamamen bitirdiğimde normal alıcıyı toplayacağım - her şeyi ayrı bir makalede hazırlayacağım.
Ancak performansı hakkında şüpheleriniz olmayacak, burada kanatçıyı salladı:

Gördüğünüz gibi çalışıyor. Örneğin bir kanal bağlı. Alıcıya giden kablo, telefondan şarj edilerek güç alır.

Geliştirilecek çok şey olmasına rağmen, yazılım bölümünde büyük ölçüde, en gürültüsüz kanalın seçimini gerçekleştirmek, bağlanmak, birkaç alıcı toplamak, en az 5 model için bellek eklemek. İsterseniz telemetri bile yıkanabilir. Ancak bu ya meraklıların yardımını gerektirir, ya da Arduino dilinin kendisinin öğrenmesi daha iyidir, ya da yazarın yazması, belki de onu ilgilendirir. Yakın gelecekte kesinlikle bunu yapmayacağım.

Ve zaten yemek hakkında söyledim. 1 kutu 18650 + MT3608 + ASM1117 + TP4056 ≈4-5 dolar korumalı. Bir seçenek olarak, ancak en azından pillerden birçoğu var.
Andrew1978
Uzaktan kumandanızın videosunu göster ..... Saçma Hakkında - saçma sizin için olabilir, ancak tüm uzaktan kumandanın maliyetinin% 65'i - üç taslak, şarj cihazı ve üç lityum ....
Yazar
Kimse başka türlü yemek düzenlemeyi rahatsız etmez. Bazı nedenlerden dolayı, herkes ana nüansı atlayarak saçmalıklara yapışır - bunlar hazır “beyinler”, standart bir PPM sinyali üzerinde alıcı ve verici ve bunları nasıl besleyecekleri ve bu durumda kıpırdamak onuncu şeydir. Bir kutunun şarjını doğru bir şekilde göstermek için kodu düzelterek, bir kutudan bir DC / DC dönüştürücü aracılığıyla güç sağlamak mümkündür. Şimdiye kadar taçtan yemek yiyorum, kalıcı kullanım için kendi versiyonumu tasarlamadım.
Andrew1978
5v ve 3.3v kullanan bir uzaktan kumanda ile üç lityum beslemek için ne bir sapıklık ....
Yazar
Yazar
Kendiniz bir dava açmak ister misiniz? Bu bir zaman kaybıdır, normalde hala işe yaramaz. Sitelerde sınıflandırılmış reklamlar, tabanca tipi de dahil olmak üzere oyuncaklardan bir sürü uzaktan kumanda satar. Bir kuruş için sat (çocuk oyuncağı öldürdü, ancak uzaktan kumanda kaldı). Daha az masif seçin ve yineleyin. Değişiklik, tüm dolumun atılmasına ve doğrusal potansiyometrelerin kontrollerine meraklı hale getirilmesine indirgenmiştir.
Başka bir seçenek, şarkı doldurulmuş bir appu satın almak, ancak tüm mekanik. Modelerlerin sitelerinde zaman zaman açılır.
Uygulamam böyle bir şeye benzeyecek (tabela test, sonra daha güzel yapacağım)
Konuk Eugene
mekaniği ve ilgi alanları bu ve çizecek hiçbir şey yok
Yazar
Neden? Evet, kim duruyor, bu bir mekanik meselesi. Tabanca konsolunu oyuncaktan alın, değiştirin ve böyle olacak. Her şeyi, uçuş simülatörleri için bir bilgisayar oyun çubuğunu, hatta Sonya'dan bir gamepad alabilirsiniz. İşte ana şema.
Kendimi bir oyuncak konsolundan monte ediyorum.
Konuk Eugene
tabanca tipi ekipman yapılacaktır ...
Yazar
Yeni kontrol edildi, her şey açılır ve indirilir. Belki bir tür reklam engelleyiciniz veya başka bir şey var.
Başka birinin indirme - yazma ile ilgili sorunları varsa, yöneticiye döneceğim.
bu burada çalışmıyor
Yazar
İhtiyacınız olan her şeyi buradan indirebilirsiniz.

Buraya tıklayın
Yazar
İhtiyacınız olan her şeyi buradan indirebilirsiniz.

Buraya tıklayın
ve ekipman için taslak nerede

Okumanızı tavsiye ederiz:

Akıllı telefon için verin ...