Satura rādītājs:
- Piegādes
- 1. darbība: kods vispirms/otrā aparatūra
- 2. solis: Aparatūra un elektroinstalācija
- 3. solis: 3D drukāts korpuss
Video: Wifi iespējots OLED ESP32 automašīnu mērītājs: 3 soļi (ar attēliem)
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:55
Ievads vispirms…
Es būvēju auto mērinstrumentus kā sava veida atkal un atkal hobiju. Divus jaunākus piemērus skatiet vietnēs https://www.instructables.com/id/Remote-Car-Monit… un https://www.instructables.com/id/Remote-Car-Monit…. Man īpaši patīk tie, kas saplūst ar oriģinālajām automašīnas detaļām. Tātad, kāpēc šis ir atšķirīgs un kas mani iedvesmoja to veidot. Atbilde ir divas lietas:
1) ESP32 - Es gribēju izmēģināt jauno kazlēnu bloka mikroshēmā, jo īpaši tāpēc, ka arduino bāzes rīku ķēde tam ir diezgan nobriedusi. Viena no interesantajām lietām, ko nodrošina ESP32, ir IOT ar iebūvētām wifi un Bluetooth iespējām. Kopiena ir uzrakstījusi vairākas bibliotēkas, lai padarītu to nedaudz vienkāršu (tīmekļa serveri, AP, wifi klienti, mDNS utt. Utt.).
2) Lēti OLED ekrāni - 2007. gadā es izveidoju mērierīci, izmantojot TFT, kas sēdēja GD (2004-2007) WRX pulksteņa vietā. TFT ir dažādas garšas. Daži strādā labāk naktī, daži labāk dienā utt. Bet neviens no viņiem nedarbojas visos apstākļos. Es neapzinājos sava ceļa kļūdu, kamēr kāds no maniem mērinstrumentiem nebija noderīgs foruma dalībnieka saulainajā trases dienā. Ievadiet OLED, kas ir lieliski piemērots automobiļu lietojumiem. Naktīs tie nav pārāk spilgti un (vēl svarīgāk) ir redzami lielākajā daļā saules staru.
Tas ir divi pret vienu pamācību, jo es visu uzrakstīju diviem kopējiem automašīnu mērītājiem - eļļas spiedienam un turbo spiedienam. Abi būtībā ir viens un tas pats: mazs formas koeficients ar animētu analogā izskata OLED displeju ar diskrētiem skaitļiem un maksimumu. Abi darbojas arī kā wifi AP un tīmekļa serveri. Kad tiek izveidots savienojums ar tiem, izmantojot datoru vai mobilo tālruni, ir redzama kustīga EKG stila diagramma (šī ir nedaudz novatoriska daļa).
Piegādes
HELTEC ESP32 modulis-iegūstiet wifi variantu
Īpašas eļļas spiediena daļas:
Eļļas spiediena sensors - es izmantoju automter 5222 Eļļas spiediena sensora savienojuma detaļas - tas atšķiras atkarībā no automašīnas un uzstādīšanas vietas. Lūdzu, iepazīstieties ar servisa rokasgrāmatām, forumiem, mehānismiem utt. Un dariet to pareizi, lai nebūtu eļļas noplūdes
Palielinājuma mērītāja īpašās daļas:
- Gaisa spiediena sensors (tikai tad, ja vēlaties izveidot spiediena mērītāju) -
- Gaisa šļūtene
- T veidgabali
Nepieciešamās bibliotēkas, kuras izmantoju:
Smoothiecharts - https://smoothiecharts.org/ Lieliskas un vieglas tiešraides atjaunināšanas diagrammas. Ļoti pielāgojama un nepaļaujas uz atsauci uz js bibliotēku kaut kur citur internetā. Tas ļauj veikt “local-IOT” tipa iestatīšanu, un visa bibliotēka iekļaujas vienā virknē tīmekļa servera paziņojumam kodā!
ESPAsyncWebServer -https://github.com/me-no-dev/ESPAsyncWebServer- dara to, ko saka uz kastes, un dara to labi
ThingPulse OLED grafikas bibliotēka (dažreiz sauc par squix bibliotēku) - https://github.com/ThingPulse/esp8266-oled-ssd130… - ļoti efektīva un vienkārša grafika ESP mikroshēmām. Atļāva man veikt slinku programmēšanu un joprojām iegūt pārliecinošas animācijas.
Instrumenti/dažādi:
lodāmurs - izmanto, lai veiktu garus kabeļu savienojumus sensoriem, uzstādītu virsrakstus uz kuģa, saruktu saraušanās aptinumu utt.
skrūvgriezis/kontaktligzdas/citi automašīnas instrumenti - nepieciešami sensoru uzstādīšanai automašīnā
divpusēja līmlente - lai uzstādītu mērinstrumentus korpusos un uzstādītu korpusu automašīnā (karstā līme un citas lietas var noderēt, bet es dodu priekšroku 3M divpusējai ārējai apdares lentei. Tā labi turas un to var noņemt, nesabojājot lietas.)
šķēres - lentēm un cauruļu griešanai un rāvējslēdzējiem
rāvējslēdzēji - lietu turēšanai kopā, vadu savienošanai zem domuzīmes un motora nodalījumā, sensoru turēšanai vietā utt.
1. darbība: kods vispirms/otrā aparatūra
Kodu var lejupielādēt šeit:
Eļļas spiediens -
Palieliniet spiedienu -
Palieliniet spiedienu ar sejām, nevis analogā izskata mērītājiem -
Grafikas kods: ThingPulse bibliotēka ir tik ļoti efektīva, ka jūs varat uzzīmēt xbms tieši virs otra un iegūt pārliecinošus rezultātus!
Mērinstrumentu attēli faktiski nāca no atvērtā pirmkoda grafikas krātuves (https://thenounproject.com/). Mākslinieks Iconic, CY (https://thenounproject.com/icon/490005/).
Es izmantoju gimp, lai ģenerētu 20 dažādus rāmjus ar adatu, kas vērsta uz katru atzīmi. Smaidiņu sejas ikonas veido NOVITA ASTRI, ID, un tās ir šeit:
Pēc tam, izmantojot šo paņēmienu, es tos visus pārveidoju par konstanta uint8_t masīviem (mājiens: ja krāsas tiek apgrieztas, kad tās parādāt, vienkārši apgrieziet oriģināla krāsas): https://blog.squix.org/2015/05/esp8266- nodemcu-ho…
Tiešraides animācijas kods ir diezgan vienkāršs:
- Lasiet no sensora
- Mēroga nolasīšana (pozitīvajām palielinājuma vērtībām es iestatīju 1 līdz 1 un adatu pārvietojiet tikai tad, kad tā ir palielināta, nevis vakuumā)
- Uzzīmējiet xbm un pēc tam nolieciet ciparu rakstzīmes visam pārējam.
- noskalojiet un atkārtojiet
Sensora kods: Es atkārtoti izmantoju sensoru kodu, ko esmu izmantojis šiem diviem sensoriem dažiem citiem projektiem. Es pievienoju kādu vidējo, lai izvairītos no lecīgajiem sensoriem. Tas ietver katra "lasījuma" lasīšanu vidēji 5 lasījumos.
Palielināšanas kods (sensors dod analogo vērtību no 0 līdz 5 voltiem, ko ADC pārvērš pakāpēs no 0 līdz 1024):
int getBoost () {float rboost = ((analogRead (36) + analogRead (36) + analogRead (36) + analogRead (36) + analogRead (36))/5); // pludiņš RezultātsPSI = (rboost*(. 00488)/(. 022) +20) /6.89 - atmo; // atstāt no /6.89 kpa pludiņam RezultātsPSI = ((((rboost /4095) + 0.04) /0.004) * 0.145 - atmo; // par 0,145, lai aprēķinātu psi // 4096 vērtības esp32 /*rBoost = rBoost + 1; ja (rBoost> = 20) {rBoost = 0; }*/ atgriezties (ResultPSI); }
Eļļas spiediena kods (sensors maina pretestību atkarībā no tā uztveramā spiediena, tāpēc, lai to pārvērstu spriegumā no 0 līdz 5 V, ir nepieciešams sprieguma dalītājs, skatiet: https://electronics.stackexchange.com/questions/3…https:/ /www.instructables.com/id/Remote-Car-Monito … [uz leju], lai iegūtu vairāk informācijas):
int getOilPSI () {float psival = ((analogRead (36) + analogRead (36) + analogRead (36) + analogRead (36) + analogRead (36))/5); psival = -0,0601*psival + 177,04 - 14,5; atgriešanās psival; }
Tīmekļa servera un AP funkcionalitāte: AP funkcionalitāte ir diezgan vienkārša - parafatējiet un AP objektu ar ESSID, kuru vēlaties pārraidīt, un paroli, un jums ir labi iet.
const char *ssid = "boost_gauge_ap"; const char *parole = "parole";
WiFi.softAP (ssid, parole);
Tam pat ir DHCP serveris, tāpēc jums par to nav jāuztraucas. Pēc noklusējuma IP ir 192.168.1.4 (nav ne jausmas, kāpēc, tieši to izvēlējāmies). Tīmekļa servera bits ir nedaudz sarežģītāks un prasīja nelielu izpēti. Būtībā jūs vēlaties asinhronu tīmekļa serveri, lai tas varētu iegūt atjauninātus datus. Par laimi tam ir bibliotēka. Es neesmu javascript izstrādātājs, tāpēc ķēros pie diagrammu un grafiku bibliotēku kopas, līdz paklupa smūtiju diagrammās. Lielākā daļa citu diagrammu bibliotēku ir uzrakstītas tā, ka tās pārmanto visa veida kodus no citām bibliotēkām visā tīmeklī, kas tiek dinamiski ielādētas, atveidojot lapu. Es gribēju, lai tas darbotos neatkarīgi no interneta, tāpēc tas bija liels atradums. Otrkārt, tam bija jābūt pietiekami mazam, lai tas ietilptu arduino, un, kā redzams kodā, tas ietilpst vienā simbolu masīvā.
Tīmekļa servera deklarācijas: #include AsyncTCP.h #include ESPAsyncWebServer.h… AsyncWebServer server (80); // to parafēt un izvēlēties portu (80 ir standarta standarts http)… server.on ("/", HTTP_GET, (AsyncWebServerRequest *pieprasījums) {request-> send (200, "text/html", "… // tīmekļa lapa + gludo diagrammu bibliotēka milzīgā rakstzīmju masīvā}); server.on ("/val", HTTP_GET, (AsyncWebServerRequest *pieprasījums) {// pirmā lapa faktiski izsauc šo ļoti mazo lapu, kas tikai atgriež vērtības pieprasījumu -> sūtīt (200, "text/html", Sboost);}); server.begin ();
2. solis: Aparatūra un elektroinstalācija
Galerijā attēloti divi manis izmantotie sensori. Lielais zelta krāsā ir eļļas spiediena sensors Autometer 2242. Šī sensora korpuss un vītne ir noslīpēti, un terminālis ir pretestības rādījums.
Autometrs jebkuram sensoram nodrošinās spiediena vai temperatūras izturības līkni. Esmu to pārveidojis par spriegumu, izmantojot sprieguma dalītāju (skatiet elektroinstalācijas shēmu).
MPX4250AP gaisa spiediena sensoram ir trīs sprieguma tapas un vairākas neizmantotas tapas. Tie ir V ieeja, zeme un sensora izeja. Tas izvada 0-5v rādījumu, ko var nolasīt mikrokontrolleris (vai šajā gadījumā mcu 0-3 volti. Tātad, sensora rādījums tiek samazināts, izmantojot sprieguma dalītāju.). Specifikācijas lapu var atrast šeit:
Ir vairāki jautājumi, samazinot loģiku no 5 V līdz 3 V. Manā gadījumā vienkāršības labad es izmantoju sprieguma dalītāju, un man bija daļas ap manu darbagaldu. Jūs ievadīsit nedaudz kļūdu rādījumos, pamatojoties uz iespējamo papildu komponentu (divu rezistoru) kļūdu. Tas dažos gadījumos var padarīt jūsu rādījumus par 10% atlaidi. Es varu dzīvot ar šo. Ja nevarat, iespējams, vēlēsities izmantot opamp un rezistorus vai loģikas līmeņa pārveidotāju (pieejams no dažādiem elektronikas piegādātājiem. Sparkfun ir tāds šeit: https://www.sparkfun.com/products/12009 Es varu pāriet uz to kā Dažreiz šajā mērierīcē tiek rādīti augsti rādījumi (patiesībā šo produktu esmu parādījis savā elektroinstalācijas shēmā).
Es baroju ESP32, izmantojot USB. Tas ietvēra tāda tiešā lādētāja pievienošanu šim: https://www.amazon.com/gp/product/B00U2DGKOK/ref=p… automašīnai un pēc tam, izmantojot USB centrmezglu, lai to sadalītu. Jūs varat redzēt, ka es izmantoju taisna leņķa USB kabeļus, lai viss darbotos nelielā vietā (https://www.amazon.com/gp/product/B00ENZDFQ4/ref=p…).
Citās fotogrāfijās redzamas vietas, kur es izgriezu caurumus vai vadīju vadu. Katra automašīna būs atšķirīga. Esiet piesardzīgs, naži un šķēres ir asas, elektrība var būt bīstama, tāpēc, lūdzu, atvienojiet akumulatoru pirms elektroinstalācijas.
3. solis: 3D drukāts korpuss
Šim nolūkam esmu izmantojis vairākus 3D drukātus korpusus.
- Vispārējs liels 2 ekrānu apaļš mērinstruments. To var redzēt šīs pirmās lapas attēlos. Es noliku to blakus pulkstenim uz domuzīmes.
- Viena gabarīta ķīļveida stils, kas iekļaujas Subaru Impreza (wrx, sti utt.) Pulksteņa zonā no aptuveni 2008. līdz 2014. gadam.
- Divkāršs gabarīts, kas piemērots stūres rata kolonnām un citām nedaudz noapaļotām virsmām:
Jūs esat laipni aicināti tos kopēt un pārveidot atbilstoši savām vajadzībām. Neviens no tiem nav ideāls, un tiem visiem būs nepieciešama neliela pielāgošana.
Dažas piezīmes:
- Savējo pabeidzu ar plastidipu; tā ir vēlamā slinkošanas metode.
- Plastmasas slīpēšana rada smalkas daļiņas, kas jums neder, izmantojiet atbilstošu masku.
- Saviem korpusiem es izmantoju PETG. ABS ir arī labs. PLA deformēsies karstā saulē uz paneļa.
Otrā balva IoT izaicinājumā
Ieteicams:
Netīrumu lēts netīrumu mērītājs-9 USD uz Arduino balstīts skaņas augstuma mērītājs: 4 soļi (ar attēliem)
Netīrumi Lēts netīrumu mērītājs-9 ASV dolāri uz Arduino balstīts skaņas augstuma mērītājs: Dytters (A.K.A dzirdamie augstuma mērītāji) tik daudzus gadus izglāba izpletņlēcēju dzīvības. Tagad arī Audible Abby ietaupīs viņiem naudu. Basic Dytters ir četri trauksmes signāli, viens ceļā uz augšu un trīs lejup. Lidmašīnā paceļoties, izpletņlēcējiem jāzina, kad
Bluetooth iespējots analogais VU mērītājs: 6 soļi
Bluetooth iespējots analogais VU mērītājs: Šis bija mans projekts vienai no manām universitātes klasēm ar nosaukumu SMP. Tā kā mēs izmantojām STM32F103RB izstrādes plati, es savu projektu balstīju uz to, sākot ar vienkāršu VU skaitītāju. Pēc tam es pievienoju dažas papildu funkcijas, piemēram, Bluetooth atbalstu, lai pārraidītu va
IoT iespējots kafijas automāts: 9 soļi (ar attēliem)
IoT iespējots kafijas automāts: šis norādījums ir iekļauts IoT konkursā - ja jums tas patīk, lūdzu, balsojiet par to! ATJAUNINĀTS: Tagad atbalsta divvirzienu komu un OTA atjauninājumus Jau kādu laiku man ir bijis Jura kafijas automāts, un es vienmēr esmu gribējis lai to kaut kā automatizētu. Man ir bijis
Bluetooth iespējots kursorsviru kontrolieris: 9 soļi (ar attēliem)
Bluetooth iespējots kursorsviru kontrolieris: izbrīniet savus draugus un pārsteidziet ģimeni, kad viņi izskata interaktīvu A/V tīmekļa lietotni "HypnoEllipse". Izveidojiet Bluetooth iespējotu kursorsviras korpusu, pievienojiet to tīmekļa pārlūkprogrammai un pēc kārtas veiciet pašhipnozi. Šī ir
IoT iespējots sensoru datu vākšanas centrs ar ESP8266 un PubNub: 9 soļi (ar attēliem)
IoT iespējots sensoru datu vākšanas centrs ar ESP8266 un PubNub: Lielākā daļa ESP8266 pamācību ir iesācēju līmenī (attālināti mirgo LED) vai ir pārāk sarežģītas kādam, kurš meklē kaut ko, ko uzlabot un uzlabot, vadot mirgojošas iemaņas. pamācāms mērķis ir pārvarēt šo plaisu līdz radīšanai