Mundarija:
- 1 -qadam: (sensorli) ekranni sim bilan ulang
- 2 -qadam: Kutubxonalar bilan tanishing
- 3 -qadam: Grafik foydalanuvchi interfeysi / asosiy menyuni loyihalash
- 4 -qadam: Ikkita boshqaruvchini sim bilan ulang
- 5 -qadam: Simsiz ulanishni boshlang
- 6 -qadam: Yovvoyi yur! Har xil narsalarni sinab ko'ring
- 7 -qadam: Dizayn
- 8 -qadam: Korpusni 3D bosib chiqarish
- 9 -qadam: Lehimlash va yakunlash
- 10 -qadam: oldindan ko'rish
2025 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2025-01-13 06:58
Men ishlatgan narsam
- Arduino MEGA
- 2 marta Arduino UNO
- Adafruit 3,5 dyuymli TFT 320x480 sensorli ekranli HXD8357D
- Buzzer
- 4 Ohm 3 Vt dinamik
- 5 mm LED chiroqlar
- Qora PLA filamentli Ultimaker 2+ printer
- MDF yog'ochli Lasercutter
- Qora purkagichli bo'yoq (yog'och uchun)
- 3x nRF24L01+ simsiz uzatgichlar
- 2x16 mm tugma
- 2x bosim sensori
- 3x 9V batareya ushlagichlari
- Non paneli
- 2x 0,96 dyuymli OLED I2C ekranlari
- Erkak - ayol simlari
- Lehim stantsiyasi
- Super elim
- 2x bitta kanalli sensorli modul (RED/BLUE)
1 -qadam: (sensorli) ekranni sim bilan ulang
Shunday qilib, biz uni ikkita simsiz boshqaruv moslamasi bo'lgan portativ konsolda qilamiz.
Shunday qilib, bizda asosiy birlik bo'ladi (eng katta qismi LCD displey bilan)
Asosiy blok Arduino MEGA bilan ishlaydi.
Ikkita alohida nazoratchi Arduino UNO bilan ishlaydi.
Keyinchalik biz Arduino -larni bir -biri bilan aloqa ma'lumotlarini boshqaruvchi ma'lumotlarini jo'natish uchun o'rnatamiz.
Ushbu qo'llanmada bo'lgani kabi, 320x480 ekranni asosiy ekran birligiga (Arduino MEGA) to'g'ri ulashdan boshlang. (Adafruit -da simlarni ulash va kodlash bo'yicha batafsil qo'llanma mavjud).
Ovoz uchun men raqamli pim va GNDni ajratish uchun zilzilani va 3W 4 Ohmli dinamikni uladim.
ohang bilan (pin, chastota, davomiylik); Siz asosiy monofonik tovushlarni yaratishingiz mumkin.
2 -qadam: Kutubxonalar bilan tanishing
Adafruit 320x480 ekrani mos keladigan Adafruit_GFX va Adafruit_TFTLCD kutubxonalarini qo'llab -quvvatlaydi.
Hujjatlarni o'qing. Menimcha, bu erda yaxshi tushuntirilgan.
Arduino IDE -da to'g'ri sozlamalarni o'rnatganingizga ishonch hosil qiling:
Asboblar -> Kengash -> Arduino/Genuino MEGA yoki MEGA 2560
Asboblar -> Port -> [Ichida '' Arduino MEGA '' bo'lgan port]
Bu ekran kutubxonasi maxsus shriftlarni, asosiy shakllarni va turli ranglarni qo'llab -quvvatlaydi.
Shunisi e'tiborga loyiqki, silliq animatsiya uchun yangilanish tezligi juda past. Agar siz ekranning har bir belgisini yangilamoqchi bo'lsangiz, har bir pikselni qayta chizish juda sekin bo'ladi va u miltillaydi
Shunday qilib, men bu erda ijodiy ishlashni taklif qilaman, masalan, ba'zi eski qo'l asboblari animatsiyani qanday boshqargan: asosiy kadrlar bilan. Kamroq bu ko'proq! Va har soniyada hamma narsani qayta chizish o'rniga, agar siz to'rtburchakni chapga yoki o'ngga siljitmoqchi bo'lsangiz, butun ob'ektni o'chirib, uni qayta chizish o'rniga, qoldirgan izni o'chirib tashlashingiz mumkin.
Masalan, men ekranning miltillashini kirish ketma -ketligidagi belgi uchun miltillovchi effekt sifatida ishlatardim.
Adafruit_GFX kutubxonasidan asosan tft.fillRect (x, y, kenglik, balandlik, rang) dan foydalanardim; va tft.print (matn); vazifalar.
Tajriba - bu kalit.
3 -qadam: Grafik foydalanuvchi interfeysi / asosiy menyuni loyihalash
Kutubxonada ma'lumot olgandan so'ng va uning imkoniyatlari/cheklovlarini bilganingizdan so'ng, siz asosiy menyu ekranini loyihalashni boshlashingiz mumkin.
Yana to'rtburchaklar haqida o'ylang. Hech bo'lmaganda men shunday qildim.
Mana UI uchun mening kodim
pastebin.com/ubggvcqK
Adafruit sensorli ekranidagi "Lite" pinini analog pin orqali boshqarish uchun ekran yorqinligi uchun slayderlar yaratishingiz mumkin.
4 -qadam: Ikkita boshqaruvchini sim bilan ulang
Tekshirish qismi uchun, qaysi o'yinni rejalashtirayotganingizga qarab, qanday sensorlardan foydalanishni o'zingiz hal qilasiz
OK, shuning uchun men tekshiruvchilar uchun foydalanishga qaror qildim:
- Bosim sensori
- OLED ekran
- Bir kanalli sensorli modul yoqiladi yoki o'chadi
- Imo -ishorali sensor (RobotDyn APDS9960)
- nRFL01+ qabul qiluvchi (simsiz aloqa uchun)
- Bosish tugmasi
Eslatma: Harakat sensori va OLED SCL / SDA ulanishlaridan foydalanadi. Arduino -da faqat ikkitasi borligini anglashimga biroz vaqt ketdi: A4 va A5. Lekin siz ularni parallel taxtaga ulashingiz mumkin va u yaxshi ishlaydi
5 -qadam: Simsiz ulanishni boshlang
NRF24L01+ modullarini ulash menga ishlashiga biroz vaqt kerak bo'ldi.
Sensor ma'lumotlarini ekranga to'g'ri etkaza olmaganimdan so'ng, TMRh20 RF24 kutubxonasiga murojaat qilishimga to'g'ri keldi.
Bir nechta Arduinolar bir -biri bilan aloqa o'rnatishi uchun biz UNOlardan kamida bittasi MEGA kabi quvvatlanganligiga ishonch hosil qilishimiz kerak.
UNO -dan olingan natijalarni chop etish uchun MEGA -ning ketma -ket konsolidan foydalaning va u ishlayaptimi -yo'qligini bilib oling.
Mana kod
Mana kutubxona
6 -qadam: Yovvoyi yur! Har xil narsalarni sinab ko'ring
Rivojlanish jarayonimning muhim qismi bu ko'p narsalarni sinab ko'rish edi!
Qanday tugmalardan foydalanmoqchisiz?
Tekshirgichlaringizga nima qo'yasiz?
Veb -saytlarga qarang, siz odatdagi "A/B" tugmachalari yoki analog joystiklardan tashqari ko'plab komponentlarni topasiz. Buni amalga oshirish uchun ilhom va motivatsiyaga ega bo'ling!
Tekshirgichlarga nima kiritmoqchi ekanligingiz haqida aniq va ishchi tasavvurga ega bo'lgach, komponentlarni sim bilan ulang.
Ular qanday ishlashiga qarab, siz raqamli kirishni yoki analogli kirishni ishlatishingiz kerak bo'ladi.
QAYD: Ba'zi komponentalarga to'g'ri ishlashi uchun SCL / SDA pinlari kerak bo'lishi mumkin. Va agar sizda ikkalasi ham bir xil sensorga muhtoj bo'lsa, ehtimol siz ham men kabi vahima qo'zg'aysan. Lekin siz xavotir olmaysiz
Siz ikkala datchikning ham SDA va SCL pinlarini A4 va A5 ga ketma -ket qo'yishingiz mumkin va u ishlaydi
7 -qadam: Dizayn
Siz foydalanmoqchi bo'lgan datchiklar haqida ajoyib fikrga ega bo'lganingizdan so'ng, sizga yoqadigan dizayn uchun ba'zi g'oyalarni eskiz qiling.
Shundan so'ng, Blender, Maya, Cinema 4D kabi modellashtirish dasturlariga kiring.
Men (qo'pol) model yaratish uchun Blenderdan foydalandim.
Blenderda aniq o'lchovlarni olish uchun siz panjara o'lchov birligini millimetrga o'zgartirishingiz mumkin.
Siz modelni yaratganingizdan so'ng, sizda ikki tomonlama tepaliklar yo'qligiga va o'z me'yorlaringizni qayta hisoblaganingizga ishonch hosil qiling.
Agar men kabi 3D printerdan foydalanmoqchi bo'lsangiz, faylni.stl formatida eksport qiling.
QAYD: Blender -da siz keyingi bosqichda Cura -ning aniq hajmini xohlasangiz, eksport ko'lamini 0,1 ga o'rnatishingiz kerak bo'ladi
8 -qadam: Korpusni 3D bosib chiqarish
Ushbu model Ultimaker 2+ printerida 2,85 mm qora PLA filament bilan bosilgan.
CURA -ni yuklab oling
. STL -ni Cura -ga yuklang va bu sizga qancha vaqt ketishini ko'rsatadi.
Qo'l qutisi uchun o'lchamiga qarab 10 soat bosib chiqarish mumkin.
Biroq, past detalli modellar uchun siz jarayonni tezlashtirishingiz mumkin, men shunday qildim.
Mana mening sozlamalarim:
Qatlam balandligi: 0,2
Devor qalinligi: 0,8
Yuqori/pastki qalinligi: 0,8
Burun: 0,4
Harorat: 60 daraja Selsiy
Oqim: 100%
Chegara: har qanday joyga tegib turadigan plastinka
To'ldirish zichligi: 20%
Asta -sekin: 0
Burun harorati: 220 S
Bosib chiqarish tezligi: 120%
9 -qadam: Lehimlash va yakunlash
Siz uzoq yo'lni bosib o'tdingiz.
Oxirgi qadam - perfboard / veroboard sotib olish va taxtali ulanishlarni prototiplash taxtasining bir qismiga tarjima qilish.
Elektron buyumlar bosilgan korpusga mos kelishiga ishonch hosil qiling va, ehtimol, tugmachalar / boshqaruvchi kirishlari yopishadigan qismlarni yasash uchun yog'ochdan yasalgan MDFni kesib oling.
Buning uchun men lazer kesgichdan foydalandim.
Eng muhimi, bu ishni qilish, boshqacha qilib ko'rmagan narsalarni sinab ko'rish va dam olish!
Umid qilamanki, bu darslik etarli darajada tushunarli edi … Bu juda qiyin loyiha bo'lib, ajoyib natija berdi!:)