Mundarija:

Buni shunday qiling! Star Trek TNG mini muhandislik kompyuteri: 11 qadam (rasmlar bilan)
Buni shunday qiling! Star Trek TNG mini muhandislik kompyuteri: 11 qadam (rasmlar bilan)

Video: Buni shunday qiling! Star Trek TNG mini muhandislik kompyuteri: 11 qadam (rasmlar bilan)

Video: Buni shunday qiling! Star Trek TNG mini muhandislik kompyuteri: 11 qadam (rasmlar bilan)
Video: PLANTS VS ZOMBIES 2 LIVE 2024, Noyabr
Anonim
Image
Image
Buni shunday qiling! Star Trek TNG Mini muhandislik kompyuter
Buni shunday qiling! Star Trek TNG Mini muhandislik kompyuter
Buni shunday qiling! Star Trek TNG Mini muhandislik kompyuter
Buni shunday qiling! Star Trek TNG Mini muhandislik kompyuter

Sharh

Men Star Trek: Keyingi avlodni tomosha qilib o'sganman. Men har doim "Star Trek" nomli qurilmani qurishni xohlardim, shuning uchun men nihoyat Star Trek displey terminalini yaratish uchun eski loyihalarimdan birini remix qildim.

Terminal quyidagi ma'lumotlarni taqdim etadi:

  • Ob -havo - Milliy ob -havo xizmati yordamida
  • Ichki harorat, namlik va uchuvchan organik birikmalar (VOC) kuchi
  • Yangiliklar - News.org saytidan
  • Jadval (signal funktsiyasi bilan) - Microsoft Outlook -dan
  • Fitnes haqida ma'lumot (qadamlar, harakatlanish daqiqalari, yurak ochkolari, vazn, yoqilgan kaloriyalar) - Google Fitness -dan
  • Rezistorlar rang kodi jadvali
  • LED rezistorli kalkulyator (oqim va manba quvvatiga qarab qarshilik qiymatini aniqlash uchun)
  • Quvvat va oqim o'lchash vositasi

Bu ma'lumotlar API va apparat sensorlari kombinatsiyasi orqali mavjud. Men mikrokontroller uchun ESP32 -dan foydalanaman va barcha ma'lumotlarni yig'ish va yig'ish uchun AWS bulutidan foydalanaman.

Men bir nechta "Pasxa tuxumlari" ni ham qo'shdim:

  • Ron Makneyrga hurmat - Doktor Makneyr mening muhandis bo'lishimga sabab bo'ldi; u mening shahrimdan 45 daqiqalik masofada o'sgan. U Challenjer portlashida vafot etdi.

    • Mening yulduzli kemamning nomi "USS Ronald E McNair"
    • Ro'yxatga olish raqami - Mak -Nair tug'ilgan kun; Prefiks kodi - u hayotdan ko'z yumgan kun.
  • "Prefiks kodidan" foydalanish "Star Trek: Xanning g'azabi" ("Yulduzli trekning barcha davridagi eng buyuk filmi" emas, @ menga) degan ma'noni anglatadi.
  • Terminal ishining o'ng tomonidagi raqamlar mening birodarligim (1906 - Alpha Phi Alpha) va mening bilimlarim va o'qish sohamga tegishli (Oklaxoma universiteti, muhandislik kolleji)

Sizda "Pasxa tuxumlari" uchun raqamlash, harflar va kema nomi, ro'yxatga olish kitobi va boshqalarni sozlash imkoniyati mavjud.

Fon

O'tgan yili menga taqiladigan loyiha uchun quvvat va batareyaning zaryadsizlanishini o'lchashning arzon usuli kerak edi. Men Adafruit INA219 Featherwing sotib oldim va oddiy quvvat o'lchash moslamasini yaratish uchun turli xil ehtiyot qismlardan foydalanardim (bu haqda bu erda o'qishingiz mumkin).

Bu yil men qurilmani yanada takomillashtirish uchun uni yangilashga qaror qildim. Men dastlab ishlaydigan Star Trek trikoderini (Mark IV TR-590 Mark IX versiyasi, g'amxo'rlik qiluvchilar uchun) qurishni rejalashtirgandim … lekin men tezda stolimda o'tiradigan narsani yaratish mantiqiy ekanligini tushundim (nima uchun? salqin qurilma yasash uchun bu muammolarning barchasiga o'ting, faqat uni yopish va ishlatilmaganda tortmasiga soling).

Shunday qilib, men Star Trek TNG yoki Voyager (yoki turli filmlar) da ko'riladigan kompyuter displeylarining versiyasini yaratishga o'girildim. Men turli dizaynlar bilan o'ynadim, keyin Ruiz Brothers of Adafruit tomonidan yaratilgan versiyaga duch keldim. Adafruit o'zining 3D -bosma loyihalari uchun taqdim etilgan manba fayllarini juda yaxshi bajaradi, shuning uchun men ularning asl nusxasini olib, uni apparat, tugmalar va boshqa tashqi qurilmalarim uchun remix qila oldim.

Davom etishdan oldin bilishingiz kerak bo'lgan narsalar

  1. Men loyiha versiyasini yaratish bo'yicha bosqichma -bosqich ko'rsatmalarni beraman; ammo, men ba'zi qadamlar haqida batafsil ma'lumot bermayman (qo'llab -quvvatlovchi ko'rsatmalar yoki hujjatlarga havola qilaman)
  2. Bu murakkab loyiha. Bu "ko'p tarmoqli brend" bo'lib, u quyidagi ko'nikmalarni talab qiladi

    • Arduino IDE
    • AWS - Sizga hisob kerak bo'ladi va siz S3, Lambda va Node JS ni tushunishingiz kerak bo'ladi
    • Lehimlash
    • 3D bosib chiqarish
  3. Taqvim va fitnes ma'lumotlarini olish uchun loyihani takomillashtirish uchun ixtiyoriy "qo'shimchalar" mavjud. Funktsionallik kod bazasiga kiritilgan; ammo, bu xususiyatlarni qo'llab -quvvatlash uchun Azure va Google bulutlarida "ilovalar" yaratishingiz kerak bo'ladi.
  4. Bu oxir -oqibat sozlanishi … siz joriy sensorni boshqa tuk bilan almashtirishingiz mumkin, boshqa tuklar/wifi kombinatsiyasidan foydalanishingiz mumkin.

Ta'minotlar

Elektron komponentlar

  • Adafruit ESP32 Huzzah tuklar
  • Adafruit Featherwing Tripler mini to'plami
  • Adafruit 12-tugmachali sig'imli sensorli sensor
  • Adafruit TFT FeatherWing - 3,5 dyuymli 480x320 sensorli ekran
  • Adafruit BME680 - harorat, namlik, bosim va gaz sensori
  • DC panelni o'rnatish uchun 2,1 barrelli ulagich (2)
  • Lityum -ionli polimer batareyasi - 3,7 V 500 mA / soat
  • Piezo Buzzer
  • Mirco USB kabeli va 5V zaryadlovchi (odatiy USB telefon zaryadlovchi ishlaydi)
  • Yopishqoqli mis folga tasmasi
  • Majburiy emas - Adafruit INA219 Featherwing
  • Majburiy emas - 2,1 erkak vilkalar - (INA219 oqim sensori bilan ishlatish uchun)

2.1 vilkasidan tashqari barcha elektron komponentlarga havola:

3D filament komponentlari va ixtiyoriy bo'yoq/silliqlash komponentlari

  • Proto Makaron Supero'tkazuvchilar PLA
  • Qo'shimcha 3D filamanlar - Men 4 ta rangdan foydalanardim - kulrang, qora, suvli (och ko'k) va oq
  • .25 va 0,4 mm nozullar (yozuv detallari uchun 0,25 dan foydalanganman).

Uskuna yig'ish komponentlari va asboblari

  • M2x5 va M3x5 vintlardek
  • To'g'ri va to'g'ri burchakli sarlavhalar pinlari (havolalar uchun Adafruit istaklar ro'yxatiga qarang)
  • Lehimlash dazmollari (va lehim g’altaklari, kalay tinerlari, payvand choklari va boshqalar)
  • Philips boshli tornavida to'plami
  • O'chirish
  • Stranded Wire 22AWG - besh yoki oltita rang
  • Solid Wire 22AWG - besh yoki oltita rang
  • PCB Vise va yordamchi qo'llar (ixtiyoriy, lekin lehimlashni osonlashtiradi)
  • Diagonal sim kesgichlar
  • Tel -striptizchilar
  • Xacto pichog'i (3D printer qismlaridan tayanchlarni olib tashlash uchun)
  • 3D printer (agar siz o'zingizni chop etmoqchi bo'lsangiz)
  • Macun yoki lenta (batareyani bosilgan qutining ichki qismiga yopishtirish uchun)
  • Raqamli kaliperlar
  • Krazy elim
  • Majburiy emas - bir martalik nitril qo'lqoplar
  • Majburiy emas - lehim mat (ixtiyoriy, lekin sirtni himoya qiladi)

E'tibor bering: agar sizda bu vositalar bo'lmasa, men sizga yaxshi variantlar bo'yicha tavsiyalar olish uchun Bekki Sternning saytini tekshirishni taklif qilaman.

Dasturiy ta'minot

  • Arduino IDE
  • Node JS muharriri (Microsoft kodi kabi)
  • AWS hisobi
  • Majburiy emas - Google Cloud hisobi (fitnes ma'lumotlari uchun)
  • Majburiy emas - Microsoft Azure Cloud hisob qaydnomasi (kalendar ma'lumotlari uchun)
  • 1 -qadam: Yuklab olish, fayllarni o'zgartirish va 3D fayllarni chop etish

    3D fayllarni yuklab oling, o'zgartiring va chop eting
    3D fayllarni yuklab oling, o'zgartiring va chop eting
    3D fayllarni yuklab oling, o'zgartiring va chop eting
    3D fayllarni yuklab oling, o'zgartiring va chop eting
    3D fayllarni yuklab oling, o'zgartiring va chop eting
    3D fayllarni yuklab oling, o'zgartiring va chop eting
    3D fayllarni yuklab oling, o'zgartiring va chop eting
    3D fayllarni yuklab oling, o'zgartiring va chop eting

    Siz fayllarni 3D bosib chiqarish xizmatiga (masalan, 3D Hub) yuborishingiz yoki o'zingiz chop etishingiz mumkin. Fayllar PrusaPrinters.org saytida mavjud.

    Bu Adafruit veb -saytida joylashgan Py Portal Budilnik soatining remiksi. Mening loyiham shunga o'xshash TFTdan foydalanadi, shuning uchun men aksessuarlarim bilan ishni bajarish uchun zarur bo'lgan dizayn ishlarini minimal darajada kamaytira oldim.

    Men chop etish uchun quyidagi sozlamalardan foydalandim:

    • Old va orqa- 0,4 mm qatlam balandligida bosilgan, 0,4 mm burunli, tayanchlarsiz
    • Yon raqami - 0,10 mm qatlam balandligida bosilgan, 0,25 mm burunli, tayanchlarsiz
    • Kalitlar - 0,4 mm qatlam balandligida 0,4 mm ko'krak bilan bosilgan. Siz 7-ni chop etishingiz kerak va siz Proto-Makaron Supero'tkazuvchilar Filament bilan chop etishingiz kerak bo'ladi.
    • Koson - 0,2 mm qatlam balandligida bosilgan.

      Qo'llab -quvvatlashlar kerak, lekin hamma joyda ham kerak emas (faqat klaviatura yon va o'rtalarida

    Siz bilishingiz kerak bo'lgan bir nechta narsalar:

    1. Prusa MK3 har xil qatlam balandliklarida ranglarni o'zgartirish imkonini beradi. Men bu xususiyatni yon raqamlar uchun ishlatardim.
    2. Shuningdek, yon raqamli qismga kelsak:

      • Star Trek TNG ishlab chiqarish ekipaji rekvizitlarga Pasxa tuxumlarini separ edi. Agar siz turli lavhalar va panellarga diqqat bilan qarasangiz, siz odamlarning ismlarini, qo'shiq so'zlarini va boshqalarni ko'rasiz. Men o'z raqamim uchun o'z "Pasxa tuxumi" ni yaratmoqchi edim, shuning uchun men "06" dan foydalanaman - bu mening qardoshligimni bildiradi (1906 yilda tashkil topgan) va "OUCOE" - bu mening ilmiy maqolamga tegishli (Oklaxoma universiteti, muhandislik kolleji).
      • Men "bo'sh" yon raqamni yaratdim, uni o'zingizning shaxsiy raqamingiz va matningizni o'zgartirish uchun o'zgartirishingiz mumkin.

    2 -qadam: Lehimlash/komponentlarni yig'ish - a qismi (klaviatura va yon raqami)

    Lehimlash/komponentlarni yig'ish - a qismi (klaviatura va yon raqami)
    Lehimlash/komponentlarni yig'ish - a qismi (klaviatura va yon raqami)
    Lehimlash/komponentlarni yig'ish - a qismi (klaviatura va yon raqami)
    Lehimlash/komponentlarni yig'ish - a qismi (klaviatura va yon raqami)
    Lehimlash/komponentlarni yig'ish - a qismi (klaviatura va yon raqami)
    Lehimlash/komponentlarni yig'ish - a qismi (klaviatura va yon raqami)
    Lehimlash/komponentlarni yig'ish - a qismi (klaviatura va yon raqami)
    Lehimlash/komponentlarni yig'ish - a qismi (klaviatura va yon raqami)

    Birinchidan, biz yon raqamni qo'yamiz. Yon raqamni joyiga qo'yish uchun ozgina elimdan foydalaning.

    Keyin biz klaviaturani yig'amiz

    1. Siz har birining uzunligi 10-12 dyuym bo'lgan 7 bo'lak simni kesib olishingiz kerak. Ular sig'imli sensorli sensorning 0-6-pinlariga ulanadi. Men sizga turli xil ranglardan foydalanishni taklif qilaman (va keyinchalik bu ma'lumot sizga kerak bo'ladi). Men quyidagi rang kombinatsiyasidan foydalandim:

      • Sariq - pin 0/tugma 1
      • Kulrang - 1 -pin/2 -tugma
      • Qizil - 2 -pin /3 -tugma
      • Moviy - 3 -pin // 4 -tugma
      • Yashil - 4 -pin // 5 -tugma
      • Oq - 5 -pin // 6 -tugma
      • Qora - 6 -pin // 7 -tugma
    2. Har bir simning uchidan 1/2 dyuymni torting.
    3. 7 ta Supero'tkazuvchilar lentani (har birining kengligi taxminan 1/2 dyuym) kesib oling va simlarni lentaning mis tomoniga lehimlang.
    4. Yopishqoq tayanchni olib tashlang va ularni kalitlarning pastki qismiga yopishtiring. Mis lentaning bir qismini kesib tashlashingiz kerak bo'lishi mumkin.

    E'tibor bering: kalitlarni pastdan yopishtirish mumkin (tepaga yaqin bo'lishi uchun) yoki yuqoridan yopishtirish mumkin (yuqoridan bir necha mm "suzib" ketishi uchun). Men o'zimni tepadan yopishtirishni tanladim.

    7 -ni tugatganingizdan so'ng, klaviatura tugmachalarini yopishtiruvchi yopishtirgichdan foydalaning. Men buni osonroq deb bilaman:

    • Avval simni kalit teshigidan "ilon" qiling.
    • Keyin kalitning tizmasiga/chekkasiga ozgina elim surting
    • Kalitni tezda joyiga qo'ying.

    Eslatma: Krazy Glue bu erda eng yaxshi ishlaydi; baxtsiz hodisalar va terining tirnash xususiyati ehtimolini kamaytirish uchun qo'lqop ishlatishni xohlashingiz mumkin.

    3 -qadam: Lehimlash/komponentlarni yig'ish - B qismi (Featherwings va sensorlar)

    Lehimlash/komponentlarni yig'ish - B qismi (Featherwings va sensorlar)
    Lehimlash/komponentlarni yig'ish - B qismi (Featherwings va sensorlar)
    Lehimlash/komponentlarni yig'ish - B qismi (Featherwings va sensorlar)
    Lehimlash/komponentlarni yig'ish - B qismi (Featherwings va sensorlar)
    Lehimlash/komponentlarni yig'ish - B qismi (Featherwings va sensorlar)
    Lehimlash/komponentlarni yig'ish - B qismi (Featherwings va sensorlar)

    Keyingi qadam - apparat qismlarini tayyorlash va yig'ish. Oxir -oqibat, bu keyinchalik ishlatish uchun sarlavha pinlari va simlarini lehimlashni anglatadi. Bu qo'llanma siz lehim bilan qulay ekanligini taxmin qiladi; agar bo'lmasa, Adafruit -dan "Ajoyib lehim qo'llanmasi" ni ko'rib chiqing.

    Birinchidan, biz materiallarni tayyorlaymiz. Ushbu qadam uchun sizga kerak bo'ladi:

    • TFT 3.5 Featherwing
    • ESP32 tuklar
    • INA219 Featherwing
    • Tripler Featherwing
    • MPR121 sig'imli sensorli sensor
    • Sensor BME680
    • To'g'ri va to'g'ri burchakli sarlavhalar
    • Qattiq va tor sim
    • Lehimlash asboblari va yordamchi qo'llar
    • Diagonal tel kesgichlar va simlarni tozalash
    • Kaliperlar

    Eslatma: Men sizga lehimlashni boshlashdan oldin ushbu qadamni o'qib chiqishingizni va barcha simlar va sarlavhalarni kesishingizni maslahat beraman. Shunday qilib, siz o'lchash/kesishni to'xtatishingiz shart emas.

    TFT 3.5 Featherwing -ni tayyorlang

    TFT faqat bitta sozlash bilan qutidan tashqarida foydalanishga tayyor. Siz "Lite" yostig'i va pinli lehim yostig'i o'rtasida simni lehimlashingiz kerak bo'ladi. Bizning kod TFT lite -ni boshqarish uchun ESP32 Pin 21 -dan foydalanadi. TFT -ni "uzoq" yo'lga qo'ying, pastki qismidagi tiklash tugmasi bilan. Pin 21 pastki chap pin bo'ladi.

    40 mm uzunlikdagi simni kesib oling. Har bir uchida bir necha millimetr simlar ko'rinadigan qilib, uchlarini echib oling. Lehimlash temiridan foydalanib, ikkala pinga ehtiyotkorlik bilan lehimlang.

    E'tibor bering: sizga atigi 35 mm uzunlik kerak, shuning uchun siz simni kerak bo'lganda kesishingiz mumkin. Bundan tashqari, men lehimni yostiqqa, keyin simga qo'shib, keyin paychaga payvandlash - eng oson usul. Nihoyat - bu prokladkalar kichkina … Agar o'zingizni noqulay his qilsangiz, har doim bu bosqichni o'tkazib yuborishingiz mumkin: bu faqat TFTni klaviatura yordamida o'chirish uchun.

    ESP32 tukini tayyorlang

    Siz ESP32 -ga standart erkak bosh pimlarini lehimlashingiz kerak bo'ladi. Sizning ESP32 sarlavhalari bilan birga bo'lishi kerak, lekin to'g'ri uzunlikka erishish uchun ularni qirqishingiz kerak bo'lishi mumkin (uzun tomonda 16 ta, qisqa tomonda 12 ta pin). Sarlavha pimlari "uzib tashlash" uchun qilingan, shuning uchun siz diagonal kesgichlardan foydalanib, sarlavhalarni to'g'ri uzunlikka kesib olishingiz mumkin. Shunga qaramay, Adafruitda buni qanday qilish bo'yicha ajoyib ko'rsatmalar bor, shuning uchun sizga yo'l -yo'riq kerak bo'lsa, buni tekshirib ko'ring.

    Ixtiyoriy - INA219 Featherwing -ni tayyorlang

    Birinchidan, erkaklar boshlarini tuklarga lehimlang (ESP32 uchun ishlatilgan ko'rsatmalardan foydalangan holda). Keyin 20 mm uzunlikdagi to'rtta torli simni kesib oling. Men 2 BLACK va boshqalarni boshqa rangga aylantirardim. Rang tanlashda men kulrang va ko'k ranglardan foydalanardim.

    Telning uchlarini echib oling, shunda har bir uchida 3-4 mm mis sim ochiladi. Siz har bir simni bittadan quyida lehimlaysiz:

    • Kulrang -> V+ (ortiqcha)
    • KO'K -> V- (minus)
    • QORA -> GND (yer)
    • QORA -> GND (yer)

    Bu vaqtda simlarning boshqa uchlarini qoldiring; biz oxir -oqibat ularni DC 2.1 vilkalariga lehimlaymiz.

    Piezo Buzzer -ni ulang

    INA Featherwing kichik prototiplash maydoni bilan birga keladi; biz buni piezoni biriktirish uchun ishlatamiz. Piezo bizning loyihamizga signal berish, signal berish va hk signalini berish imkoniyatini beradi.

    Piezo ESP32 PIN 13 ga ulanadi; bu tuklar ustidagi USB pinining yonidagi pin bilan bog'liq (o'qlar uchun rasmga qarang). Boshqa piezo pin erga ulanadi. Piez pimlari ularni tuklarga to'g'ridan-to'g'ri lehimlashi uchun etarlicha uzun … siz pimlarni "kamonli odam" shaklida egishingiz kerak (rasmga qarang). Pimlarni joyiga qo'ygandan so'ng, piezoni joyida ushlab turish uchun yordam qo'llarini (yoki tasmasini) ishlating va tuk ostidan lehimlang.

    Eslatma - Agar siz INA219 -dan foydalanmasangiz, siz piezoni to'g'ridan -to'g'ri tuklar taxtasiga lehimlashingiz kerak bo'ladi.

    Tripler Featherwing -ni tayyorlang

    Tuklar bizni juda ko'p lehimdan qutqaradi; u 3 ta tuk/qanotni ushlab turishi mumkin … shuning uchun biz uni TFT, ESP32, INA219 (shuningdek, piezo va TFT Lite pin) o'rtasida elektr aloqasini o'rnatish uchun ishlatamiz.

    Ulanishlarni to'g'ri amalga oshirish uchun bizga ikkita juft biriktiruvchi sarlavha va bir juft standart erkak sarlavhani lehimlash kerak bo'ladi.

    • Oddiy erkak sarlavhalar "tepada" davom etadi, lekin Triplerning pastki qismiga lehimlanadi.
    • Qatlamning ikkita sarlavhasi Triplerning yuqori qismidagi 2 va 3 -nuqtalarda lehimlanadi.

    Bu biroz chalkashlik, shuning uchun har bir sarlavha qaerda joylashtirilganini tushunish uchun rasmlarga qarang. Bundan tashqari, PCB vise va yordam qo'llarining kombinatsiyasi komponentlarni lehimlashga katta yordam beradi.

    BME 680 sensori va MPR121 sig'imli sensorli sensorini tayyorlang

    Oxirgi ikkita sensorni o'rnatish eng qiyin. O'rnatishni tugatishdan oldin, biz bosh taxtali pimlarga mahkamlashimiz kerak.

    BME sensori 90 burchak bilan biriktirilgan, shuning uchun men sensorni korpusdagi teshikka tekislay olaman (sensor harorat, gaz, namlikni ushlab turishi uchun). To'g'ri burchakli pimlarni teshiklarga lehimlashingiz kerak bo'ladi. Rasmlarni ko'rib chiqing va ularni to'g'ri tekislang.

    Sensorli Capacitive Touch oddiy - bu erda ko'rsatilgandek, faqat erkak konnektorli pinlarni lehimlang. Eslatma: siz pinlarni sig'adigan sensorli pinlarga lehimlamasligingiz kerak (0 - 11).

    BME 680 va MPR121 sensorlarini Tripler platasiga ulang

    Ikkala datchik ham I2C orqali aloqa o'rnatadi … bu shuni anglatadiki, biz kesish taxtasi va Featherwing o'rtasida faqat 4 ta aloqa o'rnatamiz. Oddiylik uchun men taxtalar orasidagi barcha ulanishlarni lehimlayman.

    BME 680

    Bu sensor uchun men ikkala yordamchini joyida ushlab turish uchun Helping Hands va PCB Vise -dan foydalanaman (yuqoridagi rasmga qarang). BME680 sensori tuklar oxirida joylashtirilishi kerak. Joylashtirishni tasdiqlash uchun yuqoridagi rasmlarga qarang.

    Ulanishlarni lehimlash jarayoni zerikarli, shuning uchun asta -sekin boring. Men ulanish uchun qattiq yadroli simdan foydalanaman:

      • Qora - GND
      • QIZIL - VIN
      • SARI - SCL (sensordagi SCK pimi
      • ORANGE - SDA (sensordagi SDA pin)

    Eslatma: SCL va SDA pinlari ikkala sensor uchun ham zarur, shuning uchun Featherwing -ning boshqa qismida SCL yoki SDA pinini ishlatish osonroq bo'lishi mumkin.

    MPR121

    Bu sensorni lehimlashda yordam qo'llari ham yordam beradi (lenta ham ishlaydi). Kod ESP32 bilan aloqa qilish uchun I2C ishlatilgan, shuning uchun siz SCA va SDA pinlarini ulaysiz.

    4 -qadam: Lehimlash/komponentlarni yig'ish - C qismi (sig'im sensori klaviaturasi va ishlayotganda)

    Lehimlash/komponentlarni yig'ish - C qismi (sig'im sensori uchun klaviatura va holatlar)
    Lehimlash/komponentlarni yig'ish - C qismi (sig'im sensori uchun klaviatura va holatlar)
    Lehimlash/komponentlarni yig'ish - C qismi (sig'im sensori va holatdagi klaviatura)
    Lehimlash/komponentlarni yig'ish - C qismi (sig'im sensori va holatdagi klaviatura)
    Lehimlash/komponentlarni yig'ish - C qismi (sig'im sensori va holatdagi klaviatura)
    Lehimlash/komponentlarni yig'ish - C qismi (sig'im sensori va holatdagi klaviatura)

    Siz bu bosqichda simlarni klaviaturadan Capacitive Touch sensoriga lehimlaysiz. Oldingi bilan bir xil rangdagi xaritalashdan foydalaning. Agar siz mening rang sxemamga amal qilgan bo'lsangiz, siz rangli simlarni quyidagicha lehimlaysiz:

    • Sariq - pin 0/tugma 1
    • Kulrang - 1 -pin/2 -tugma
    • Qizil - 2 -pin /3 -tugma
    • Moviy - 3 -pin /4 -tugma
    • Yashil - 4 -pin/5 -tugma
    • Oq - 5 -pin/6 -tugma
    • Qora - 6 -pin/7 -tugma

    Lehimlash tugagandan so'ng, simlarni joyida ushlab turish uchun o'ralgan galstukdan foydalaning.

    Keyin, TFT ekranini "Old" qismiga burab qo'ying. Siz M3 vintlarini ishlatasiz (jami to'rtta). TFT o'rnatilgandan so'ng, "old" qismini korpusga mahkamlang. Shunga qaramay, siz M3 vintlarini ishlatasiz (ikkita).

    Keyin, Featherwing Tripler -ni barcha komponentlari ulangan holda TFT -ga ulang.

    Eslatma - Agar siz batareyadan foydalanmoqchi bo'lsangiz, TFTni joylashtirishdan oldin uni ESP32 -JST portiga ulang. Batareyani korpusning pastki qismiga yopishtirish uchun lentani ishlating.

    5 -qadam: ixtiyoriy - lehim/komponentlarni yig'ish - D qismi (INA219 tuk)

    Ixtiyoriy - lehim/komponentlarni yig'ish - D qismi (INA219 tuklar)
    Ixtiyoriy - lehim/komponentlarni yig'ish - D qismi (INA219 tuklar)
    Ixtiyoriy - lehim/komponentlarni yig'ish - D qismi (INA219 tuklar)
    Ixtiyoriy - lehim/komponentlarni yig'ish - D qismi (INA219 tuklar)
    Ixtiyoriy - lehim/komponentlarni yig'ish - D qismi (INA219 tuklar)
    Ixtiyoriy - lehim/komponentlarni yig'ish - D qismi (INA219 tuklar)
    Ixtiyoriy - lehim/komponentlarni yig'ish - D qismi (INA219 tuklar)
    Ixtiyoriy - lehim/komponentlarni yig'ish - D qismi (INA219 tuklar)

    Agar siz INA219 sensoridan foydalanayotgan bo'lsangiz, u holda siz simlarni shahar vilkalariga ulaysiz.

    1. DC vilkasini orqa qopqog'iga joylashtiring va joyiga burab qo'ying.
    2. INA219 simlarini ulash uchun lehim temiridan foydalaning.

      • Qora simlar har bir shahar vilkasi uchun GROUND ga o'tishi kerak.
      • Kulrang sim INPUT DC vilkasiga o'tishi kerak
      • Moviy sim OUTPUT vilkasidan o'tishi kerak.

    6 -qadam: Orqa qopqoqni burab, USB -ni ulang

    Uskuna yig'ishning oxirgi bosqichi - orqa qopqoqni joyiga burab qo'yish - M2 vintlar yordamida (4). U erdan USB kabelini ulang, uni kompyuteringizga ulang va dasturiy ta'minot bosqichlariga o'ting!

    7 -qadam: AWS muhitini tayyorlang

    AWS muhitini tayyorlang
    AWS muhitini tayyorlang

    Kirish qismida aytganimdek, yechimning asosi quyidagicha:

    1. ESP32 bilan ishlaydigan terminal AWS buluti bilan aloqa qilish uchun MQTT (Wi -Fi orqali) ulanishidan foydalanadi.
    2. AWS buluti qayta ishlashning asosiy qismini bajaradi va Monitor va so'ralgan xizmatlar o'rtasida o'z o'rni bo'lib xizmat qiladi.

    Bu bosqichda biz qilishimiz kerak bo'lgan bir nechta narsalar bor:

    Birinchidan, siz hali AWS muhitini sozlashingiz kerak. Bu sizga AWS hisob qaydnomasi o'rnatilganligini taxmin qiladi, shuning uchun bulutli hisobni o'rnatish bo'yicha ko'rsatmalar kiritilmagan. Aytish kerakki, qadamlar to'g'ridan-to'g'ri va bu erda topish mumkin.

    Ushbu bosqichdan o'tgandan so'ng, siz bir nechta xizmatlarni yaratishingiz kerak, shuning uchun AWS konsoliga kiring.

    Narsani yarating va kalitlarni yuklab oling

    AWS IoT Core AWS buluti va displey o'rtasidagi aloqani osonlashtiradi. Muloqotni qo'llab -quvvatlash uchun siz "narsa" yaratishingiz va sertifikatlarni yuklab olishingiz kerak bo'ladi.

    [Eslatma: bu ko'rsatmalarning aksariyati AWS Xushxabarchisi Moheeb Zara tomonidan yozilgan qo'llanmadan olingan]

    1. AWS konsolini oching va AWS IoT Core -ni tanlang.
    2. AWS IoT konsolida "Yangi narsani ro'yxatdan o'tkazish", "Bitta narsa yaratish" -ni tanlang.
    3. Yangi narsaga "starTrekESP32" deb nom bering. Qolgan maydonlarni standart holatiga qo'ying. Keyingisini tanlang.
    4. Sertifikat yaratish -ni tanlang. ESP32 -ga ulanish uchun faqat sertifikat, shaxsiy kalit va Amazon Root CA 1 -ni yuklash kerak. Yuklab oling va ularni xavfsiz joyda saqlang, chunki ular ESP32 qurilmasini dasturlashda ishlatiladi.
    5. Faollashtirish, siyosatni qo'shish -ni tanlang.
    6. Siyosat qo'shishni o'tkazib yuboring va "Ro'yxatdan o'tish" ni tanlang.
    7. AWS IoT konsoli yon menyusida Xavfsiz, Siyosatlar, Siyosat yaratish -ni tanlang.
    8. "Hamma narsaga ruxsat bering" siyosatini nomlang. Kengaytirilgan yorlig'ini tanlang.
    9. Quyidagi siyosat shablonini joylashtiring.
    10. {{"Versiya": "2012-10-17", "Bayonot": [{"Ta'sir": "Ruxsat berish", "Amal": "iot:*", "Resurs": "*"}]}
    11. Yaratish -ni tanlang. (Eslatma: Bu faqat boshlash uchun tavsiya etiladi. Hamma ishdan mamnun bo'lganidan so'ng, iltimos, orqaga qayting va buni yanada cheklovchiga o'zgartiring.)
    12. AWS IoT konsolida Xavfsiz, sertifikatlashni tanlang.
    13. Qurilmangiz uchun yaratilganini tanlang va Amallar, Qo'shish siyosati -ni tanlang.
    14. Hamma narsaga ruxsat berish, Qo'shish -ni tanlang.
    15. Chiqishdan oldin "Sozlamalar" ni bosing (chap menyuda). Sizning "maxsus yakuniy nuqta" ko'rsatiladi; matnli faylga saqlang … ESP32 ni sozlashda sizga kerak bo'ladi.

    Bo'sh Lambda faylini yarating

    Lambda - bu serversiz hisoblash shakli, shuning uchun biz bu erda hech qanday apparat haqida qayg'urmasligimiz kerak. Oxir -oqibat, bu erda biz yangilangan kodni joylashtiramiz (buni bir necha qadamda qilamiz). Hozircha biz faqat joy tutuvchi yaratmoqchimiz, shuning uchun …

    1. AWS konsoliga qayta kiring (agar siz tizimdan chiqqan bo'lsangiz) va Lambda -ni bosing.
    2. "Funktsiya yaratish" tugmasini bosing.
    3. Keyingi sahifada starTrekDisplay kabi asosiy nomni kiriting
    4. Node.js 12. X ni tanlang
    5. Ruxsatnomalar ostida:

      • Agar siz Lambda bo'ylab yo'lni bilsangiz va u bilan tanish bo'lsangiz, siz mantiqiy bo'lgan har qanday variantni tanlashingiz mumkin. Sizga CloudWatch, IotCore, S3 (o'qish va yozish) uchun ruxsat kerak bo'ladi.
      • Agar siz ruxsatnomalarga ishonchingiz komil bo'lmasa, "Lambda asosiy ruxsatnomalari bilan yangi rol yaratish" -ni tanlang. Rolning nomini yozing. Keyinchalik, biz ruxsatnomalarni o'zgartiramiz.
    6. Funktsiya yaratish -ni bosing.
    7. Bir daqiqadan so'ng siz "Salom dunyo" kodli parchasi bo'lgan yangi ekranga kirasiz. Pastga siljiting va asosiy sozlamalarga o'ting va "Tahrirlash" ni bosing.
    8. Vaqtni 3 soniyadan 2 minut 0 soniyaga o'zgartiring. Eslatma: sizning kodingiz hech qachon 5-10 sekunddan oshmasligi kerak … lekin Microsoft bilan dastlabki autentifikatsiyangiz uchun bizga ko'proq vaqt kerak (taqvim funktsiyasi uchun). Tasdiqdan so'ng, siz buni 20 soniyaga o'zgartirishingiz mumkin.
    9. Saqlashni bosing.

    Iot qoidasini yarating

    1. Lambda konsolida qoling va yuqoriga siljiting. "Trigger qo'shish" -ni tanlang.
    2. AWS IoT -ni tanlang. Keyin "Maxsus qoida" ni tanlang.
    3. "Yangi qoida yaratish" -ni tanlang.

      • Qoidalar nomi: ESP ulanishi
      • Qoidalar so'rovi bayonoti: "StarTrekDisplay/pub" dan * SELECT *
    4. "Qo'shish" ni bosing

    S3 chelak va papkasini yarating

    1. AWS konsoliga o'ting va S3 ni tanlang.
    2. Autentifikatsiya fayllarini saqlash uchun sizga chelak va papka kerak bo'ladi. Bu jild shaxsiy bo'lishi kerak. Men sizga mavjud bo'lgan chelakdan foydalanishni va "starTrekDisplay" nomli papkani nomlashni taklif qilaman. E'tibor bering - agar sizda chelak bo'lmasa, bu erdagi ko'rsatmalardan foydalanib, uni yarating.

    Ruxsatnomalarni yangilash - Agar siz Lambda -ga siz uchun rol yaratishga ruxsat bergan bo'lsangiz, unda siz ushbu qadamni bajarishingiz kerak bo'ladi

    1. AWS konsoliga kiring va IAM -ni tanlang
    2. ROLES -ni bosing, keyin siz ilgari yaratgan rol nomini tanlang.
    3. Qo'shish qoidalarini bosing va quyidagi siyosatni tanlang:

      • AWSIoTFullAccess
      • AmazonSNSFullAccess
      • CloudWatchFullAccess
      • AmazonS3FullAccess

    8 -qadam: dasturiy ta'minot kalitlarini yuklab oling va uchinchi tomon xizmatlarini o'rnating

    Dastur kalitlarini yuklab oling va uchinchi tomon xizmatlarini o'rnating
    Dastur kalitlarini yuklab oling va uchinchi tomon xizmatlarini o'rnating

    Men loyihada quyidagi uchinchi tomon xizmatlaridan foydalanaman:

    1. Worldtime API - vaqt uchun
    2. Milliy ob -havo xizmati API - ob -havo uchun
    3. Mening taqvimimga kirish uchun Microsoft Graph API
    4. Fitnes ma'lumotlariga kirish uchun Google Fitness API

    Xuddi shu xizmatlardan foydalanish uchun siz hisob qaydnomalarini o'rnatishingiz va kalitlarni yuklab olishingiz kerak bo'ladi

    Worldtime API - vaqt uchun

    Bu API kalitni talab qilmaydi, shuning uchun bu ishni bajarish uchun hech qanday harakat talab qilinmaydi.

    Milliy ob -havo xizmati API - ob -havo uchun

    National Weather Service API bepul va API kaliti talab qilinmaydi. Biroq, ular har bir so'rovda (sarlavha faylining bir qismi sifatida) aloqa ma'lumotlarini (elektron pochta ko'rinishida) yuborishingizni so'rashadi. Keyingi bosqichda siz aloqa ma'lumotlarini kodga qo'shasiz.

    Ixtiyoriy - Microsoft Graph API va Google Fitness API

    Bu kodni sozlashning eng murakkab qismi. Bizning qurilmamizda to'liq klaviatura yo'q … shuning uchun biz taqvimimizga kirish uchun cheklangan qurilmalar uchun OAUTH deb nomlangan narsadan foydalanamiz. Afsuski, cheklangan qurilmalar uchun OAUTH kodidan foydalanish uchun siz Azure "ilovasi" va Google ilovasini yaratishingiz kerak.

    Ilovani yaratish bo'yicha ko'rsatmalar bu erda Microsoft va Google uchun. Bu erda siz bilishingiz kerak bo'lgan bir nechta narsalar:

    • Siz Azure va Google bulutli hisobini yaratishingiz kerak bo'ladi. Bu bepul va sizdan hech narsa olinmaydi
    • Microsoft:

      • Sizdan foydalanuvchilar qaysi ilovadan foydalanishi mumkinligini so'rashadi. Men sizga "Har qanday tashkiliy katalogdagi hisoblar va shaxsiy Microsoft hisoblari" ni tanlashingizni maslahat beraman. Bu sizga shaxsiy Microsoft hisoblari va korporativ hisoblardan foydalanish imkonini beradi (ko'p hollarda).
      • Siz "Mobil va ish stoli" ilovalarini tanlashni xohlaysiz, lekin siz barcha ma'lumotlarni to'ldirishingiz shart emas (chunki bu shaxsiy dastur). Bu shuni anglatadiki, siz o'z ilovangizni dunyoga taqdim qila olmaysiz … lekin bu holatda yaxshi
      • Ilovangiz o'rnatilgach, kerakli ruxsatnomalarni tanlashingiz kerak bo'ladi. Men profillar va taqvimlarga tegishli ruxsatnomalarni so'radim (ruxsatnomalarning to'liq ro'yxati uchun galereyadagi rasmga qarang). Xuddi shu to'plamni tanlashingiz kerak bo'ladi. Agar siz ko'proq ruxsatnomalar qo'shsangiz, keyingi bosqichda tegishli doirani o'zgartirishingiz kerak bo'ladi.

    9 -qadam: AWS kodini o'zgartiring va yuklang

    Bu sizga Node.js ishlab chiqish va Lambda bilan tanish bo'lganingizni ko'rsatadi. Bog'langan faylni yuklab oling va yangilash uchun o'zgartirishlar kiriting:

    • Microsoft ilovasi va mijoz haqida ma'lumot
    • Google kaliti
    • Milliy ob -havo xizmati kuzatuvi uchun elektron pochta manzili
    • S3 chelak nomi
    • S3 papkaning nomi
    • AWS so'nggi nuqtasi

    Shuningdek, siz quyidagi tugun kutubxonalarini yuklab olishingiz kerak bo'ladi:

    1. aws-sdk
    2. lahzali vaqt mintaqasi
    3. aksanlar

    O'zgartirishlar kiritilgandan so'ng, kodni siz ilgari yaratgan lambda to'ldiruvchiga yuklang.

    10 -qadam: Arduino IDE -ni tayyorlang va kutubxonalarni yuklab oling

    Ushbu qo'llanma, shuningdek, Arduino bilan tanish bo'lganingizni taxmin qiladi. Adafruit ESP32 bilan ishlash uchun IDE sozlanganligiga ishonch hosil qilishingiz kerak. Agar sizga yordam kerak bo'lsa, bu erdagi ko'rsatmalarga amal qiling.

    Bu tugallangach, quyidagi kutubxonalarni yuklab oling:

    • Adafruit_GFX (kutubxona menejeridan)
    • Adafruit_HX8357 (kutubxona mudiridan)
    • TFT_eSPI (kutubxona menejeridan)
    • TFT_eFEX (https://github.com/Bodmer/TFT_eFEX)
    • PubSubClient (kutubxona menejeridan)
    • ArduinoJson (kutubxona menejeridan)
    • Adafruit_STMPE610 (kutubxona menejeridan)
    • Adafruit_MPR121 (kutubxona menejeridan)
    • Adafruit_INA219 (kutubxona menejeridan)
    • Adafruit_Sensor (kutubxona menejeridan)
    • Adafruit_BME680 (kutubxona menejeridan)
    • Tone32 (https://github.com/lbernstone/Tone)

    Keyin biz bir nechta kutubxonalarni o'zgartirishimiz kerak bo'ladi:

    1. PubSubClient papkasini oching (Arduino/Library papkasida) va "PubSubClient.h" ni oching. MQTT_MAX_PACKET_SIZE qiymatini toping va uni 2000 ga o'zgartiring.
    2. Keyin, TFT_eSPI papkasini oching va "User_Setup_Select.h" faylini oching. Har qanday "user_setup… o'z ichiga oladi" qatorlarini sharhlang va ushbu qatorni qo'shing:

    #qo'shing

    Keyin, bog'langan Custom_Tricorder.zip faylini yuklab oling va ".h" faylini Arduino kutubxonalar papkasidagi "TFT_eSPI / User_Setups" manziliga chiqarib oling. Men

    Endi biz Arduino kodini yangilashga o'tamiz

    11 -qadam: Arduino kodini yangilang va o'rnating

    Arduino kodini yangilang va o'rnating va ishga tushing!
    Arduino kodini yangilang va o'rnating va ishga tushing!

    Arduino kodi

    Arduino kodi uchun bog'langan faylni yuklab oling va oching. Sirlar.h yorlig'iga o'ting. Siz quyidagilarni yangilashingiz kerak bo'ladi:

    • WIFI_SSID = Wi -Fi SSID bilan yangilang
    • WIFI_PASSWORD = wifi parolingiz bilan yangilang
    • TIMEZONE = ushbu ro'yxatdagi vaqt mintaqasini yangilang
    • LAT (kenglik va uzunlikni topish uchun "https://www.latlong.net" kabi xizmatdan foydalanishingiz mumkin)
    • LNG
    • AWS_IOT_ENDPOINT = buni avvalgisidan saqlashingiz kerak edi. Bu "dx68asda7sd.iot.us-east1-amazonaws.com" ga o'xshash bo'lishi kerak
    • AWS_CERT_CA
    • AWS_CERT_CRT
    • AWS_CERT_PRIVATE

    Bundan tashqari, siz sertifikatlarni oldingi bosqichdan yuklab olasiz. Keyin yozuvlar tahrirlovchisini oching (masalan, bloknot) va "R" EOF ('va') EOF "orasidagi matnni joylashtiring; '. "----- SERTIFIKAT BOSHLASH -----" yoki "----- BOSHLASH RSA XUSUSIY KEYTI -----" ni kiritganingizga ishonch hosil qiling.

    Rasm fayllari

    ESP32 kichik fayl tizimi bilan birga keladi. Biz ushbu fayl tizimidan rasmlarni dasturimizga saqlash uchun foydalanamiz. Fayllarni yuklash imkonini beradigan vositani o'rnatishingiz kerak bo'ladi.

    1. Birinchidan, Random Nerd Tutorials bo'yicha chuqur darslikka tashrif buyuring.
    2. Bu ish tugagandan so'ng, siz fayllarni ma'lumotlar jildiga yuklashingiz mumkin (zip fayliga ham kiritilgan).

    Qatnashing

    Oxirgi Arduino kodini yuklang, shunda ishingiz tugadi!

    Eslatma - Star Trek nomi va Star Trek tasvirlari CBS/Paramount -ga tegishli. Kosplay va fanatizm haqida gap ketganda, ular ancha sust siyosatga ega - agar savollaringiz bo'lsa, bu yerdan o'qing.

    Fandom tanlovi
    Fandom tanlovi
    Fandom tanlovi
    Fandom tanlovi

    Fandom tanlovida birinchi mukofot

    Tavsiya: