Sadržaj:
- Supplies
- Korak 1: Prvo kodirajte/Drugo hardver
- Korak 2: Hardver i ožičenje
- Korak 3: 3D štampano kućište
Video: OLED ESP32 mjerači za automobile s Wi -Fi funkcijom: 3 koraka (sa slikama)
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:06
Prvo upoznavanje…
Izrađujem mjerače za automobile kao neku vrstu hobija iznova i iznova. Pogledajte https://www.instructables.com/id/Remote-Car-Monit… i https://www.instructables.com/id/Remote-Car-Monit… za dva novija primjera. Posebno mi se sviđaju oni koji se stapaju s originalnim dijelovima automobila. Dakle, zašto je ovaj drugačiji i šta me je inspirisalo da ga napravim. Odgovor je dvije stvari:
1) ESP32 - Htio sam isprobati novog klinca na blok čipu, pogotovo jer je lanac alata zasnovan na arduinu prilično zreo. Jedna od zanimljivosti koju ESP32 omogućuje je IOT sa ugrađenim mogućnostima wifi i bluetooth. Zajednica je napisala više biblioteka kako bi to učinilo pomalo jednostavnim (web serveri, pristupne tačke, wifi klijenti, mDNS itd itd.).
2) Jeftini OLED ekrani - Još 2007. napravio sam mjerač koristeći TFT koji je stajao na mjestu sata na GD (2004-2007) WRX. TFT dolazi u različitim ukusima. Neki rade bolje noću, neki bolje rade danju, itd. Ali niko od njih ne radi u svim uslovima. Nisam shvatio grešku u svom načinu rada sve dok jedan od mjerača koje sam koristio nije bio upotrebljiv tokom sunčanog dana člana foruma. Unesite OLED, koji su odlični za automobilske aplikacije. Noću nisu previše svijetli i (što je još važnije) vidljivi su u većini sunčevih zraka.
Ovo je instrukcija dva za jednog jer sam napisao sve za dva uobičajena mjerača automobila, tlak ulja i turbo tlak. Oboje su u osnovi ista stvar: mali mjerač faktorskog oblika sa OLED ekranom animiranog analognog izgleda sa diskretnim brojevima i maksimumima. Oboje također funkcioniraju kao WiFi pristupnici i web poslužitelji. Kada se s njima povežete putem računara ili mobitela, može se vidjeti pokretna tablica stila EKG -a (ovo je pomalo inovativan dio).
Supplies
HELTEC ESP32 modul-nabavite WiFi varijantu
Dijelovi specifični za pritisak ulja:
Senzor pritiska ulja - koristio sam dijelove za spajanje senzora pritiska ulja 5222 - to ovisi o automobilu i lokaciji ugradnje. Molimo vas da pogledate servisne priručnike, forume, mehaniku itd. I učinite to ispravno kako ne bi došlo do curenja ulja
Posebni dijelovi mjerača pojačanja:
- Senzor tlaka zraka (samo ako želite napraviti mjerač za pojačavanje) -
- Crevo za vazduh
- T armature
Biblioteke koje sam koristio bile su neophodne:
Smoothiecharts - https://smoothiecharts.org/ Odlični i lagani grafikoni za ažuriranje uživo. Vrlo prilagodljiv i ne oslanja se na pozivanje na js biblioteku negdje drugdje na internetu. Ovo omogućava postavljanje tipa „lokalni-IOT“i cijela biblioteka staje u jedan niz za izjavu web poslužitelja u kodu!
ESPAsyncWebServer -https://github.com/me-no-dev/ESPAsyncWebServer- radi ono što piše na kutiji i radi to dobro
ThingPulse OLED grafička biblioteka (ponekad se naziva i squix biblioteka) - https://github.com/ThingPulse/esp8266-oled-ssd130… - vrlo efikasna i jednostavna grafika za ESP čipove. Dozvolilo mi je da se bavim lijenim programiranjem i još uvijek dobijem uvjerljive animacije.
Alati/ostalo:
lemilica - koristi se za izradu dugih kablova za senzore, postavljanje zaglavlja na ploču, skupljanje skupljajućeg omota itd.
odvijač/utičnice/drugi auto -alati - potrebni za ugradnju senzora u automobil
dvostrana traka - za ugradnju mjerača u kućišta i ugradnju kućišta u automobil (vruće ljepilo i druge stvari bi mogle uspjeti, ali više volim 3M dvostranu vanjsku traku za ukrašavanje. Dobro se drži i može se skinuti bez oštećenja.)
škare - za traku i rezanje cijevi i patentnih zatvarača
patentni zatvarači - za držanje stvari zajedno, povezivanje žica ispod armature i u motornom prostoru, držanje senzora na mjestu itd.
Korak 1: Prvo kodirajte/Drugo hardver
Kôd možete preuzeti ovde:
Pritisak ulja -
Povećajte pritisak -
Povećajte pritisak s licima umjesto analognih mjerača pogleda -
Grafički kod: Knjižnica ThingPulse je toliko efikasna da možete crtati xbms jedan preko drugog i dobiti uvjerljive rezultate!
Slike mjerača zapravo su došle iz otvorenog skladišta grafike (https://thenounproject.com/). Umjetnik Iconic, CY (https://thenounproject.com/icon/490005/).
Koristio sam gimp za generiranje 20 različitih okvira s iglom usmjerenom prema svakoj oznaci. Ikone nasmijanog lica su NOVITA ASTRI, ID i nalaze se ovdje:
Zatim sam sve ovo pretvorio u const uint8_t nizove ovom tehnikom (savjet: ako su boje obrnute kada ih prikažete, samo obrnite boje na izvorniku): https://blog.squix.org/2015/05/esp8266- nodemcu-ho…
Kôd animacije uživo prilično je jasan:
- Očitajte sa senzora
- Očitavanje ljestvice (napravio sam 1 do 1 za pozitivne vrijednosti poticaja i pomaknuo iglu samo kada je u pojačanju, a ne kada je u vakuumu)
- Nacrtajte xbm, a zatim za sve ostalo zapišite brojčane znakove.
- isperite i ponovite
Kod senzora: Ponovno koristim kod senzora koji sam koristio za ova dva senzora za nekoliko drugih projekata. Dodao sam malo usrednjavanja kako bih se maknuo od skakavih senzora. To uključuje čitanje svakog "čitanja" u prosjeku 5 čitanja.
Boost code (senzor daje analogni val od 0-5 volti koji ADC pretvara u korake od 0-1024):
int getBoost () {float rboost = ((analogRead (36) + analogRead (36) + analogRead (36) + analogRead (36) + analogRead (36))/5); // plovak RezultatPSI = (rboost*(. 00488)/(. 022) +20) /6.89 - atmosfera; // napuštanje /6.89 za kpa float RezultatPSI = (((rboost /4095) + 0.04) /0.004) * 0.145 - atmosfera; // za 0,145 na calc psi // 4096 vrijednosti na esp32 /*rBoost = rBoost + 1; if (rBoost> = 20) {rBoost = 0; }*/ return (ResultPSI); }
Kôd pritiska ulja (senzor mijenja otpor na osnovu pritiska koji osjeti pa je potreban razdjelnik napona da bi se ovo pretvorilo u napon od 0-5 V vidi: https://electronics.stackexchange.com/questions/3…https:/ /www.instructables.com/id/Remote-Car-Monito…(do dna) za više informacija):
int getOilPSI () {float psival = ((analogRead (36) + analogRead (36) + analogRead (36) + analogRead (36) + analogRead (36))/5); psival = -0.0601*psival + 177.04 - 14.5; return psival; }
Funkcionalnost web servera i pristupne tačke: Funkcionalnost pristupne tačke je prilično jednostavna - napravite instancu i AP objekt sa ESSID -om koji želite da emitujete i lozinkom i spremni ste.
const char *ssid = "boost_gauge_ap"; const char *lozinka = "lozinka";
WiFi.softAP (ssid, lozinka);
Čak ima i DHCP server pa ne morate brinuti o tome. Prema zadanim postavkama, IP je 192.168.1.4 (nemam pojma zašto, to je ono što sam odabrao). Bit web servera je malo zeznutiji i zahtijeva malo istraživanja. U osnovi želite asinhroni web server kako bi mogao primati ažurirane podatke uživo. Na sreću postoji biblioteka za to. Nisam programer javascripta pa sam se petljao s hrpom grafikona i biblioteka grafikona sve dok nisam naletio na smoothie grafikone. Većina drugih biblioteka grafikona napisana je tako da nasljeđuje sve vrste koda iz drugih biblioteka sa cijelog weba koje se dinamički učitavaju prilikom prikazivanja stranice. Htio sam da ovo radi neovisno o internetu pa je ovo bilo veliko otkriće. Drugo, morao je biti dovoljno mali da stane na arduino i kao što vidite u kodu stane u jedan niz znakova.
Deklaracije web servera: #include AsyncTCP.h #include ESPAsyncWebServer.h… AsyncWebServer server (80); // instancirajte ga i odaberite port (80 je standard za http)… server.on ("/", HTTP_GET, (AsyncWebServerRequest *zahtjev) {request-> send (200, "text/html", "… // web stranica + biblioteka smoothiecharts u velikom nizu znakova}); server.on ("/val", HTTP_GET, (AsyncWebServerRequest *zahtjev) {// prva stranica zapravo poziva ovu vrlo malu stranicu koja samo vraća zahtjev za vrijednost -> send (200, "text/html", Sboost);}); server.begin ();
Korak 2: Hardver i ožičenje
Na slici u galeriji su dva senzora koja koristim. Veliki zlatne boje je senzor pritiska ulja Autometer 2242. Tijelo i navoj ovog senzora su uzemljeni, a terminal je očitanje otpora.
Autometar će vam pružiti krivulju otpornosti na pritisak ili otpornost na temperaturu za bilo koji od njihovih senzora. Pretvorio sam ovo u napon pomoću razdjelnika napona (pogledajte dijagram ožičenja).
Senzor pritiska zraka MPX4250AP ima tri igle pod naponom i nekoliko neiskorištenih pinova. To su V ulaz, uzemljenje i izlaz senzora. On daje očitavanje 0-5v koje može očitati mikrokontroler (ili u slučaju ovog mcu 0-3 volta. Dakle, očitanje senzora se smanjuje pomoću razdjelnika napona.). Tehnički list za to možete pronaći ovdje:
Postoji nekoliko problema pri smanjivanju logike sa 5v na 3v. U mom slučaju koristio sam razdjelnik napona radi jednostavnosti i imao sam dijelove oko radnog stola. Unećete malu grešku u očitavanja na osnovu moguće greške dodatnih komponenti (dva otpornika). Ovo bi u nekim slučajevima moglo učiniti vaša očitanja 10% popusta. Mogu živjeti s ovim. Ako ne možete, možda ćete htjeti upotrijebiti opamp i otpornike ili pretvarač logičkog nivoa (dostupno od različitih dobavljača elektronike. Sparkfun ima jedan ovdje: https://www.sparkfun.com/products/12009 Mogu se prebaciti na njega kao Ponekad dobijem visoka očitanja na ovom mjeraču (zapravo sam prikazao ovaj proizvod na dijagramu ožičenja).
Napajao sam ESP32 preko USB -a. To je uključivalo ožičenje izravnog punjača poput ovog: https://www.amazon.com/gp/product/B00U2DGKOK/ref=p… na automobil, a zatim pomoću USB čvorišta za njegovo razdvajanje. Možete vidjeti da sam koristio pravokutne USB kabele kako bih osigurao da sve radi na malom području (https://www.amazon.com/gp/product/B00ENZDFQ4/ref=p…).
Druge fotografije prikazuju mjesta gdje sam izrezao rupe ili žicu. Svaki automobil će biti drugačiji. Budite oprezni, noževi i škare su oštri, struja može biti opasna pa isključite bateriju prije ožičenja.
Korak 3: 3D štampano kućište
Za to sam koristio nekoliko 3D štampanih kućišta.
- Opći okrugli mjerač s 2 ekrana. To možete vidjeti na slikama prve stranice. Stavio sam ga pored sata na tabli.
- Jednosmjerni klinasti stil koji se uklapa u područje sata Subaru impreze (wrx, sti, itd.) Od približno 2008. do 2014.
- Komad dvostrukog profila koji pristaje na stupove upravljača i druge blago zaobljene površine:
Možete ih kopirati i izmijeniti kako bi odgovarali vašim potrebama. Nijedan od njih nije savršen i svi će zahtijevati malo prilagođavanja.
Neke napomene:
- Ja sam završio sa plastidipom; to je omiljena metoda lijenih.
- Brušenje plastike stvara sitne čestice koje nisu dobre za vas, koristite odgovarajuću masku.
- Koristio sam PETG za stanovanje. ABS je takođe dobar. PLA će se iskriviti na vrućem suncu na kontrolnoj tabli.
Druga nagrada u IoT izazovu
Preporučuje se:
5 kola LDR: zatvaranje, mjerači vremena, svjetlosni i tamni senzori: 3 koraka
5 kola LDR -a: Zatvaranje, mjerači vremena, svjetlosni i tamni senzori: Otpornik ovisan o svjetlu, poznat i kao LDR, je komponenta koja ima (promjenjivi) otpor koji se mijenja ovisno o intenzitetu svjetlosti koji na njega pada. To im omogućuje da se koriste u krugovima za osjetljivost svjetla. Ovdje sam pokazao pet jednostavnih krugova koji se mogu napraviti
Kako upravljati kućanskim aparatima pomoću daljinskog upravljača za TV sa funkcijom tajmera: 7 koraka (sa slikama)
Kako kontrolirati kućanske aparate s TV daljinskim upravljačem s funkcijom tajmera: Čak i nakon 25 godina od uvođenja na potrošačko tržište, infracrvena komunikacija posljednjih je dana i dalje vrlo aktualna. Bilo da se radi o vašem 55 -inčnom 4K televizoru ili zvučnom sistemu u automobilu, za sve je potreban IC daljinski upravljač kako bi odgovorio na naše
Domaći hladnjak sa funkcijom pametne kontrole (duboko zamrzivač): 11 koraka (sa slikama)
Domaći hladnjak sa funkcijom pametne kontrole (duboko zamrzivač): Pozdrav prijatelji, ovo je dio 2 DIY hladnjaka na bazi peltier modula, u ovom dijelu koristimo 2 peltier modula umjesto 1, također koristimo termički regulator za postavljanje željene temperature za uštedu malo energije
Robot voditelj sa funkcijom prepoznavanja glasa: 7 koraka (sa slikama)
Robot voditelj sa funkcijom prepoznavanja glasa: Robot voditelj je mobilni robot koji smo napravili da bismo vodili posjetitelje do različitih odjela u našem fakultetu. Uspjeli smo izgovoriti nekoliko unaprijed definiranih izjava i kretati se naprijed i nazad prema ulaznom glasu. Na našem fakultetu nemamo
Retro-CM3: Snažna igraća konzola s RetroPie funkcijom: 8 koraka (sa slikama)
Retro-CM3: Moćna igraća konzola sa RetroPie rukovanjem: Ova instrukcija je inspirisana adafruit-ovom PiGRRL Zero, Wermyjevom originalnom Gameboy Zero verzijom i GreatScottLab-ovom igraćom konzolom. Te igraće konzole zasnovane na RetroPie -u koriste jezgru maline pi zero (W) kao jezgru. ALI, nakon što sam sagradio nekoliko