Orodha ya maudhui:

Wifi Imewezeshwa OLED ESP32 Vipimo vya Gari: Hatua 3 (na Picha)
Wifi Imewezeshwa OLED ESP32 Vipimo vya Gari: Hatua 3 (na Picha)

Video: Wifi Imewezeshwa OLED ESP32 Vipimo vya Gari: Hatua 3 (na Picha)

Video: Wifi Imewezeshwa OLED ESP32 Vipimo vya Gari: Hatua 3 (na Picha)
Video: How to use MPU-6050 Accelerometer and Gyroscope with Arduino code 2024, Desemba
Anonim
Image
Image
Wifi Imewezeshwa Vipimo vya Gari vya OLED ESP32
Wifi Imewezeshwa Vipimo vya Gari vya OLED ESP32

Utangulizi kwanza…

Ninaunda viwango vya gari kama aina ya burudani tena na tena. Tazama https://www.instructables.com/id/Remote-Car-Monit… na https://www.instructables.com/id/Remote-Car-Monit… kwa mifano miwili ya hivi karibuni. Napenda sana zile zinazochanganyika na sehemu asili za gari. Kwa hivyo, kwa nini hii ni tofauti na ni nini kilichonivutia kuijenga. Jibu ni mambo mawili:

1) ESP32 - Nilitaka kujaribu mtoto mpya kwenye chip chipu, haswa kwani zana ya msingi ya arduino kwa hiyo imekomaa kabisa. Moja ya vitu vya kupendeza ambavyo ESP32 inawezesha ni IOT na iliyojengwa katika wifi na uwezo wa Bluetooth. Jumuiya imeandika maktaba kadhaa ili kuifanya hii iwe sawa (seva za wavuti, AP's, wateja wa wifi, mDNS, nk, nk).

2) Skrini za OLED za bei rahisi - Nyuma mnamo 2007 nilitengeneza gauge kutumia TFT iliyokaa mahali pa saa kwenye GD (2004-2007) WRX. TFT huja katika ladha anuwai. Wengine hufanya kazi vizuri usiku, wengine hufanya kazi vizuri mchana, nk Lakini hakuna hata moja inayofanya kazi kwa hali zote. Sikugundua makosa ya njia zangu hadi moja ya viwango nilivyotumia havina maana wakati wa siku ya kufuatilia ya jua ya mwanachama wa mkutano. Ingiza OLED, ambayo ni nzuri kwa matumizi ya magari. Hazina mwangaza sana wakati wa usiku na (muhimu zaidi) zinaonekana katika hali nyingi za jua.

Hii ni mbili kwa moja inayoweza kufundishwa kwani niliandika kila kitu kwa viwango viwili vya kawaida vya gari, shinikizo la mafuta na shinikizo la turbo. Zote mbili kimsingi ni kitu kimoja: kipimo kidogo cha fomu na onyesho la kutazama la analog-OLED na nambari tofauti na kiwango cha juu kinachoonyeshwa. Zote pia hufanya kazi kama wifi AP na wavuti. Wakati mtu akiunganisha kwao kupitia kompyuta au simu ya rununu chati ya kusonga ya EKG inaweza kuonekana (hii ndio sehemu ya ubunifu).

Vifaa

Moduli ya HELTEC ESP32 - pata tofauti ya wifi

Sehemu maalum za Shinikizo la Mafuta:

Sensor ya Shinikizo la Mafuta - Nilitumia sehemu ya kukamata sensorer ya shinikizo la mafuta ya automter 5222 - hii inatofautiana na gari na eneo la usakinishaji. Tafadhali wasiliana na miongozo ya huduma, vikao, teknolojia, nk na ufanye hivi kwa usahihi ili hakuna uvujaji wa mafuta

Kuongeza kupima sehemu maalum:

  • Sensorer ya shinikizo la hewa (ikiwa tu unataka kufanya kipimo cha kuongeza nguvu) -
  • Bomba la hewa
  • Vifaa vya T

Maktaba nilizotumia ambazo ni muhimu sana:

Smoothiecharts - https://smoothiecharts.org/ Chati bora na nyepesi za kusasisha moja kwa moja. Inabadilika sana na haitegemei kutaja maktaba ya js mahali pengine kwenye wavuti. Hii inaruhusu usanidi wa aina ya "mitaa-IOT" na maktaba yote inafaa kwa kamba moja kwa taarifa ya seva ya wavuti kwa msimbo!

ESPAsyncWebServer -https://github.com/me-no-dev/ESPAsyncWebServer- inafanya kile inachosema kwenye sanduku na inafanya vizuri

Maktaba ya michoro ya ThingPulse OLED (wakati mwingine piga maktaba ya squix) - https://github.com/ThingPulse/esp8266-oled-ssd130… - michoro nzuri na ya moja kwa moja kwa chips za ESP. Iliniruhusu kufanya programu ya uvivu na bado nipate michoro zenye kushawishi.

Zana / misc:

chuma cha kutengenezea - kutumika kutengeneza runinga ndefu kwa sensorer, kufunga vichwa kwenye ubao, shrink shrink shrink, nk.

bisibisi / soketi / zana zingine za gari - muhimu kusanikisha sensorer kwenye gari

mkanda wa pande mbili - kufunga gauges kwenye nyumba na kusanikisha makazi kwenye gari (gundi moto na vitu vingine vinaweza kufanya kazi, lakini napendelea mkanda wa 3M wa pande mbili wa nje. Inashikilia vizuri na inaweza kuvutwa bila kuharibu vitu.)

mkasi - kwa mkanda na kukata neli na uhusiano wa zip

mahusiano ya zip - kwa kushikilia vitu pamoja, kuunganisha waya chini ya dash na kwenye chumba cha injini, kushikilia sensorer mahali, nk.

Hatua ya 1: Nambari ya kwanza / vifaa vya pili Pili

Nambari ya kwanza / vifaa vya pili Pili
Nambari ya kwanza / vifaa vya pili Pili
Nambari ya kwanza / vifaa vya pili Pili
Nambari ya kwanza / vifaa vya pili Pili

Nambari inaweza kupakuliwa hapa:

Shinikizo la Mafuta -

Kuongeza Shinikizo -

Kuongeza Shinikizo na nyuso badala ya vipimo vya mwonekano wa analog -

Msimbo wa picha: Maktaba ya ThingPulse ni nzuri sana hivi kwamba unaweza kuteka xbms moja kwa moja na kupata matokeo ya kushawishi!

Picha za kupima kwa kweli zilitoka kwa hazina ya chanzo wazi (https://thenounproject.com/). Msanii Iconic, CY (https://thenounproject.com/icon/490005/).

Nilitumia gimp kutoa muafaka 20 tofauti na sindano ikiashiria kila alama ya kupe. Picha za uso wa tabasamu ni za NOVITA ASTRI, ID na ziko hapa:

Kisha nikabadilisha hizi zote kuwa safu ya uint8_t kutumia mbinu hii (dokezo: ikiwa rangi zimebadilishwa wakati unazionesha, geuza tu rangi zilizo kwenye asili): https://blog.squix.org/2015/05/esp8266- nodemcu-ho…

Nambari ya uhuishaji ya moja kwa moja ni ya moja kwa moja:

  • Pata usomaji kutoka kwa sensa
  • Kusoma kwa kiwango (nilifanya 1 hadi 1 kwa maadili mazuri ya kukuza na songa sindano tu wakati inakuzwa sio wakati iko kwenye utupu)
  • Chora xbm na kisha weka herufi za nambari kwa kila kitu kingine.
  • suuza na kurudia

Nambari ya sensorer: Ninatumia tena nambari ya sensa ambayo nimetumia sensorer hizi mbili kwa miradi mingine michache. Niliongeza wastani wa kutoka kwa sensorer za kuruka. Hii ni pamoja na kusoma kila "kusoma" kuwa wastani wa usomaji 5.

Nambari ya kuongeza nguvu (sensorer inatoa nambari ya analojia kutoka voliti 0-5 ambazo ADC inageuka kuwa hatua kutoka 0-1024):

int getBoost () {float rboost = ((AnalogSoma (36) + AnalogSoma (36) + AnalogSoma (36) + AnalogSoma (36) + AnalogSoma (36)) / 5); Matokeo ya kuelea // PSI = (rboost * (. 00488) / (. 022) +20) /6.89 - atmo; // kuondoka kwa / 6.89 kwa matokeo ya kuelea kwa kpaPSI = (((rboost / 4095) + 0.04) / 0.004) * 0.145 - atmo; // kwa 0.145 kwa calc psi // 4096 maadili kwenye esp32 / * rBoost = rBoost + 1; ikiwa (rBoost> = 20) {rBoost = 0; } * / kurudi (MatokeoPSI); }

Nambari ya shinikizo la mafuta (sensor hutofautiana upinzani wake kulingana na shinikizo inavyohisi hivyo mgawanyiko wa voltage inahitajika kugeuza hii kuwa voltage kutoka 0-5v angalia: https://electronics.stackexchange.com/questions/3…https:/ /www.instructables.com/id/Remote-Car-Monito ……. (kuelekea chini) kwa habari zaidi):

int getOilPSI () {float psival = (((AnalogSoma (36) + AnalogSoma (36) + AnalogSoma (36) + AnalogSoma (36) + AnalogSoma (36)) / 5); psival = -0.0601 * psival + 177.04 - 14.5; kurudi psival; }

Utendaji wa Seva ya Wavuti na AP: Utendaji wa AP ni rahisi sana - kusisitiza na kitu cha AP na ESSID unayotaka kutangaza na nywila na uko vizuri kwenda.

const char * ssid = "kuongeza_gauge_ap"; const char * nywila = "nywila";

WiFi.softAP (ssid, nywila);

Hata ina seva ya DHCP kwa hivyo sio lazima kuwa na wasiwasi juu ya hilo. Kwa chaguo-msingi ni IP ni 192.168.1.4 (haijui ni kwanini, ndivyo walivyochagua tu). Kitanda cha wavuti ni ngumu kidogo na inahitajika utafiti kidogo. Kimsingi unataka webserver ya async ili iweze kupata data inayosasisha moja kwa moja. Kwa bahati nzuri kuna maktaba ya hiyo. Mimi sio msanidi programu wa javascript, kwa hivyo nilizingatia rundo la maktaba ya kuchora na kuchora picha hadi nikajikwaa na chati za laini. Maktaba mengine mengi ya chati yameandikwa hivi kwamba hurithi kila aina ya nambari kutoka kwa maktaba zingine kutoka kwa wavuti ambazo zimebebwa kwa nguvu wakati ukurasa hutolewa. Nilitaka hii ifanye kazi bila ya mtandao kwa hivyo hii ilikuwa kupata kubwa. Pili ilibidi iwe ndogo ya kutosha kwamba itoshe kwenye arduino na kama unavyoona katika nambari hiyo inafaa katika safu moja ya char.

Matangazo ya Webserver: # pamoja na AsyncTCP.h # pamoja na ESPAsyncWebServer.h… AsyncWebServer server (80); // ithibitishe na uchague bandari (80 ni kiwango cha http)… server.on ("/", HTTP_GET, (ombi la AsyncWebServerRequest *) {request-> send (200, "text / html", "… // ukurasa wa wavuti + maktaba ya smoothiecharts katika safu kubwa ya char}); server.on ("/ val", HTTP_GET, (ombi la AsyncWebServerRequest *) / -> tuma (200, "maandishi / html", Sboost);}); seva.anza ();

Hatua ya 2: Vifaa na Wiring

Vifaa na Wiring
Vifaa na Wiring
Vifaa na Wiring
Vifaa na Wiring
Vifaa na Wiring
Vifaa na Wiring

Picha kwenye nyumba ya sanaa ni sensorer mbili ninazotumia. Rangi kubwa ya dhahabu ni sensor ya shinikizo la mafuta la Autometer 2242. Mwili na uzi wa kihisi hiki ni chini na terminal ni usomaji katika upinzani.

Autometer itakupa mviringo wa kupinga shinikizo au upinzani wa joto kwa sensorer yao yoyote. Nimebadilisha hii kuwa voltage kwa kutumia mgawanyiko wa voltage (angalia mchoro wa wiring).

Sensor ya shinikizo la hewa ya MPX4250AP ina pini tatu za moja kwa moja na pini kadhaa ambazo hazijatumika. Wao ni V ndani, chini, na pato la sensa. Inatoa usomaji wa 0-5v ambao unaweza kusomwa na microcontroller (au kwa kesi ya mcu huu wa 0-3 volt. Kwa hivyo, usomaji wa sensa hupunguzwa chini kwa kutumia mgawanyiko wa voltage.). Karatasi hiyo inaweza kupatikana hapa:

Kuna masuala kadhaa katika kupunguza kutoka 5v hadi 3v mantiki. Katika kesi yangu nilitumia mgawanyiko wa voltage kwa urahisi na nilikuwa na sehemu karibu na benchi langu la kazi. Utaanzisha kosa kidogo katika usomaji kulingana na makosa yanayowezekana ya vifaa vya ziada (vipinga viwili). Hii inaweza kufanya usomaji wako uwe punguzo la 10% wakati mwingine. Ninaweza kuishi na hii. Ikiwa huwezi unaweza kutamani kutumia opamp na vipingaji au kibadilishaji cha kiwango cha mantiki (inapatikana kutoka kwa wauzaji anuwai wa umeme. Sparkfun ina moja hapa: https://www.sparkfun.com/products/12009 naweza kuibadilisha kama Ninasoma sana wakati mwingine kwenye kipimo hiki (kwa kweli nimeonyesha bidhaa hii kwenye mchoro wangu wa wiring).

Niliendesha ESP32 kupitia USB. Hii ilijumuisha wiring chaja ya moja kwa moja kama hii: https://www.amazon.com/gp/product/B00U2DGKOK/ref=p… kwa gari na kisha kutumia kitovu cha USB kuigawanya. Unaweza kuona kuwa nilitumia nyaya za usb za pembe ya kulia kuhakikisha kila kitu kinafanya kazi katika eneo dogo (https://www.amazon.com/gp/product/B00ENZDFQ4/ref=p…).

Picha zingine zinaonyesha mahali nilikata mashimo au waya iliyotembea. Kila gari litakuwa tofauti. Tumia tahadhari, visu na mkasi ni mkali, umeme unaweza kuwa hatari kwa hivyo tafadhali kata betri kabla ya kuunganisha vitu.

Hatua ya 3: Nyumba ya Kuchapishwa ya 3D

Nyumba ya Kuchapishwa ya 3D
Nyumba ya Kuchapishwa ya 3D

Nimetumia nyumba kadhaa zilizochapishwa za 3D kwa hii.

  • Kipimo cha duara 2 cha generic kubwa. Unaweza kuona hii kwenye picha hizi za ukurasa wa kwanza. Niliiweka karibu na saa yangu kwenye dashi yangu. https://www.thingiverse.com/thing 3000653542
  • Mtindo mmoja wa kabari inayofaa katika eneo la saa ya subaru impreza (wrx, sti, n.k.) kutoka takriban 2008 hadi 2014.
  • Kipande cha kupima mbili ambacho kinafaa kwenye nguzo za usukani na nyuso zingine zenye mviringo kidogo:

Mnakaribishwa kunakili na kurekebisha haya ili kukidhi mahitaji yenu. Hakuna hata mmoja wao ni mkamilifu na wote watahitaji marekebisho kidogo.

Vidokezo kadhaa:

  • Nilimaliza yangu na plastidip; ni njia inayopendelewa na wavivu.
  • Plastiki za mchanga hufanya chembe nzuri ambazo sio nzuri kwako, tumia kinyago kinachofaa.
  • Nilitumia PETG kwa nyumba zangu. ABS pia ni nzuri. PLA itapiga jua kali kwenye dashibodi.
Changamoto ya IoT
Changamoto ya IoT
Changamoto ya IoT
Changamoto ya IoT

Tuzo ya pili katika Changamoto ya IoT

Ilipendekeza: