Мазмұны:

Жасаңыз! Star Trek TNG шағын инженерлік компьютер: 11 қадам (суреттермен)
Жасаңыз! Star Trek TNG шағын инженерлік компьютер: 11 қадам (суреттермен)

Бейне: Жасаңыз! Star Trek TNG шағын инженерлік компьютер: 11 қадам (суреттермен)

Бейне: Жасаңыз! Star Trek TNG шағын инженерлік компьютер: 11 қадам (суреттермен)
Бейне: PLANTS VS ZOMBIES 2 LIVE 2024, Қараша
Anonim
Image
Image
Жасаңыз! Star Trek TNG шағын инженерлік компьютер
Жасаңыз! Star Trek TNG шағын инженерлік компьютер
Жасаңыз! Star Trek TNG шағын инженерлік компьютер
Жасаңыз! Star Trek TNG шағын инженерлік компьютер

Шолу

Мен Star Trek: The Next Generation фильмін көріп өстім. Мен әрқашан Star Trek тақырыптық құрылғыны жасағым келді, сондықтан мен ақырында Star Trek дисплей терминалын жасау үшін ескі жобаларымның бірін ремикске айналдырдым.

Терминал келесі ақпаратты ұсынады:

  • Ауа райы - Ұлттық ауа райы қызметін пайдалану
  • Ішкі температура, ылғалдылық және ұшпа органикалық қосылыстардың беріктігі
  • Жаңалықтар туралы мақалалар - News.org сайтынан
  • Кесте (дабыл функциясымен) - Microsoft Outlook бағдарламасынан
  • Фитнес туралы ақпарат (қадамдар, қозғалыс минуттары, жүрек ұпайлары, салмақ, күйдірілген калория) - Google фитнесінен
  • Резистордың түс кодының диаграммасы
  • жарықдиодты резисторлы калькулятор (ток пен ток қуатына негізделген резистордың мәнін анықтау үшін)
  • Қуат пен ток өлшеу құралы

Бұл ақпарат API мен аппараттық сенсорлардың тіркесімі арқылы қол жетімді. Мен микроконтроллер үшін ESP32 -ді қолданамын және барлық деректерді жинау мен жинақтау үшін AWS бұлтын қолданамын.

Мен сондай -ақ бірнеше «пасха жұмыртқасын» енгіздім:

  • Рон МакНейрге тағзым - Доктор МакНэйр - менің инженер болуымның себебі; ол менің туған қаламнан 45 минуттық жерде өсті. Ол Челленджердегі жарылыстан қайтыс болды.

    • Менің жұлдызды кемесімнің аты - «USS Ronald E McNair»
    • Тіркеу нөмірі Сэр МакНэйрдің туған күнінен; префикс коды - ол өз өмірін жоғалтқан күн.
  • «Префикс кодын» қолдану - бұл Star Trek: Ханның қаһары (барлық уақыттағы ең үлкен Star Trek фильмі; @ @ жасамаңыз).
  • Терминалдық істің оң жақтағы нөмірлері менің бауырластығыма (1906 ж. - Альфа Фи Альфа) және менің оқу материалыма және оқу саласына қатысты (Оклахома университеті, Инженерлік колледжі)

Сізде өзіңіздің «пасха жұмыртқалары» үшін нөмірлеуді, әріптерді және кеме атауын, тізілімді және т.б. реттеу мүмкіндігіңіз бар.

Фон

Өткен жылы маған тозуға болатын жобаның қуаты мен батарея қуатын өлшеудің арзан әдісі қажет болды. Мен Adafruit INA219 Featherwing сатып алдым және қуатты өлшеудің қарапайым құрылғысын жасау үшін әр түрлі қосалқы бөлшектерді қолдандым (бұл туралы толығырақ мына жерден оқи аласыз).

Биыл мен құрылғыны жаңартуды шештім, оны «технологиялық» ету үшін. Мен бастапқыда Star Trek жұмыс істейтін трикодерін (Mark IV TR-590 Mark IX нұсқасы, қамқорлық жасайтындар үшін) құруды жоспарладым … бірақ мен үстелімде отыратын нәрсені жасаудың мағынасы бар екенін тез түсіндім (айтқым келеді, неге салқын құрылғы жасау үшін барлық қиындықтарға барыңыз, оны жабу және оны пайдаланбаған кезде тартпасына салу үшін).

Сонымен, мен Star Trek TNG немесе Voyager (немесе әр түрлі фильмдер) компьютерлік дисплейлерінің нұсқасын жасауға бет бұрдым. Мен әр түрлі дизайнмен ойнадым, содан кейін Ruiz Brothers of Adafruit жасаған нұсқаны кездестірдім. Adafruit олардың 3D баспа жобалары үшін ұсынылған бастапқы файлдардың үлкен жұмысын атқарады, сондықтан мен олардың түпнұсқасын алып, оны аппараттық құралдарға, түймелерге және басқа перифериялық құрылғыларға ремикс жасай алдым.

Жалғастырмас бұрын білу керек нәрселер

  1. Мен жобаның нұсқасын жасау бойынша қадамдық нұсқауларды ұсынамын; алайда, мен белгілі бір қадамдар туралы егжей -тегжейлі айтпаймын (мен қосымша нұсқаулықтарға немесе құжаттамаға сілтеме жасаймын)
  2. Бұл күрделі жоба. Бұл «көпсалалы макияж», ол үшін келесі дағдылар қажет

    • Arduino IDE
    • AWS - Сізге тіркелгі қажет болады және S3, Lambda және Node JS түсіну қажет болады
    • Дәнекерлеу
    • 3D басып шығару
  3. Күнтізбе мен фитнес туралы ақпаратты алу үшін жобаны жақсарту үшін қосымша «қондырмалар» бар. Функционалдылық код базасына кіреді; бірақ мүмкіндіктерді қолдау үшін Azure және Google бұлттарында «қосымшалар» жасау қажет болады.
  4. Бұл ақыр соңында реттеледі … сіз ағымдағы сенсорды басқа жүнмен алмастыра аласыз Басқа қауырсын/wifi комбинациясын қолдана аласыз.

Жабдықтар

Электронды компоненттер

  • Adafruit ESP32 Huzzah қауырсыны
  • Adafruit Featherwing Tripler шағын жиынтығы
  • Adafruit сенсорлы сенсорлы сенсорлы 12 кілт
  • Adafruit TFT FeatherWing - 3,5 «480x320 сенсорлық экран
  • Adafruit BME680 - температура, ылғалдылық, қысым және газ сенсоры
  • DC тақтасы 2.1 баррель ұясы (2)
  • Литий -ионды полимерлі батарея - 3,7 В 500 мАч
  • Piezo Buzzer
  • Mirco USB кабелі мен 5В зарядтағыш (әдеттегі USB телефон зарядтағыш жұмыс істейді)
  • Желімделген мыс фольга таспасы
  • Қосымша - Adafruit INA219 Featherwing
  • Қосымша - 2.1 ер штепсельдік ұштар - (INA219 ток сенсорымен жұмыс үшін)

2.1 ашасынан басқа барлық электронды компоненттерге сілтеме:

3D жіптің компоненттері және қосымша бояу/тегістеу компоненттері

  • Proto Pasta өткізгіш PLA
  • Қосымша 3D жіптер - Мен 4 түсті қолдандым - Сұр, Қара, Аква (ашық көк) және Ақ
  • .25 және 0,4 мм саптамалар (мен әріптердің егжей -тегжейі үшін 0,25 қолдандым).

Аппараттық қондырғы компоненттері мен құралдары

  • M2x5 және M3x5 бұрандалары
  • Тікелей және тік бұрыштық түйреуіштер (сілтемелер үшін Adafruit тілектер тізімінен қараңыз)
  • Дәнекерлеу үтігі (және дәнекерлегіш, ұшты қалайы, дәнекерлегіш және т.б.)
  • Philips бас бұрауыштар жинағы
  • Шағын орау
  • Stranded Wire 22AWG - бес немесе алты түсті
  • Solid Wire 22AWG - бес немесе алты түсті
  • PCB Vise және көмекші қолдар (міндетті емес, бірақ дәнекерлеуді жеңілдетеді)
  • Диагональды сым кескіштер
  • Сым тартқыштар
  • Xacto пышағы (3D принтер бөлшектерінен тіректерді алып тастауға арналған)
  • 3D принтері (егер сіз өзіңіз басып шығарғыңыз келсе)
  • Шпатель немесе таспа (батареяны басылған корпустың ішкі жағына бекіту үшін)
  • Сандық калибрлер
  • Krazy Glue
  • Қосымша - бір реттік нитрилді қолғаптар
  • Қосымша - дәнекерлеу матасы (міндетті емес, бірақ беттерді қорғайды)

Ескерту: егер сізде бұл құралдар болмаса, Бекки Стерннің сайтынан жақсы нұсқалар бойынша ұсыныстар алуды ұсынамын.

Бағдарламалық қамтамасыз ету

  • Arduino IDE
  • NS JS редакторы (Microsoft коды сияқты)
  • AWS есептік жазбасы
  • Қосымша - Google Cloud есептік жазбасы (фитнес ақпараты үшін)
  • Қосымша - Microsoft Azure бұлтты есептік жазбасы (күнтізбе туралы ақпарат үшін)
  • 1 -қадам: 3D файлдарды жүктеу, өзгерту және басып шығару

    3D файлдарды жүктеу, өзгерту және басып шығару
    3D файлдарды жүктеу, өзгерту және басып шығару
    3D файлдарды жүктеу, өзгерту және басып шығару
    3D файлдарды жүктеу, өзгерту және басып шығару
    3D файлдарды жүктеу, өзгерту және басып шығару
    3D файлдарды жүктеу, өзгерту және басып шығару
    3D файлдарды жүктеу, өзгерту және басып шығару
    3D файлдарды жүктеу, өзгерту және басып шығару

    Сіз файлдарды 3D басып шығару қызметіне (мысалы, 3D хабтар) жібере аласыз немесе өзіңіз басып шығара аласыз. Файлдар PrusaPrinters.org сайтында қол жетімді.

    Бұл іс Adafruit веб -сайтында көрсетілген Py Portal Оятқыш сағатының ремиксі. Менің жобам ұқсас TFT -ді қолданады, сондықтан мен аксессуарлармен жұмыс жасау үшін қажетті дизайнерлік жұмысты азайта алдым.

    Мен басып шығару үшін келесі параметрлерді қолдандым:

    • Алдыңғы және артқы жағы 0,4 мм биіктікте 0,4 мм саптамамен басылған, тіректер жоқ
    • Бүйір нөмірі - 0,25 мм саптамамен 0,10 мм қабатта басып шығарылған, тіректер жоқ
    • Пернелер - 0,4 мм қабатты биіктікте 0,4 мм саптамамен басылған. Сізге 7-ді басып шығару керек, ал сізге прото-макарон өткізгіш жіппен басып шығару қажет болады.
    • Қап - 0,2 мм қабат биіктігінде басылған.

      Қолдаулар қажет, бірақ барлық жерде қажет емес (тек пернетақта орналасқан жағында және ортасында)

    Сіз білуіңіз керек бірнеше нәрсе:

    1. Prusa MK3 әр түрлі биіктіктегі түстерді өзгертуге мүмкіндік береді. Мен бұл мүмкіндікті бүйірлік нөмірге қолдандым.
    2. Сонымен қатар, қосалқы нөмірге қатысты:

      • Star Trek TNG өндірістік экипажы реквизитке пасха жұмыртқасын себеді. Егер сіз әр түрлі тақталар мен тақталарға мұқият қарасаңыз, сіз адамдардың аты -жөнін, әннің мәтінін және т.б. көресіз. Мен өз нөміріме «Пасха жұмыртқасын» жасағым келді, сондықтан мен «06» -ды қолданамын, бұл менің бауырластығыма қатысты (1906 жылы құрылған), және «OUCOE» - бұл менің оқуыма қатысты (Оклахома университеті, инженерлік колледж).
      • Мен жеке бос нөмірді және мәтінді жасау үшін өзгертуге болатын «бос» бүйір_сандар бөлігін жасадым.

    2 -қадам: Дәнекерлеу/компоненттерді жинау - а бөлігі (пернетақта мен бүйірлік нөмір)

    Дәнекерлеу/компоненттерді жинау - а бөлігі (пернетақта мен бүйірлік нөмір)
    Дәнекерлеу/компоненттерді жинау - а бөлігі (пернетақта мен бүйірлік нөмір)
    Дәнекерлеу/компоненттерді жинау - а бөлігі (пернетақта мен бүйірлік нөмір)
    Дәнекерлеу/компоненттерді жинау - а бөлігі (пернетақта мен бүйірлік нөмір)
    Дәнекерлеу/компоненттерді жинау - а бөлігі (пернетақта мен бүйірлік нөмір)
    Дәнекерлеу/компоненттерді жинау - а бөлігі (пернетақта мен бүйірлік нөмір)
    Дәнекерлеу/компоненттерді жинау - а бөлігі (пернетақта мен бүйірлік нөмір)
    Дәнекерлеу/компоненттерді жинау - а бөлігі (пернетақта мен бүйірлік нөмір)

    Алдымен біз бүйірлік нөмірді қоямыз. Бүйірлік нөмірді орнына қою үшін кішкене желімді қолданыңыз.

    Әрі қарай, біз пернетақтаны жинаймыз

    1. Сізге әрқайсысының ұзындығы 10-12 дюйм болатын 7 дана сымды кесу қажет. Олар сыйымдылық сенсорының 0-6 түйреуіштеріне қосылады. Мен сізге әр түрлі түстерді қолдануды ұсынамын (және түстерді/түйреуіштерді салыстыруды жазыңыз, себебі бұл ақпарат сізге кейінірек қажет болады). Мен келесі түс комбинациясын қолдандым:

      • Сары - түйреуіш 0/түйме 1
      • Сұр - түйреуіш 1/түйме 2
      • Қызыл - түйреуіш 2 /түйме 3
      • Көк - түйреуіш 3 // түйме 4
      • Жасыл - 4 түйреуіш // 5 түймесі
      • Ақ - 5 -түйреуіш // 6 -түйме
      • Қара - 6 -түйреуіш // 7 -түйме
    2. Әр сымның ұшынан 1/2 кіргізіңіз.
    3. 7 дана өткізгіш таспаны кесіңіз (әрқайсысының ені шамамен 1/2 дюйм) және сымдарды таспаның мыс жағына дәнекерлеңіз.
    4. Желімді астарды алып тастап, оларды кілттердің түбіне жабыстырыңыз. Сізге мыс таспаның бір бөлігін кесу қажет болуы мүмкін.

    Ескертпе: кілттерді төменнен жабыстыруға болады (жоғарыдан жоғары қарай), немесе жоғарыдан жабыстыруға болады (олар жоғарыдан бірнеше мм «жүзіп кететіндей» болады). Мен жоғарыдан өзімді жабыстыруды таңдадым.

    Барлық 7 -ні аяқтағаннан кейін, пернетақтаның пернелерін желіммен жабыстырыңыз. Маған оңайырақ:

    • Алдымен сымды кілт саңылауынан «жылан».
    • Содан кейін кілттің жотасына/шетіне кішкене желім жағыңыз
    • Кілтті тез орнына қойыңыз.

    Ескерту: Krazy Glue мұнда жақсы жұмыс істейді; апаттар мен терінің тітіркену мүмкіндігін азайту үшін қолғап қолданғыңыз келуі мүмкін.

    3 -қадам: Дәнекерлеу/компоненттерді жинау - В бөлігі (Қанаттар мен датчиктер)

    Дәнекерлеу/компоненттерді жинау - В бөлігі (Қанаттар мен датчиктер)
    Дәнекерлеу/компоненттерді жинау - В бөлігі (Қанаттар мен датчиктер)
    Дәнекерлеу/компоненттерді жинау - В бөлігі (Қанаттар мен датчиктер)
    Дәнекерлеу/компоненттерді жинау - В бөлігі (Қанаттар мен датчиктер)
    Дәнекерлеу/компоненттерді жинау - В бөлігі (Қанаттар мен датчиктер)
    Дәнекерлеу/компоненттерді жинау - В бөлігі (Қанаттар мен датчиктер)

    Келесі қадам - аппараттық компоненттерді дайындау және жинау. Сайып келгенде, бұл кейінірек пайдалану үшін үстіңгі түйреуіштер мен сымдарды дәнекерлеуді білдіреді. Бұл нұсқаулық дәнекерлеуге ыңғайлы екеніңізді болжайды; егер жоқ болса, Adafruit компаниясының «Тамаша дәнекерлеу нұсқаулығын» қараңыз.

    Алдымен біз материалдарды дайындаймыз. Бұл қадам үшін сізге қажет:

    • TFT 3.5 жүнді көтеру
    • ESP32 қауырсыны
    • INA219 Сүйреу
    • Tripler Featherwing
    • MPR121 сыйымдылық сенсорлық сенсоры
    • BME680 сенсоры
    • Тік және тік бұрышты тақырып түйреуіштері
    • Қатты және тартылған сым
    • Дәнекерлеу құралдары мен көмекші қолдар
    • Диагональды сым кескіштер мен сым тазалағыштар
    • Штангенциркульдер

    Ескерту: Мен сізге дәнекерлеуді бастамас бұрын алдымен осы қадамды оқып шығуды және барлық сымдар мен тақырыптарды кесуді ұсынамын. Осылайша, өлшеу/кесу үшін тоқтап қалудың қажеті жоқ.

    TFT 3.5 Featherwing дайындаңыз

    TFT қораптан тыс бір ғана реттеуге қолдануға дайын. Сізге «Lite» жастықшасы мен түйреуіш дәнекер жастықшасы арасындағы сымды дәнекерлеу қажет болады. Біздің код TFT lite басқару үшін ESP32 Pin 21 пайдаланады. TFT -ті «ұзақ» жолмен реттеңіз, төменгі жағында қалпына келтіру түймесі. 21 -түйреуіш төменгі сол жақ түйреуіш болады.

    40 мм бұрандалы сымды кесіңіз. Әр ұшында бірнеше миллиметрлік сым көрінетіндей етіп ұштарын алыңыз. Дәнекерлеу үтікті қолданып, екі түйреуішке де мұқият дәнекерлеңіз.

    Ескерту: сізге ұзындығы шамамен 35 мм қажет … сондықтан сымды қажет болған жағдайда кесуге болады. Сондай -ақ, мен дәнекерлегішті сымға қосу, содан кейін сымға қосу, содан кейін сымға дәнекерлеу - бұл ең оңай әдіс. Ақырында - бұл жастықтар кішкентай … егер сізге ыңғайсыздық туғызса, сіз әрқашан бұл қадамды өткізіп жібере аласыз: бұл тек TFT пернетақтасы арқылы өшіру үшін.

    ESP32 қауырсындарын дайындаңыз

    Сізге ESP32 стандартты еркек бастық түйреуіштерін дәнекерлеу қажет болады. Сіздің ESP32 тақырыптармен бірге келуі керек, бірақ дұрыс ұзындыққа жету үшін оларды кесу қажет болуы мүмкін (ұзын жағында 16 түйреуіш; қысқа жағында 12 түйреуіш). Тақырып түйреуіштері «ажырату» үшін жасалған, сондықтан сіз диагональды кескіштерді қолданып, тақырыптарды дұрыс ұзындыққа қысқарта аласыз. Тағы да, Adafruit -те мұны қалай жасауға болатыны туралы керемет нұсқаулар бар, сондықтан сізге басшылық қажет болса, оны тексеріңіз.

    ҚОСЫМША - INA219 Featherwing дайындаңыз

    Біріншіден, ерлердің үстіңгі тақталарын дәнекерлеуге (ESP32 үшін қолданылатын нұсқауларды қолдана отырып). Содан кейін ұзындығы 20 мм болатын төрт сымды кесіңіз. Мен 2 BLACK және басқаларын басқа түске айналдырар едім. Түсті таңдау үшін мен сұр және көк түстерді қолдандым.

    Сымның ұштарын әр жағынан 3-4 мм мыс сым түсетін етіп шешіңіз. Сіз әрбір сымның біреуін төмендегідей дәнекерлейсіз:

    • Сұр -> V+ (плюс)
    • КӨК -> V- (минус)
    • ҚАРА -> GND (жер)
    • ҚАРА -> GND (жер)

    Осы уақытта сымдардың басқа ұштарын қалдырыңыз; біз оларды DC 2.1 штепсельдеріне дәнекерлейміз.

    Piezo Buzzer қосыңыз

    INA Featherwing шағын прототиптік алаңмен келеді; Біз мұны пьезоны бекіту үшін қолданамыз. Пьезо біздің жобаға дыбыстық сигнал беру, дабыл және т.

    Пьезо ESP32 PIN 13 -ке қосылады; бұл жүндегі USB түйреуішінің жанындағы түйреуішпен байланысты (көрсеткілерді суретті қараңыз). Басқа пьезо штыры жерге қосылады. Пьеза түйреуіштері оларды мамыққа тікелей дәнекерлеуге жеткілікті ұзындықта болады … тек түйреуіштерді «садақшы адам» пішініне бүгу қажет (суретті қараңыз). Ілмектерді орнатқаннан кейін, пьезоны орнында ұстау үшін көмекші қолдарды (немесе таспаны) қолданыңыз, ал жүнді астыңғы жағынан дәнекерлеңіз.

    Ескертпе - Егер сіз INA219 қолданбасаңыз, онда сізге пьезоны мамық тақтайға тікелей дәнекерлеу қажет болады.

    Tripler Featherwing дайындаңыз

    Қауырсыннан тазарту бізге дәнекерлеуді көп үнемдейді; ол 3 қауырсынды/қауырсынды ұстай алады … сондықтан біз оны TFT, ESP32, INA219 (сонымен қатар пьезо мен TFT Lite түйреуіші) арасында электрлік байланыс жасау үшін қолданамыз.

    Байланыстарды дұрыс орнату үшін бізге екі жұп жиналмалы үстіңгі және бір жұп стандартты ерлер тақырыптарын дәнекерлеу қажет болады.

    • Кәдімгі ерлер тақырыптары «жоғарғы» жерде жалғасады, бірақ Tripler төменгі жағына дәнекерленген болады.
    • Екі қабаттасатын тақырыпшалар Tripler жоғарғы жағында 2 және 3 нүктелерге дәнекерленген болады.

    Бұл аздап шатастырады, сондықтан әр тақырыптың қай жерде орналасқанын түсіну үшін суреттерді қараңыз. Сондай -ақ, PCB Vise және Help Hands комбинациясы компоненттерді дәнекерлеуге көмектеседі.

    BME 680 сенсоры мен MPR121 сыйымдылық сенсор сенсорын дайындаңыз

    Соңғы екі датчикті бекіту қиын. Біз жинауды аяқтамас бұрын сыну тақталарына тақырып түйреуіштерін бекітуіміз керек.

    Сенсорды корпустағы тесікке туралау үшін (сенсор температураны, газды, ылғалдылықты түсіре алатындай) BME сенсоры 90 бұрышпен бекітілген. Тесіктерге тік бұрышты түйреуіштерді дәнекерлеу қажет. Дұрыс туралау үшін суреттерді қараңыз.

    Capacitive Touch сенсоры қарапайым - осында көрсетілгендей, ерлердің қосқыш түйреуіштерін дәнекерлеңіз. Ескертпе: түйреуіштерді сыйымдылық түйреуіштерге (0 - 11) дәнекерлеуге болмайды.

    BME 680 және MPR121 сенсорларын Tripler тақтасына бекітіңіз

    Екі сенсор да I2C арқылы байланысады … демек, біз тек қана үзіліс тақталары мен Featherwing арасында 4 байланыс орнатуымыз керек. Қарапайымдылық үшін мен тақталар арасындағы барлық байланыстарды дәнекерлеймін.

    BME 680

    Бұл сенсор үшін мен көмекші қолдар мен PCB Vise көмегімен екі компонентті де орнында ұстаймын (жоғарыдағы суретті қараңыз). BME680 датчигі жүннің соңында орналасуы керек. Орналастыруды растау үшін жоғарыдағы суреттерді қараңыз.

    Қосылымдарды дәнекерлеу процесі өте қиын, сондықтан баяу жүріңіз. Мен қосылыстар үшін қатты сымды қолданамын:

      • ҚАРА - GND
      • ҚЫЗЫЛ - VIN
      • САРЫ - SCL (сенсордағы SCK түйреуі
      • ОРАНЖА - SDA (сенсордағы SDA түйреуі)

    Ескерту: SCL және SDA түйреуіштері екі сенсор үшін де қажет, сондықтан Featherwing -тің басқа бөлігінде SCL немесе SDA түйреуішін қолдану оңай болуы мүмкін.

    MPR121

    Бұл сенсорды дәнекерлеу кезінде көмекші қолдар да көмектеседі (таспа да жұмыс істейді). ESP32 байланысы үшін код I2C пайдаланылды, сондықтан сіз SCA мен SDA түйреуіштерін қосасыз.

    4 -қадам: Дәнекерлеу/компоненттерді жинау - С бөлігі (сыйымдылық сенсорына арналған пернетақта және функционалдылық)

    Дәнекерлеуші/компоненттерді жинау - С бөлігі (сыйымдылық сенсорына арналған пернетақта және функционалдылық)
    Дәнекерлеуші/компоненттерді жинау - С бөлігі (сыйымдылық сенсорына арналған пернетақта және функционалдылық)
    Дәнекерлеуші/компоненттерді жинау - С бөлігі (сыйымдылық сенсорына арналған пернетақта және функционалдылық)
    Дәнекерлеуші/компоненттерді жинау - С бөлігі (сыйымдылық сенсорына арналған пернетақта және функционалдылық)
    Дәнекерлеуші/компоненттерді жинау - С бөлігі (сыйымдылық сенсорына арналған пернетақта және функционалдылық)
    Дәнекерлеуші/компоненттерді жинау - С бөлігі (сыйымдылық сенсорына арналған пернетақта және функционалдылық)

    Бұл қадамда сіз сымды пернетақтадан Capacitive Touch сенсорына дәнекерлейсіз. Бұрынғыдан сол түсті салыстыруды қолданыңыз. Егер сіз менің түс схемамды ұстанатын болсаңыз, онда сіз түсті сымдарды келесідей дәнекерлейсіз:

    • Сары - түйреуіш 0/түйме 1
    • Сұр - түйреуіш 1/түйме 2
    • Қызыл - түйреуіш 2 /түйме 3
    • Көк - түйреуіш 3 /түйме 4
    • Жасыл - 4 түйреуіш/5 түймесі
    • Ақ - 5 түйреуіш/6 түймесі
    • Қара - 6 түйреуіш/7 түймесі

    Дәнекерлеу аяқталғаннан кейін, сымдарды орнында ұстау үшін бұрауышты қолданыңыз.

    Содан кейін TFT экранын «Алдыңғы» бөлігіне бұраңыз. Сіз M3 бұрандаларын қолданасыз (барлығы төрт). TFT орнатылғаннан кейін «алдыңғы» бөлікті корпусқа бұраңыз. Тағы да, сіз M3 бұрандаларын (екі) қолданасыз.

    Содан кейін, Featherwing Tripler -ді, барлық компоненттері қосылған, TFT -ге қосыңыз.

    Ескертпе - Егер сіз батареяны пайдалануды жоспарласаңыз, TFT енгізбес бұрын оны міндетті түрде ESP32 -JST портына қосыңыз. Батареяны корпустың ішкі түбіне бекіту үшін таспаны қолданыңыз.

    5 -қадам: ҚОСЫМША - Дәнекерлеу/Компоненттерді жинау - D бөлігі (INA219 Қауырсын)

    ҚОСЫМША - Дәнекерлеу/Компоненттерді жинау - D бөлігі (INA219 Қауырсын)
    ҚОСЫМША - Дәнекерлеу/Компоненттерді жинау - D бөлігі (INA219 Қауырсын)
    ҚОСЫМША - Дәнекерлеу/Компоненттерді жинау - D бөлігі (INA219 Қауырсын)
    ҚОСЫМША - Дәнекерлеу/Компоненттерді жинау - D бөлігі (INA219 Қауырсын)
    ҚОСЫМША - Дәнекерлеу/Компоненттерді жинау - D бөлігі (INA219 Қауырсын)
    ҚОСЫМША - Дәнекерлеу/Компоненттерді жинау - D бөлігі (INA219 Қауырсын)
    ҚОСЫМША - Дәнекерлеу/Компоненттерді жинау - D бөлігі (INA219 қауырсын)
    ҚОСЫМША - Дәнекерлеу/Компоненттерді жинау - D бөлігі (INA219 қауырсын)

    Егер сіз INA219 сенсорын қолдансаңыз, онда дәл осы жерде сымдарды тұрақты ток ашаларына қосасыз.

    1. Тұрақты ток ашаларын артқы қақпаққа салыңыз да, орнына бұраңыз.
    2. INA219 сымдарын қосу үшін дәнекерлеуішті қолданыңыз.

      • Қара сымдар әр тұрақты ток ашасы үшін GROUND -ге өтуі керек.
      • Сұр сым INPUT DC ашасына баруы керек
      • Көк сым OUTPUT ашасына баруы керек.

    6 -қадам: Артқы қақпақты бұрап, USB -ге қосыңыз

    Аппараттық құралдарды жинаудың соңғы кезеңі - артқы қақпақты орнына бұрап алу - М2 бұрандалармен (4). Осы жерден USB кабелін қосыңыз, оны компьютерге қосыңыз және бағдарламалық жасақтамаға өтіңіз!

    7 -қадам: AWS ортасын дайындаңыз

    AWS ортасын дайындаңыз
    AWS ортасын дайындаңыз

    Кіріспеде айтқанымдай, шешімнің негізі келесідей:

    1. ESP32 арқылы жұмыс істейтін терминал AWS бұлтымен байланысу үшін MQTT (Wi -Fi арқылы) қосылымын пайдаланады.
    2. AWS бұлты өңдеудің негізгі бөлігін жасайды және Монитор мен сұралған қызметтер арасында реле қызметін атқарады.

    Бұл қадамда бізге қажет бірнеше нәрсе бар:

    Біріншіден, егер сіз әлі орнатпаған болсаңыз, AWS ортасын орнатуыңыз керек. Бұл нұсқаулықта сізде AWS есептік жазбасы орнатылған деп болжанады, сондықтан бұлтты есептік жазбаны орнату бойынша нұсқаулар енгізілмеген. Айтуынша, қадамдар тікелей және оны мына жерден табуға болады.

    Бұл қадамнан өткеннен кейін сізге бірнеше қызмет жасау қажет, сондықтан AWS консоліне кіріңіз.

    Затты жасаңыз және жүктеу кілттері

    AWS IoT Core AWS бұлты мен дисплей арасындағы байланысты жеңілдетеді. Байланысты қолдау үшін сізге «нәрсе» жасау және сертификаттарды жүктеу қажет болады.

    [Ескерту: бұл нұсқаулықтардың көпшілігі AWS Евангелисті Мохиб Зараның нұсқауынан алынды]

    1. AWS консолін ашып, AWS IoT Core таңдаңыз.
    2. AWS IoT консолінде «Жаңа затты тіркеу», «Бір нәрсені жасау» тармағын таңдаңыз.
    3. Жаңа затты «starTrekESP32» деп атаңыз. Қалған өрістерді әдепкі бойынша қалдырыңыз. Келесі таңдаңыз.
    4. Сертификат жасау таңдаңыз. ESP32 қосылу үшін тек сертификат, жеке кілт және Amazon Root CA 1 жүктеулері қажет. Оларды қауіпсіз жерге жүктеңіз және сақтаңыз, себебі олар ESP32 құрылғысын бағдарламалау кезінде қолданылады.
    5. Іске қосу, саясатты қосу опциясын таңдаңыз.
    6. Саясат қосуды өткізіп жіберіп, Затты тіркеу таңдаңыз.
    7. AWS IoT консолінің бүйірлік мәзірінде Қауіпсіз, Саясат, Саясат жасау таңдаңыз.
    8. Саясатты рұқсат етіңіз. Қосымша қойындысын таңдаңыз.
    9. Келесі саясат үлгісіне қойыңыз.
    10. {{«Нұсқа»: «2012-10-17», «Мәлімдеме»: [{«Әсер»: «Рұқсат ету», «Әрекет»: «iot:*», «Ресурс»: «*»}]}
    11. Жасау таңдаңыз. (Ескерту: Бұл тек бастау үшін ұсынылады. Барлық жұмыс сізге ыңғайлы болған соң, қайтып оралып, оны шектеулі нәрсеге өзгертіңіз.)
    12. AWS IoT консолінде Secure, Certification таңдаңыз.
    13. Құрылғыңыз үшін жасалған біреуін таңдап, Әрекеттер, Қосу саясатын таңдаңыз.
    14. Барлығына рұқсат етуді, Қосуды таңдаңыз.
    15. Шығар алдында «Параметрлер» түймесін басыңыз (сол жақ мәзірде). Сіздің «реттелетін соңғы нүкте» көрсетіледі; мәтіндік файлға сақтаңыз … сізге ESP32 конфигурациясы қажет болады.

    Бос Lambda файлын жасаңыз

    Lambda - бұл серверсіз есептеудің бір түрі, сондықтан біз мұнда ешқандай жабдық туралы алаңдамаймыз. Ақыр соңында, бұл жерде біз жаңартылған кодты орналастырамыз (біз оны бірнеше қадаммен жасаймыз). Әзірге біз тек толтырғыш жасағымыз келеді, сондықтан …

    1. AWS консоліне қайта кіріңіз (егер сіз жүйеден шықсаңыз) және Lambda түймесін басыңыз.
    2. «Функцияны құру» түймесін басыңыз.
    3. Келесі бетте starTrekDisplay сияқты негізгі атауды енгізіңіз
    4. Node.js 12. X таңдаңыз
    5. Рұқсаттар бойынша:

      • Егер сіз Ламбданың айналасын білсеңіз және онымен таныс болсаңыз, онда сіз мағынасы бар кез келген нұсқаны таңдай аласыз. Сізге CloudWatch, IotCore, S3 рұқсаттары қажет болады (оқу және жазу).
      • Егер сіз рұқсаттарға сенімді болмасаңыз, онда «Lambda негізгі рұқсаттары бар жаңа рөлді жасау» таңдаңыз. Рөлдің атын жазыңыз. Кейінірек біз рұқсаттарды өзгертеміз.
    6. Функцияны жасау түймешігін басыңыз.
    7. Бір минуттан кейін сіз «сәлем әлемі» кодының үзіндісі бар жаңа экранға кіресіз. Негізгі параметрлерге төмен қарай жылжып, «Өңдеу» түймесін басыңыз.
    8. Күту уақытын 3 секундтан 2 минут 0 секундқа өзгертіңіз. Ескертпе: сіздің кодыңыз ешқашан 5-10 секундтан аспауы керек … дегенмен, Microsoft корпорациясымен бастапқы аутентификация үшін бізге ұзақ уақыт қажет (күнтізбелік функция үшін). Түпнұсқалығын растағаннан кейін оны 20 секундқа өзгертуге болады.
    9. Сақтауды басыңыз.

    Iot ережесін құру

    1. Lambda консолінде қалып, жоғары қарай айналдырыңыз. «Триггер қосу» таңдаңыз.
    2. AWS IoT таңдаңыз. Содан кейін «Арнаулы ережені» таңдаңыз.
    3. «Жаңа ереже құру» таңдаңыз.

      • Ереже атауы: ESP қосылымы
      • Ереже сұрауының мәлімдемесі: «starTrekDisplay/pub 'дан» SELECT * FROM «
    4. «Қосу» түймесін басыңыз

    S3 шелегі мен қалтасын жасаңыз

    1. AWS консоліне өтіңіз және S3 таңдаңыз.
    2. Аутентификация файлдарын сақтау үшін сізге шелек пен қалта қажет болады. Бұл қалта жеке болуы керек. Мен сізге кез келген шелекті қолдануды және «starTrekDisplay» деп аталатын қалтаның атауын беруді ұсынамын. Ескертпе - егер сізде шелек жоқ болса, мұнда берілген нұсқауларды қолданып жасаңыз.

    Рұқсаттарды жаңарту - Егер сіз Lambda -ға сізге рөл жасауға рұқсат берсеңіз, онда сіз бұл қадамды орындауыңыз керек

    1. AWS консоліне кіріп, IAM таңдаңыз
    2. ROLES түймесін басыңыз, содан кейін бұрын жасаған рөл атауын таңдаңыз.
    3. Қосу саясатын нұқыңыз, содан кейін келесі саясатты таңдаңыз:

      • AWSIoTFullAccess
      • AmazonSNSFullAccess
      • CloudWatchFullAccess
      • AmazonS3FullAccess

    8 -қадам: Бағдарламалық жасақтама кілттерін жүктеңіз және үшінші тарап қызметтерін орнатыңыз

    Бағдарламалық жасақтама кілттерін жүктеңіз және үшінші тарап қызметтерін орнатыңыз
    Бағдарламалық жасақтама кілттерін жүктеңіз және үшінші тарап қызметтерін орнатыңыз

    Мен жобада үшінші тараптың келесі қызметтерін қолданамын:

    1. Worldtime API - уақыт бойынша
    2. Ұлттық ауа райы қызметі API - ауа райы үшін
    3. Менің күнтізбеме кіруге арналған Microsoft Graph API
    4. Фитнес туралы ақпаратқа қол жеткізуге арналған Google Fitness API

    Бірдей қызметтерді пайдалану үшін сізге есептік жазбаларды орнату және кілттерді жүктеу қажет болады

    Worldtime API - уақыт бойынша

    Бұл API кілтті қажет етпейді, сондықтан бұл жұмысты орындау үшін ешқандай әрекет қажет емес.

    Ұлттық ауа райы қызметі API - ауа райы үшін

    Ұлттық ауа райы қызметі API ақысыз және API кілті қажет емес. Дегенмен, олар әр сұрауда (тақырып файлының бөлігі ретінде) байланыс ақпаратын (электрондық пошта түрінде) беруіңізді сұрайды. Келесі қадамда байланыс ақпаратын кодқа қосасыз.

    ҚОСЫМША - Microsoft Graph API және Google Fitness API

    Бұл кодты орнатудың ең күрделі бөлігі. Біздің құрылғыда толыққанды пернетақта жоқ … сондықтан біз күнтізбеге кіру үшін шектеулі құрылғылар үшін OAUTH деп аталатын нәрсені қолданамыз. Өкінішке орай, шектеулі құрылғылар үшін OAUTH кодын пайдалану үшін сізге Azure «қолданбасы» мен Google қосымшасын жасау қажет.

    Қолданбаны құру бойынша нұсқаулықтар Microsoft үшін, Google үшін осында. Міне, сіз білуіңіз керек бірнеше нәрсе:

    • Сіз Azure және Google бұлтты есептік жазбасын жасауыңыз керек. Бұл ақысыз және сізден ештеңе алынбайды
    • Майкрософт:

      • Қолданбаны қандай пайдаланушылар қолдана алатынын анықтау сұралады. Мен сізге «кез келген ұйымдық каталогтағы және жеке Microsoft тіркелгілеріндегі тіркелгілер» таңдауды ұсынамын. Бұл сізге жеке Microsoft тіркелгілері мен корпоративтік есептік жазбаларды пайдалануға мүмкіндік береді (көп жағдайда).
      • Сіз «Мобильді және жұмыс үстелі» қосымшаларын таңдағыңыз келеді, бірақ барлық ақпаратты толтырудың қажеті жоқ (бұл жеке қолданба болғандықтан). Бұл сіздің қолданбаңызды әлемге қол жетімді ете алмайтыныңызды білдіреді. бірақ бұл жағдайда жақсы
      • Қолданба орнатылғаннан кейін сізге қажет рұқсаттарды таңдау қажет. Мен профильдер мен күнтізбелерге қатысты рұқсаттар сұрадым (рұқсаттардың толық тізімі үшін галереядағы суретті қараңыз). Сізге дәл осы жиынтығын таңдау қажет болады. Егер сіз қосымша рұқсаттар қоссаңыз, келесі қадамда ауқымды сәйкесінше өзгертуіңіз қажет болады.

    9 -қадам: AWS кодын өзгертіңіз және жүктеңіз

    Бұл нұсқаулық сізге Node.js дамуымен және Lambda -мен таныс екеніңізді білдіреді. Байланыстырылған файлды жүктеңіз және жаңарту үшін өзгертулер енгізіңіз:

    • Microsoft қосымшасы мен клиент туралы ақпарат
    • Google кілті
    • Ұлттық ауа райы қызметін қадағалау үшін электрондық пошта мекенжайы
    • S3 шелек атауы
    • S3 қалтасының атауы
    • AWS соңғы нүктесі

    Сондай -ақ, келесі түйін кітапханаларын жүктеу қажет болады:

    1. aws-sdk
    2. уақыт белдеуі
    3. екпіндер

    Бұл өзгертулер енгізілгеннен кейін, кодты бұрын жасаған ламбда толтырғышына жүктеңіз.

    10 -қадам: Arduino IDE дайындаңыз және кітапханаларды жүктеңіз

    Бұл нұсқаулық сізді Arduino -мен жақсы таныс деп болжайды. IDE Adafruit ESP32 жұмыс істеу үшін орнатылғанына көз жеткізу керек. Егер сізге көмек қажет болса, мұнда берілген нұсқауларды орындаңыз.

    Бұл аяқталғаннан кейін келесі кітапханаларды жүктеңіз:

    • Adafruit_GFX (кітапхана менеджерінен)
    • Adafruit_HX8357 (кітапхана меңгерушісінен)
    • TFT_eSPI (кітапхана менеджерінен)
    • TFT_eFEX (https://github.com/Bodmer/TFT_eFEX)
    • PubSubClient (кітапхана менеджерінен)
    • ArduinoJson (кітапхана менеджерінен)
    • Adafruit_STMPE610 (кітапхана менеджерінен)
    • Adafruit_MPR121 (кітапхана меңгерушісінен)
    • Adafruit_INA219 (кітапхана меңгерушісінен)
    • Adafruit_Sensor (кітапхана менеджерінен)
    • Adafruit_BME680 (кітапхана меңгерушісінен)
    • Tone32 (https://github.com/lbernstone/Tone)

    Содан кейін біз бірнеше кітапхананы өзгертуіміз керек:

    1. PubSubClient қалтасын ашыңыз (Arduino/Library қалтасында) және «PubSubClient.h» ашыңыз. MQTT_MAX_PACKET_SIZE мәнін табыңыз және оны 2000 -ға өзгертіңіз.
    2. Содан кейін TFT_eSPI қалтасын ашып, «User_Setup_Select.h» файлын ашыңыз. Кез келген «users_setup… кіреді» жолдарына түсініктеме беріңіз және мына жолды қосыңыз:

    #қосу

    Содан кейін байланыстырылған Custom_Tricorder.zip файлын жүктеп алып, «.h» файлын Arduino кітапханалар қалтасындағы «TFT_eSPI / User_Setups» орнына шығарыңыз. Мен

    Енді біз Arduino кодын жаңартуға көшеміз

    11 -қадам: Arduino кодын жаңартыңыз және орнатыңыз

    Arduino кодын жаңартыңыз және орнатыңыз!
    Arduino кодын жаңартыңыз және орнатыңыз!

    Arduino коды

    Arduino коды үшін байланыстырылған файлды жүктеңіз және ашыңыз. Secret.h қойындысына өтіңіз. Сізге келесілерді жаңарту қажет:

    • WIFI_SSID = Wi -Fi SSID арқылы жаңарту
    • WIFI_PASSWORD = WiFi құпия сөзімен жаңарту
    • TIMEZONE = осы тізімдегі уақыт белдеуімен жаңарту
    • LAT (ендік пен бойлықты табу үшін «https://www.latlong.net» сияқты қызметті пайдалануға болады)
    • LNG
    • AWS_IOT_ENDPOINT = сіз мұны бұрынғыдан сақтауыңыз керек еді. Ол «dx68asda7sd.iot.us-east1-amazonaws.com» сияқты болуы керек
    • AWS_CERT_CA
    • AWS_CERT_CRT
    • AWS_CERT_PRIVATE

    Сіз сертификаттарды бұрынғы қадамнан жүктеп алған боласыз. Содан кейін жазбалар редакторында ашыңыз (мысалы, блокнот) және мәтінді 'R «EOF (' және ') EOF» арасына қойыңыз;'. «----- СЕРТИФИКАТ БАСТАУ -----» немесе «----- БАСТАУ RSA ЖЕКЕ КІЛТІ -----» қосуды ұмытпаңыз.

    Кескін файлдары

    ESP32 шағын файлдық жүйемен бірге келеді. Біз бұл файлдық жүйені біздің бағдарламаға суреттерді сақтау үшін қолданамыз. Файлдарды жүктеуге мүмкіндік беретін құралды орнату қажет.

    1. Алдымен Random Nerd оқулықтары бойынша терең оқулыққа кіріңіз.
    2. Бұл жұмыс аяқталғаннан кейін сіз файлдарды деректер қалтасына жүктей аласыз (сонымен қатар zip файлына кіреді).

    Қатысыңыз

    Arduino -ның соңғы кодын жүктеңіз, сіз аяқтадыңыз!

    Ескерту - Star Trek атауы мен Star Trek суреттері CBS/Paramount -қа тиесілі. Косплей мен фантастикаға қатысты оларда жеңіл саясат бар - егер сұрақтарыңыз болса осы жерден оқыңыз.

    Фандомдар сайысы
    Фандомдар сайысы
    Фандомдар сайысы
    Фандомдар сайысы

    Фандомдар байқауының бірінші жүлдесі

    Ұсынылған: