Obsah:
2025 Autor: John Day | [email protected]. Naposledy zmenené: 2025-01-13 06:58
Úvod najskôr…
Merače automobilov vyrábam ako akési hobby znova a znova. Dva ďalšie nedávne príklady nájdete na https://www.instructables.com/id/Remote-Car-Monit… a https://www.instructables.com/id/Remote-Car-Monit…. Obzvlášť sa mi páčia také, ktoré splývajú s pôvodnými časťami auta. Prečo je teda tento iný a čo ma inšpirovalo k jeho postaveniu. Odpoveďou sú dve veci:
1) ESP32 - Chcel som vyskúšať nové dieťa na blokovom čipe, najmä preto, že nástrojový reťazec založený na arduine je dosť vyspelý. Jednou zo zaujímavých vecí, ktoré ESP32 umožňuje, sú IOT so vstavanými funkciami wifi a bluetooth. Komunita napísala niekoľko knižníc, aby to bolo celkom jednoduché (webové servery, AP, wifi klienti, mDNS atď., Atď.).
2) Lacné OLED obrazovky - V roku 2007 som vyrobil meradlo pomocou TFT, ktoré sedelo na mieste hodín na GD (2004-2007) WRX. TFT sa dodáva v rôznych príchutiach. Niektorí pracujú lepšie v noci, niektorí lepšie cez deň atď. Ale žiadny z nich nefunguje za každých podmienok. Neuvedomil som si chybu svojich spôsobov, kým jeden z meradiel, ktoré som použil, bol počas slnečného dňa člena fóra zbytočný. Zadajte OLED, ktoré sú úžasné pre automobilové aplikácie. V noci nie sú príliš jasné a (čo je dôležitejšie) sú viditeľné vo väčšine slnečných podmienok.
Toto je návod dva na jedného, pretože som napísal všetko pre dva bežné merače automobilov, tlak oleja a tlak turba. Oba sú v podstate to isté: malý merací prístroj s animovaným OLED displejom analógového vzhľadu s oddelenými číslami a maximami. Oba fungujú aj ako WiFi AP a webové servery. Keď sa k nim niekto pripojí prostredníctvom počítača alebo mobilného telefónu, je možné zobraziť pohyblivú tabuľku štýlov EKG (toto je trochu inovatívna časť).
Zásoby
Modul HELTEC ESP32-získajte variant wifi
Špecifické časti tlaku oleja:
Senzor tlaku oleja - použil som automatickú súčiastku 5222, diely snímača tlaku oleja - to sa líši podľa auta a miesta inštalácie. Prečítajte si servisné príručky, fóra, mechaniku atď. A urobte to správne, aby nedošlo k úniku oleja
Špecifické diely zosilňovača:
- Senzor tlaku vzduchu (iba ak si želáte vytvoriť posilňovacie meradlo) -
- Vzduchová hadica
- T tvarovky
Knižnice, ktoré som použil, boli nevyhnutné:
Smoothiecharts - https://smoothiecharts.org/ Vynikajúce a ľahké živé aktualizačné grafy. Veľmi prispôsobiteľný a nespolieha sa na odkazovanie na knižnicu js niekde inde na internete. To umožňuje nastavenie typu „local-IOT“a celá knižnica sa zmestí do jedného reťazca pre príkaz webového servera v kóde!
ESPAsyncWebServer-https://github.com/me-no-dev/ESPAsyncWebServer- robí to, čo je uvedené na škatuli, a robí to dobre
Grafická knižnica ThingPulse OLED (niekedy sa nazýva knižnica squix) - https://github.com/ThingPulse/esp8266-oled-ssd130… - veľmi efektívna a prehľadná grafika pre čipy ESP. Umožnil mi urobiť lenivé programovanie a napriek tomu získať presvedčivé animácie.
Nástroje/rôzne:
spájkovačka - používa sa na výrobu dlhých káblových vedení pre senzory, inštalácie záhlaví na dosku, zmršťovania a zmršťovania.
skrutkovač/zásuvky/iné náradie do auta - potrebné na inštaláciu senzorov do auta
obojstranná páska - inštalácia meradiel do puzdier a inštalácia puzdra do auta (horúce lepidlo a ďalšie veci môžu fungovať, ale ja dávam prednosť obojstrannej ozdobnej páske 3M. Drží dobre a dá sa stiahnuť bez poškodenia.)
nožnice - na pásku a strihacie hadičky a zipsy
zipsy - na držanie vecí pohromade, zväzovanie drôtov pod palubnou doskou a v motorovom priestore, držanie senzorov na mieste atď.
Krok 1: Kódujte najskôr/Hardvér ako druhý
Kód je možné stiahnuť tu:
Tlak oleja -
Boost Pressure -
Plniaci tlak s tvárami namiesto analógových meradiel vzhľadu -
Grafický kód: Knižnica ThingPulse je taká efektívna, že môžete kresliť xbms priamo na seba a získať presvedčivé výsledky!
Obrázky rozchodov v skutočnosti pochádzajú z grafického úložiska s otvoreným zdrojovým kódom (https://thenounproject.com/). Umelec Iconic, CY (https://thenounproject.com/icon/490005/).
Použil som gimp na vygenerovanie 20 rôznych rámcov s ihlou smerujúcou na každú značku začiarknutia. Ikony smajlíkov sú od NOVITA ASTRI, ID a sú tu:
Potom som tieto všetky skonvertoval na polia const uint8_t pomocou tejto techniky (rada: ak sú farby pri ich zobrazení obrátené, jednoducho prevráťte farby na originál): https://blog.squix.org/2015/05/esp8266- nodemcu-ho…
Kód živej animácie je veľmi jednoduchý:
- Získajte čítanie zo senzora
- Odčítanie stupnice (pre pozitívne hodnoty boostu som urobil 1: 1 a ihlou pohybujte iba vtedy, keď je v booste, nie keď je vo vákuu)
- Nakreslite xbm a pre všetko ostatné zadajte číselné znaky.
- opláchnite a opakujte
Kód senzora: Kód senzora, ktorý som použil pre tieto dva senzory, znova používam na niekoľko ďalších projektov. Pridal som nejaké priemerovanie, aby som sa dostal preč od skokových senzorov. To zahŕňa prečítanie každého „čítania“v priemere 5 čítaní.
Boost kód (snímač dáva analógový val od 0 do 5 voltov, ktorý ADC zmení na kroky od 0 do 1024):
int getBoost () {float rboost = ((analogRead (36) + analogRead (36) + analogRead (36) + analogRead (36) + analogRead (36))/5); // float VýsledokPSI = (rboost*(. 00488)/(. 022) +20) /6,89 - atmo; // dovolenka /6,89 pre kpa float VýsledokPSI = ((((rboost /4095) + 0,04) /0,004) * 0,145 - atmo; // o 0,145 na výpočet psi // 4096 hodnôt na esp32 /*rBoost = rBoost + 1; if (rBoost> = 20) {rBoost = 0; }*/ návrat (VýsledokPSI); }
Kód tlaku oleja (snímač mení svoj odpor podľa tlaku, ktorý sníma, takže na jeho premenu na napätie od 0 do 5 V je potrebný rozdeľovač napätia: https://electronics.stackexchange.com/questions/3…https:/ /www.instructables.com/id/Remote-Car-Monito…(smerom nadol), kde nájdete ďalšie informácie):
int getOilPSI () {float psival = ((analogRead (36) + analogRead (36) + analogRead (36) + analogRead (36) + analogRead (36))/5); psival = -0,0601*psival + 177,04 - 14,5; návrat psival; }
Funkcie webového servera a prístupového bodu: Funkčnosť prístupového bodu je pomerne jednoduchá - vytváranie inštancií a prístupových bodov pomocou servera ESSID, ktorý chcete vysielať, a hesla, a môžete začať.
const char *ssid = "boost_gauge_ap"; const char *heslo = "heslo";
WiFi.softAP (ssid, heslo);
Má dokonca server DHCP, takže si s tým nemusíte robiť starosti. Štandardne je to IP 192.168.1.4 (neviem prečo, to je práve to, čo ste vybrali). Bit webového servera je trochu zložitejší a vyžaduje si trochu výskumu. V zásade chcete asynchrónny webový server, aby mohol získavať aktuálne aktualizované údaje. Našťastie na to existuje knižnica. Nie som vývojár JavaScriptu, a tak som sa pohrával s mnohými knižnicami grafov a grafov, kým som nenatrafil na smoothie grafy. Väčšina ostatných knižníc grafov je napísaná tak, že dedia všetky druhy kódu z iných knižníc z celého webu, ktoré sa dynamicky načítavajú pri vykreslení stránky. Chcel som, aby to fungovalo nezávisle od internetu, takže to bol veľký nález. Za druhé, musel byť dostatočne malý, aby sa zmestil na arduino, a ako vidíte v kóde, zmestil sa do jedného poľa char.
Deklarácie webového servera: #include AsyncTCP.h #include ESPAsyncWebServer.h… server AsyncWebServer (80); // inštancia a výber portu (80 je štandard pre http) … server.on ("/", HTTP_GET, (požiadavka AsyncWebServerRequest *) {request-> send (200, "text/html", "… // // webová stránka + knižnica smoothiecharts v obrovskom poli znakov}); server.on ("/val", HTTP_GET, (požiadavka AsyncWebServerRequest *) {// prvá stránka skutočne nazýva túto veľmi malú stránku, ktorá iba vracia požiadavku na hodnotu -> odoslať (200, "text/html", Sboost);}); server.begin ();
Krok 2: Hardvér a zapojenie
Na fotografii v galérii sú dva senzory, ktoré používam. Ten veľký zlatý je snímač tlaku oleja Autometer 2242. Telo a závit tohto senzora je uzemnené a na svorke je údaj odporu.
Autometer vám poskytne krivku odolnosti voči tlaku alebo odolnosti voči teplote pre akýkoľvek z ich senzorov. Toto som previedol na napätie pomocou deliča napätia (pozri schému zapojenia).
Snímač tlaku vzduchu MPX4250AP má tri živé kolíky a niekoľko nepoužitých kolíkov. Majú výstup V, uzemnenie a senzor. Na výstupe je hodnota 0-5 V, ktorú môže čítať mikrokontrolér (alebo v prípade tohto mcu 0-3 volty. Odčítanie senzora sa teda zníži pomocou deliča napätia.). Špecifikačný list k nemu nájdete tu:
Existuje niekoľko problémov so zmenšením logiky 5V na 3V. V mojom prípade som pre jednoduchosť použil delič napätia a diely som mal okolo pracovného stola. Do hodnôt zavediete trochu chyby založenú na možnej chybe ďalších komponentov (dvoch rezistorov). V niektorých prípadoch to môže znamenať zľavu 10% na vaše hodnoty. S týmto môžem žiť. Ak nemôžete, môžete použiť zosilňovač a odpory alebo prevodník logickej úrovne (k dispozícii od rôznych predajcov elektroniky. Sparkfun ho má tu: https://www.sparkfun.com/products/12009 Môžem naň prepnúť ako Na tomto meradle niekedy dostávam vysoké hodnoty (v skutočnosti som tento výrobok ukázal na svojej schéme zapojenia).
Napájal som ESP32 cez USB. To zahŕňalo zapojenie priamej nabíjačky, ako je táto: https://www.amazon.com/gp/product/B00U2DGKOK/ref=p…, do auta, a potom ju pomocou USB rozbočovača rozdeliť. Môžete vidieť, že som použil pravouhlý USB kábel, aby všetko fungovalo na malej ploche (https://www.amazon.com/gp/product/B00ENZDFQ4/ref=p…).
Ďalšie fotografie ukazujú miesta, kde som vyrezal diery alebo spustil drôt. Každé auto bude iné. Buďte opatrní, nože a nožnice sú ostré, elektrina môže byť nebezpečná, preto pred zapojením vecí odpojte batériu.
Krok 3: 3D tlačené puzdro
Na to som použil niekoľko 3D tlačených puzdier.
- Obecný veľký okrúhly merač s 2 obrazovkami. Môžete to vidieť na obrázkoch na prvej strane. Položil som ich vedľa hodín na palubnú dosku.
- Jednodielny klinový štýl, ktorý sa zmestí do oblasti hodín subaru impreza (wrx, sti atď.) Od roku 2008 do roku 2014.
- Dvojrozchodný kus, ktorý sa hodí na stĺpiky volantu a iné mierne zaoblené povrchy:
Môžete ich skopírovať a upraviť tak, aby vyhovovali vašim potrebám. Žiadny z nich nie je dokonalý a všetky si budú vyžadovať trochu úpravy.
Niekoľko poznámok:
- Svoju som dokončil plastidipom; je to preferovaný spôsob lenivosti.
- Brúsenie plastov vytvára jemné častice, ktoré vám neprospievajú, použite vhodnú masku.
- Na svoje kryty som použil PETG. ABS je tiež dobré. PLA sa bude ohýbať na horúcom slnku na palubnej doske.
Druhá cena v súťaži IoT Challenge