Mundarija:

3D bosilgan Arduino asosidagi RC transmitteri: 25 qadam (rasmlar bilan)
3D bosilgan Arduino asosidagi RC transmitteri: 25 qadam (rasmlar bilan)

Video: 3D bosilgan Arduino asosidagi RC transmitteri: 25 qadam (rasmlar bilan)

Video: 3D bosilgan Arduino asosidagi RC transmitteri: 25 qadam (rasmlar bilan)
Video: Как сделать радиоуправляемую машинку Dodge Challenger - 3D-печать радиоуправляемой машинки 2024, Iyun
Anonim
3D bosilgan Arduino asosidagi RC transmitter
3D bosilgan Arduino asosidagi RC transmitter

Ushbu loyiha sizga Arduino -ga asoslangan RC transmitterini loyihalash va qurishda qanday ishlaganimni ko'rsatib beradi.

Ushbu loyihadagi maqsadim, Arduino -ning boshqa loyihalarini boshqarish uchun ishlatilishi mumkin bo'lgan, 3D bosib chiqariladigan RC transmitterini loyihalash edi. Men nazoratchining iloji boricha doimiy bo'lishini xohlardim, lekin men uni ajratish va uning qismlarini qayta loyihalash qobiliyatini xohlardim. Bu loyiha bir necha haftalik mashaqqatli mehnat natijasidir.

Ta'minotlar

Ushbu boshqaruvchini yaratish uchun sizga kerak bo'ladi:

  • Analog Joystick x2
  • Analog potentsiometr x2
  • 128x32 0,91 dyuymli OLED displey x1
  • Arduino Nano x1
  • X1 antennali NRF24L01 moduli
  • 3x7 sm perimetri taxtasi x1
  • BRC 18650 3.7 v Li-ionli batareya x2
  • 2 xujayrali 18650 batareya qutisi x1
  • AMS1117 3.3 kuchlanish regulyatori x1
  • 3 pozitsiyani almashtirish tugmasi x1
  • 2 pozitsiyani almashtirish tugmasi x2

Qo'shimcha narsalar:

  • Ko'p rangli standart 22 o'lchovli sim
  • Ko'p rangli qattiq yadroli 22 o'lchagichli sim
  • Erkak + ayol pin sarlavhalari
  • m3 pan boshli vintlardek va yong'oqlar (har xil uzunlikda)
  • m2 panjara boshli vintlardek va yong'oqlar (har xil uzunlikda)
  • m2 to'siqlar (har xil uzunlikdagi)
  • Kirish:

    • 3D printer
    • Lehimlash temir

1 -qadam: 3D model

3D model
3D model

Men 3D -modellashtirish dasturida boshqaruvchini modellashtirishdan boshladim. Dizayn jarayonida men bir nechta narsalarni hisobga oldim:

  • Mening 3D printerim nisbatan kichik, shuning uchun bosib chiqarish jarayonidan keyin mening qismlarim birlashtirilishi kerak. Buni hal qilish uchun men dizayn davomida m2 vintlar yordamida qismlarni ulash uchun teshiklar qo'shdim.
  • Men o'z dizaynimdagi qismlarni qayta chop qilmasdan osongina o'zgartirishni xohlardim, shuning uchun qismlar birlashtiriladigan teshiklarni qo'shib qo'ydim, bu bosmadan keyingi dizayn imkoniyatlarini beradi.
  • Men bu dizaynda ortiqcha bosilishlardan butunlay voz kechdim, natijada yuqori sifatli bosma nashrlar paydo bo'ldi.

Ushbu model transmitterni tashkil etuvchi barcha qismlarni o'z ichiga olmaydi, lekin 3D chop etish uchun zarur bo'lgan barcha qismlar kiritilgan. Siz ushbu model uchun STEP faylini quyidagi yuklab olish tugmasini bosish orqali yuklab olishingiz mumkin.

*Men nrf24 muhofazasi uchun.stl faylini uch qismga bo'lishda qiynalayotganlar uchun qo'shdim.

2 -qadam: 3D bosib chiqarish

3D bosib chiqarish
3D bosib chiqarish

Bu juda oddiy qadam. Barcha qismlar chop etilgandan so'ng, siz qismlarni yig'ishga tayyorgarlik ko'rishni boshlashingiz mumkin.

3 -qadam: yig'ilishga tayyorgarlik: simlar

O'rnatishga tayyorgarlik: simlar
O'rnatishga tayyorgarlik: simlar

Loyihaning dizayniga o'zgartirish kiritish uchun men barcha pinlarning bir uchiga erkak pin boshlarini lehimladim.

4 -qadam: O'rnatishga tayyorgarlik: OLED -displey

O'rnatishga tayyorgarlik: OLED displey
O'rnatishga tayyorgarlik: OLED displey

O'rnatishni boshlashdan oldin siz bir nechta elektron komponentlarni tayyorlashingiz kerak bo'ladi. Birinchi narsa - bu komponentning har bir pimiga simlarni lehimlash. (Bu holatda standart simni ishlatish osonroq, chunki u moslashuvchan va shuning uchun yig'ish osonroq.) Mening OLED displeyim pinli sarlavhasiz edi, shuning uchun simlarni to'g'ridan-to'g'ri uzilish taxtasiga lehimladim. Biroq, ob -havoning farqi yo'q yoki siz pin sarlavhalariga lehimsiz.

5 -qadam: yig'ilishga tayyorgarlik: joystiklar

O'rnatishga tayyorgarlik: joystiklar
O'rnatishga tayyorgarlik: joystiklar
O'rnatishga tayyorgarlik: joystiklar
O'rnatishga tayyorgarlik: joystiklar

Keyingi qadam - simlarni joystiklarga lehimlash. Bunday holda, men bir nechta sabablarga ko'ra simlarni pin sarlavhalariga lehimladim:

  1. Agar men pim sarlavhalarini olib tashlagan bo'lsam va teshiklarga lehim qo'ygan bo'lsam, simlarni teshiklarning yuqori qismidan o'tkazib yuborishim kerak bo'lardi, chunki 3D bosilgan o'rnatish to'g'ridan -to'g'ri joystikning uzilish taxtasi ostida joylashgan.
  2. Men pin sarlavhalariga lehim qo'yganim uchun, simlar to'g'ri pastga tushadi va transmitterning yuqori qismini yanada tartibli qiladi.

Men ikkala joystikda bir xil turdagi pinlar uchun bir xil ranglardan foydalanardim:

  • VCC uchun qizil
  • GND uchun qora
  • VRX uchun ko'k
  • VRY uchun sariq
  • SW uchun yashil

Bu simlarni Arduino -ning tegishli portlariga ulashni osonlashtirdi.

6 -qadam: yig'ilishga tayyorgarlik: NRF24L01

O'rnatishga tayyorgarlik: NRF24L01
O'rnatishga tayyorgarlik: NRF24L01

NRF24L01 moduli uchun men pim sarlavhalarini olib tashladim va perforator uchun joy bo'lishi uchun to'g'ridan -to'g'ri teshiklarga lehim qildim. Yana bir bor, men har bir pin uchun ishlatilgan ranglarga e'tibor qaratdim.

7 -qadam: yig'ilishga tayyorgarlik: potentsiometrlar

O'rnatishga tayyorgarlik: potentsiometrlar
O'rnatishga tayyorgarlik: potentsiometrlar

Potansiyometrlar uchun uchta uchning har biriga lehim simlari. Tashqi ikkita sim - bu er yoki vcc pimi (qaysi tartibda bo'lishidan qat'i nazar) va o'rtadagi chiqish - men tashqi simga qizil simni va qora simni, o'rtadagi oq simni esa ikkita markaziy simga lehimladim. potentsiometrlar.

8 -qadam: yig'ilishga tayyorgarlik: kalitlar

O'rnatishga tayyorgarlik: kalitlar
O'rnatishga tayyorgarlik: kalitlar

Uch pozitsiyali kalitni oling va har bir pin sarlavhasiga simni lehimlang. Men qora rangni o'rtada va boshqa ikkita rangda ishlatardim.

Ikkita pozitsiya kalitida uchta pinli sarlavha mavjud. Siz ulardan faqat ikkitasini ishlatasiz. Qora sim o'rtada, ikkinchisining tashqarisidagi ikkita pin sarlavhasida boshqa sim bor. Muhim: Buni faqat bitta kalit uchun bajaring.

Keyingi kalit yoqish-o'chirish tugmasi sifatida ishlatiladi. Hozircha, faqat o'chirish tugmachasining markaziy piniga simni lehimlang.

9-qadam: O'rnatishga tayyorgarlik: Batareya qutisini o'chirish tugmachasiga lehimlang

O'rnatishga tayyorgarlik: Batareya qutisini o'chirish tugmachasiga lehimlang
O'rnatishga tayyorgarlik: Batareya qutisini o'chirish tugmachasiga lehimlang

Batareya qutisining qizil simini o'chirish tugmachasidagi tashqi pinlardan biriga lehimlang. Agar sizda hali bo'lmasa, batareyaning korpusining qora simiga pin boshini lehimlang.

10 -qadam: O'rnatishga tayyorgarlik: AMS1117 kuchlanish regulyatori

O'rnatishga tayyorgarlik: AMS1117 kuchlanish regulyatori
O'rnatishga tayyorgarlik: AMS1117 kuchlanish regulyatori
O'rnatishga tayyorgarlik: AMS1117 kuchlanish regulyatori
O'rnatishga tayyorgarlik: AMS1117 kuchlanish regulyatori

Ushbu qadam uchun sizga AMS1117 3,3 voltli regulyator kerak bo'ladi. Bu erda menda NRF24L01 uchun mo'ljallangan kesish taxtasi biriktirilgan, shuning uchun men ushbu qism yordamida ushbu bosqichni qanday bajarish kerakligini ko'rsataman. Agar sizda faqat AMS1117 IC bo'lsa, u erda simlarni ulashda sizga yordam beradigan ko'plab darsliklar mavjud.

Men qilgan birinchi narsa, barcha pin sarlavhalarini taxtadan olib tashlash edi. Keyin qizil va qora simni tegishli pinlarga lehimladim.

Doimiy bo'lmagan dizaynni davom ettirib, men ikkita ayol pinli sarlavhani oldim va ularni NRF24L01 moduli o'tiradigan VCC va GND portlariga biriktirdim.

Buni qilganingizdan so'ng, keyingi bosqichga o'tishingiz mumkin.

11 -qadam: Perflad taxtasini tayyorlang: Arduino va Pin sarlavhalari

Mukammal taxtani tayyorlang: Arduino va pin sarlavhalari
Mukammal taxtani tayyorlang: Arduino va pin sarlavhalari
Mukammal taxtani tayyorlang: Arduino va pin sarlavhalari
Mukammal taxtani tayyorlang: Arduino va pin sarlavhalari
Mukammal taxtani tayyorlang: Arduino va pin sarlavhalari
Mukammal taxtani tayyorlang: Arduino va pin sarlavhalari

O'rnatishdan oldin qilish kerak bo'lgan oxirgi narsa - bu taxtani tayyorlash. Buning uchun sizga Arduino Nano, qattiq yadroli simlar va ayol pinli sarlavhalar kerak bo'ladi.

Arduino Nano -da pin sarlavhalari borligiga ishonch hosil qiling va uni pervaz taxtasiga lehimlashga o'ting. Siz ulanishni kengaytirish uchun joy qoldirish uchun uni iloji boricha taxtaning bir chetiga qo'yishni xohlaysiz, lekin siz Arduino -ning har ikki tomonida ayol pin sarlavhalarini lehimlash uchun qator qoldirishni xohlaysiz. USB ulagichi kartaning chetiga iloji boricha yaqinroq ekanligiga ishonch hosil qiling. Mening 3 sm x 7 sm o'lchamdagi taxtam 10 teshikdan 24 teshikgacha. Bu meni Arduino -ning chap tomonida ikkita qator, o'ng tomonda bir qator va Arduino orqasida to'qqizta teshik bilan qoldirdi.

Keyin ikki qatorli o'n beshta ayol pin boshini oling va ularni Arduino yoniga lehimlang. Men standart ayol pinli sarlavhalarni ishlatardim, lekin men shu sababli sarlavhalarni yig'ishni ishlatgan bo'lardim:

Pim sarlavhalaridagi simlarni Arduino simlariga ulashingiz kerak bo'ladi. Agar siz standart pin sarlavhalarini ishlatgan bo'lsangiz, ulanish uchun lehim ko'prigi kerak bo'ladi, bu biroz zerikarli va ko'p vaqt talab qiladi. Agar siz sarg'ish sarlavhalarini ishlatgan bo'lsangiz, lehimlash ishini ancha osonlashtirish uchun simlarni Arduino simlariga tegizib egishingiz mumkin

Qaysi usulni tanlagan bo'lsangiz, pin sarlavhalari Arduino pin sarlavhalariga ulangan bo'lishi kerak.

12 -qadam: Perf taxtasini tayyorlang: Pin kengaytmalari

Perf taxtasini tayyorlang: Pin kengaytmalari
Perf taxtasini tayyorlang: Pin kengaytmalari
Perf taxtasini tayyorlang: Pin kengaytmalari
Perf taxtasini tayyorlang: Pin kengaytmalari
Perf taxtasini tayyorlang: Pin kengaytmalari
Perf taxtasini tayyorlang: Pin kengaytmalari

Arduino va pin sarlavhalarini taxtaga lehimlaganingizdan so'ng, keyingi qadam - barcha elektr komponentlarini joylashtirish uchun 5v va tuproqli pinlarni kengaytirish.

Arduino kabi qarama -qarshi tomonda joylashgan 10 ta boshli ikkita qatorli lehim, ular orasida bir qator bo'sh joy.

Qattiq yadroli simni oling va uni Arduino -dagi 5V -pindan bir qatorli pin sarlavhasiga o'tkazing. Izolyatsiyani olib tashlang, shunda pin pinli sarlavhalardagi simlarga tegadigan joy ochiq bo'ladi. Telni joyiga lehimlang.

Xuddi shu narsani Arduino -dagi GND pinidan va boshqa pin sarlavhalaridan tashqari qiling.

Buni qilganingizdan so'ng, transmitter yig'ishga tayyor.

13 -qadam: O'rnatish: Joystiklarni tayanchga ulang

O'rnatish: Joystiklarni tayanchga ulang
O'rnatish: Joystiklarni tayanchga ulang
O'rnatish: Joystiklarni tayanchga ulang
O'rnatish: Joystiklarni tayanchga ulang
O'rnatish: Joystiklarni tayanchga ulang
O'rnatish: Joystiklarni tayanchga ulang
O'rnatish: Joystiklarni tayanchga ulang
O'rnatish: Joystiklarni tayanchga ulang

Bu vazifani bajarish uchun sizga bir nechta yuvish moslamalari bilan birga sakkiz m4 vintlar va tegishli yong'oqlar kerak bo'ladi.

Yong'oqlarni yuqorida ko'rsatilgan 3D bosilgan qismning pastki qismidagi olti burchakli teshiklarga joylashtiring.

Har bir vintga bitta yuvgichni suring.

Joystikning sindiruvchi taxtasidagi to'rtta teshikka 4 m4 vintni suring.

Joystikning 3 o'lchamli bosilgan qismini siljitib, taxta va joystikni o'rnatish o'rtasida to'xtash vazifasini bajaring.

Joystikni vintlar bilan mahkamlang va yong'oqlarni o'z uyalariga mahkamlang.

Bu qadamni boshqa joystik uchun takrorlang.

14 -qadam: O'rnatish: Potansiyometrlarni va OLED displeyini potentsiometr raftiga ulang

O'rnatish: Potansiyometrlarni va OLED displeyini potentsiometr tokchasiga ulang
O'rnatish: Potansiyometrlarni va OLED displeyini potentsiometr tokchasiga ulang
O'rnatish: Potansiyometrlarni va OLED displeyini potentsiometr tokchasiga ulang
O'rnatish: Potansiyometrlarni va OLED displeyini potentsiometr tokchasiga ulang
O'rnatish: Potansiyometrlarni va OLED displeyini potentsiometr tokchasiga ulang
O'rnatish: Potansiyometrlarni va OLED displeyini potentsiometr tokchasiga ulang
O'rnatish: Potansiyometrlarni va OLED displeyini potentsiometr tokchasiga ulang
O'rnatish: Potansiyometrlarni va OLED displeyini potentsiometr tokchasiga ulang

Potentsiometrlarni potentsiometr tokchasidagi joylariga siljiting. Men potentsiometrlarni tortib olish uchun yong'oq bilan keldim va men bu erda potentsiometrlarni joyida saqlash uchun ishlatardim. Ichkaridagi yong'oqlarni mahkamlash uchun men tekis tornavida ishlatardim.

Keyin, OLED-displey simlarini potensiometrning chap tomonidagi uyasi orqali o'tkazing. Qopqoqni displey ustidagi bir necha m2 vintlar bilan mahkamlang. Displeyning chiqib ketishini ta'minlash uchun sizga bir nechta yuvish vositalarini qo'shish kerak bo'lishi mumkin.

15 -qadam: O'rnatish: Potentsiometr tayanchini Joystik bazasiga ulang

O'rnatish: Potentsiometr tayanchini Joystik bazasiga ulang
O'rnatish: Potentsiometr tayanchini Joystik bazasiga ulang

Potensiometrni oling va m2 vintlar yordamida joystik tayanchiga mahkamlang, shunda joystikning pin boshlari tokchadan uzoqda joylashgan.

16 -qadam: O'rnatish: NRF24L01 korpusini potentsiometr raftiga ulang

O'rnatish: NRF24L01 korpusini potentsiometr tokchasiga ulang
O'rnatish: NRF24L01 korpusini potentsiometr tokchasiga ulang
O'rnatish: NRF24L01 korpusini potentsiometr tokchasiga ulang
O'rnatish: NRF24L01 korpusini potentsiometr tokchasiga ulang
O'rnatish: NRF24L01 korpusini potentsiometr tokchasiga ulang
O'rnatish: NRF24L01 korpusini potentsiometr tokchasiga ulang
O'rnatish: NRF24L01 korpusini potentsiometr tokchasiga ulang
O'rnatish: NRF24L01 korpusini potentsiometr tokchasiga ulang

NRF24L01 korpusi uch qismdan iborat. Birinchi qismni oling va modulning simlarini orqadagi uyadan o'tkazing. Old uchi uyaga, taxtaning orqa qismidan chiqadigan lehim bo'g'inlari ham o'z uyasiga o'tirishi kerak.

Qopqoqning qopqog'ini oling va teshiklarni tekislang, shunda qopqoqning tekis tomoni korpusga tekis bo'ladi. Ikki m2 vintni teshiklardan o'tkazing va bu moslamani potansiyometr raftidagi teshiklarga joylashtiring. Ushbu qadamni bajarish uchun, ikkinchi qopqoqdagi teshiklarni m2 vintlar bilan tekislang, shunda qismning old qismidagi kichik parabolik chiqib ketish NRF24L01 moduli tsilindrining atrofida joylashgan. Uni ikkita yong'oq bilan torting.

17 -qadam: O'rnatish: Tutqichlarni tayanchga mahkamlang

O'rnatish: Tutqichlarni tayanchga mahkamlang
O'rnatish: Tutqichlarni tayanchga mahkamlang
O'rnatish: Tutqichlarni tayanchga mahkamlang
O'rnatish: Tutqichlarni tayanchga mahkamlang

Ikkala tutqichni oling va ularni yuqoridagi rasmlarda ko'rsatilgandek m2 vintlar yordamida taglikka mahkamlang.

18 -qadam: O'rnatish: Batareya qutisini tayanchga ulang

O'rnatish: Batareya qutisini tayanchga ulang
O'rnatish: Batareya qutisini tayanchga ulang
O'rnatish: Batareya qutisini tayanchga ulang
O'rnatish: Batareya qutisini tayanchga ulang
O'rnatish: Batareya qutisini tayanchga ulang
O'rnatish: Batareya qutisini tayanchga ulang

Batareya korpusini m3 zaryadlovchi vintlari bilan batareyaga o'rnatib qo'ying.

Batareya korpusini vintlar bilan taglikka mahkamlang, shunda batareya qutisi pastga qarab ochiladi.

19 -qadam: O'rnatish: kalitlarni tutqichlarga ulang

O'rnatish: kalitlarni tutqichlarga ulang
O'rnatish: kalitlarni tutqichlarga ulang
O'rnatish: kalitlarni tutqichlarga ulang
O'rnatish: kalitlarni tutqichlarga ulang

Ushbu qadam uchun sizga barcha o'tish tugmachalari kerak bo'ladi. Uch pozitsiyani almashtirish tugmachasidan boshlang.

Mahkamlagichni kalitdan chiqarib oling va kalitni o'ng dastagidagi olti burchakli teshikdan o'tkazing. Bu kalit qaerda joylashganligi muhim emas.

Ikkita simli ikkita pozitsiyani almashtirish tugmachasini oling va dastagining chap tomonidagi teshikdan itaring, uni avvalgi kalit bilan bog'lab qo'ying.

Oxirgi ikkita pozitsiyani almashtirish tugmachasini ulash uchun chap tutqichdagi boshqa teshikni tanlang, bu yoqish-o'chirish tugmasi bo'lishi kerak.

20 -qadam: O'rnatish: Perf Board Assambleyasini Joystik bazasiga ulang

O'rnatish: Perf Board Assambleyasini Joystik bazasiga ulang
O'rnatish: Perf Board Assambleyasini Joystik bazasiga ulang
O'rnatish: Perf Board Assambleyasini Joystik bazasiga ulang
O'rnatish: Perf Board Assambleyasini Joystik bazasiga ulang

Perfboard taxtasini joystik tayanchiga mahkamlash uchun m2 vintlardek va m2 tayanchlardan foydalaning. Perfart taxtasidagi uyasi NRF24L01 moduliga mos kelishiga ishonch hosil qiling. Vint boshining chiqishini hisobga olish uchun taglik va taglik orasiga yana bir nechta yuvish vositalarini qo'shish kerak bo'ladi (buning uchun siz 3D bosilgan ofsetdan ham foydalanishingiz mumkin). Siz avvalroq uzunroq vintlarni vintlardagina naychalar orqali siljitganingizga ishonch hosil qilishni xohlaysiz, chunki siz mahkamlagandan so'ng buni qila olmaysiz.

21 -qadam: O'rnatish: Perf Board -ni Perf Board tog'iga ulang

O'rnatish: Perf Board -ni Perf Board Mount -ga ulang
O'rnatish: Perf Board -ni Perf Board Mount -ga ulang

Perfboard taxtasini Arduino va pim sarlavhalari tokchadan uzoqda joylashgan bo'lishi uchun pervaz taxtasini mahkamlash uchun m2 vintlarni ishlating. Sizning simlaringiz uzunligi Arduino -dagi USB port ko'rsatadigan yo'nalishga olib kelishi mumkin.

22 -qadam: Arduino ulanishlari

Arduino ulanishlari
Arduino ulanishlari

Transmitterning ushbu dizaynini tanlasangiz, pastki qismi tartibsiz ko'rinadi. Bu unchalik qiyin bo'lmagan vazifa bo'lib tuyulishi uchun men bir vaqtning o'zida ulanishning bir turiga e'tibor qaratdim. Masalan, men GND simlarini GF uchun kengaytirilgan qatorga taksida ulashdan boshladim. Mana ulanishlar:

Raqamli pinlar:

D4 - Joystick 1 Sw

D5 - Joystick 2 Sw

D6 - 2 pozitsiyali o'tish kalitining tashqi pimi

D7 - 3 pozitsiyali o'tish kalitining tashqi pimi

D8 - 3 pozitsiyali o'tish kalitining boshqa tashqi pimi

D9 - Idoralar soni NRF24L01

D10 - NRF24L01 ning CSN pimi

D11 - NRF24L01 ning MOSI pimi

D12 - NRF24L01 ning MISC pimi

D13 - NRF24L01 ning SCK pimi

*Eslatma: Bu sizning simlaringizni rang bilan kodlashda yordam beradi. NRF24L01 korpusi pin nomlarini ko'rishni cheklaydi. Agar siz simlarni rangli kod bilan ajratsangiz, qaysi pinni ko'p harakat qilmasdan ayta olasiz, bu esa simlarni Arduino -ga ulashni ancha osonlashtiradi.

Analog pinlar:

A0 - potentsiometrning markaziy pimi 1

A1 - potentsiometrning markaziy pimi 2

A2 - Joystick 2 VRX pinli

A3 - Joystick 2 VRY pin

A4 - OLED SDA (DATA) pinli

A5 - OLED SCL (CLOCK) pin

A6 - Joystick 1 VRY pin

A7 - Joystick 1 VRX pinli

Voltaj regulyatori (AMS1117):

NRF24L01 modulining topraklama pinini voltaj regulyatoridagi topraklama piniga ulang. NRF24L01 dagi 3,3 voltli pinni voltaj regulyatoriga ulang.

Topraklama pimi uzaytirgich pin sarlavhalari (bu pimlarning barchasini tuproqli pin sarlavhalariga ulang):

  • O'rta pin 2 pozitsiyali o'tish tugmasi
  • 3 pozitsiyali o'tish kalitidagi markaziy pin
  • Joystick 1 GND pin
  • Joystick 2 GND pin
  • 1 ta potentsiometr
  • Potentsiometr 2 o'ng pin
  • OLED GND pin
  • Batareya qutisi GND
  • GND kuchlanish regulyatoridagi pin

5V pinli uzatma pin sarlavhalari (bu pinlarning hammasini VCC pin sarlavhalariga ulang):

  • Joystick 1 5v pinli
  • Joystick 2 5v pinli
  • 1 ta potentsiometr
  • Potentsiometr 2 chap pin
  • OLED VCC pin
  • Voltaj regulyatoridagi VCC pin

Boshqa ulanishlar:

Ulanish uchun oxirgi komponent-bu o'chirish tugmasi. Kalitning bitta simini batareya qutisidagi musbat terminalga ulash lozim. Markaziy pin Arduino -dagi VIN piniga ulanadi.

23 -qadam: uzatuvchi kodi

Bu nazoratchi uchun oxirgi qadam - bu kod. Men bu kod uchun ozgina tushuntirish beraman, lekin agar siz NRF24l01 moduli qanday ishlashini va qanday ishlatilishini batafsil tushuntirishni xohlasangiz, ushbu saytga tashrif buyuring:

Arduino simsiz aloqa - NRF24L01 qo'llanmasi

#qo'shing

#include #include #include #include #include #include #include #include #deecine SCREEN_WIDTH 128 // OLED displey kengligi, piksellarda #SCREEN_HEIGHT 32 // OLED displey balandligi, piksel Adafruit_SSD1306 ekran, SCREEN_, -1); RF24 radiosi (9, 10); const bayt manzili [6] = "00001"; int ma'lumotlari [11]; const int onevrx = 7; // joystikdagi VRX uchun o'zgaruvchi 1 const int onevry = 6; // joystikdagi VRY uchun o'zgaruvchi 1 const int twovrx = 2; // joystikdagi VRX uchun o'zgaruvchi 2 const int twovry = 3; // joystikdagi VRY uchun o'zgaruvchi 2 const int pot0Pin = 0; // pot 1 o'zgaruvchisi o'zgaruvchisi const int pot1Pin = 1; // pot 2 const int ASwitch = 6 uchun o'zgaruvchi; // ikki pozitsiyali o'tish uchun o'zgaruvchi const int BSwitch1 = 8; // uch pozitsiyadan birining o'tish pozitsiyasi uchun o'zgaruvchi const int BSwitch2 = 7; // uch pozitsiyaning uch pozitsiyasi uchun o'zgaruvchi const int CButton = 2; // ixtiyoriy tugma uchun o'zgaruvchi 1 const int DButton = 3; // ixtiyoriy 2 int oneX tugmachasi uchun o'zgaruvchi; int oneY; int twoX; int twoY; int pot0; int pot1; void setup () {Serial.begin (9600); radio.begin (); radio.openWritingPipe (manzil); radio.setPALevel (RF24_PA_MIN); radio.stopListening (); pinMode (ASwitch, INPUT_PULLUP); // pinMode chiqish rejimiga APin -ni o'rnating (BSwitch1, INPUT_PULLUP); // pinMode chiqish rejimiga BPin -ni o'rnating (BSwitch2, INPUT_PULLUP); // pinMode chiqish rejimiga CPinni o'rnatish (CButton, INPUT_PULLUP); // DPin -ni pinMode chiqish rejimiga o'rnatish (DButton, INPUT_PULLUP); display.begin (SSD1306_SWITCHCAPVCC, 0x3C); kechikish (1000); display.clearDisplay (); display.setTextSize (.25); display.setTextColor (oq); display.setCursor (0, 0); display.print ("Quvvat yoqilgan"); display.display (); kechikish (10); } void loop () {oneX = analogRead (onevrx); oneY = analogRead (onevry); twoX = analogRead (twovrx); twoY = analogRead (twovry); pot0 = analogRead (pot0Pin); pot1 = analogRead (pot1Pin); ma'lumotlar [0] = oneX; ma'lumotlar [1] = bir yil; ma'lumotlar [2] = ikki marta; ma'lumotlar [3] = ikki yil; ma'lumotlar [4] = pot0; ma'lumotlar [5] = pot1; ma'lumotlar [6] = digitalRead (ASwitch); ma'lumotlar [7] = digitalRead (BSwitch1); ma'lumotlar [8] = digitalRead (BSwitch2); ma'lumotlar [9] = digitalRead (CButton); ma'lumotlar [10] = digitalRead (DButton); radio.write (& ma'lumotlar, hajmi (ma'lumotlar)); // ma'lumotlarni qabul qiluvchining kechikishiga yuborish (100); display.clearDisplay (); display.setTextSize (.25); display.setTextColor (oq); display.setCursor (5, 5); display.println (ma'lumotlar [4]); display.print ("Quvvat olish"); // bu erda OLEDda ko'rsatmoqchi bo'lgan har qanday qo'shimcha ma'lumotlarni qo'shing display.display (); }

24 -qadam: qabul qiluvchining kodi

#qo'shing

#include #include RF24 radiosi (9, 10); // cns, ce // NRF24L01 const bayt manzilini boshqarish ob'ektini belgilaydi [6] = "00001"; // uzatuvchi int ma'lumotlariga mos keladigan aloqa manzilini belgilang [11] = {512, 512, 512, 512, 512, 512, 0, 0, 0, 0, 0}; // aloqa ma'lumotlarini saqlash uchun ishlatiladigan qatorni aniqlang void setup () {radio.begin (); radio.openReadingPipe (0, manzil); radio.setPALevel (RF24_PA_MIN); radio.startListening (); // qabul qiluvchi sifatida o'rnating Serial.begin (9600); } void loop () {if (radio.available ()) {radio.read (& data, sizeof (data)); // tekshirgichdan Serial.print ketma -ket monitoriga bir nechta ma'lumot nuqtalarini bosib chiqarish (ma'lumotlar [0]); Serial.print ("\ t / t"); Serial.print (ma'lumotlar [1]); Serial.print ("\ t / t"); Serial.print (ma'lumotlar [2]); Serial.print ("\ t / t"); Serial.print (ma'lumotlar [3]); Serial.println (""); } // Yana, bu faqat qabul qiluvchi modul uchun asosiy kod misoli.

25 -qadam: Xulosa

Siz ushbu kontroller yordamida deyarli har qanday Arduino loyihasini boshqarishingiz mumkin va uning dizayni yanada ko'proq o'zgartirish imkonini beradi. Siz OLED -displey o'rniga ikkita qo'shimcha potansiyometrni tanlashingiz mumkin (agar siz 4 potansiyometrli STEP faylini xohlasangiz, men buni sizga yuborishim mumkin. Faqat so'rov bilan izoh qoldiring). Yoki siz dizaynga bir nechta tugmachalarni qo'shishni xohlaysiz. Bu butunlay sizga bog'liq.

Agar sizda biron bir savol, sharh yoki tashvish bo'lsa, so'rashdan tortinmang.

Vaqt ajratib, ushbu 24 qadamni o'qiganingiz uchun tashakkur. Umid qilamanki, siz biror narsani o'rgana oldingiz yoki 3D printer va Arduino yordamida nimalarga erishish mumkinligi haqida bir nechta yangi g'oyalarni oldingiz.

Arduino musobaqasi 2020
Arduino musobaqasi 2020
Arduino musobaqasi 2020
Arduino musobaqasi 2020

Arduino 2020 musobaqasida ikkinchi o'rinni egalladi

Tavsiya: