Tartalomjegyzék:
- Kellékek
- 1. lépés: Első kód/Második hardver
- 2. lépés: Hardver és kábelezés
- 3. lépés: 3D nyomtatott ház
Videó: Wifi -kompatibilis OLED ESP32 autómérők: 3 lépés (képekkel)
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:41
Bevezetés először…
Autómérőket építek egyfajta újra és újra hobbiként. Lásd: https://www.instructables.com/id/Remote-Car-Monit… és https://www.instructables.com/id/Remote-Car-Monit… további két példaért. Különösen azokat szeretem, amelyek illeszkednek az autó eredeti alkatrészeihez. Tehát miért más ez, és mi inspirált arra, hogy megépítsem. A válasz két dolog:
1) ESP32 - Ki akartam próbálni az új kölyköt a blokk chipen, különösen azért, mert az arduino -alapú eszközlánc meglehetősen kiforrott. Az egyik érdekes dolog, amit az ESP32 lehetővé tesz, az IOT a beépített wifi és bluetooth képességekkel. A közösség több könyvtárat írt, hogy ezt némileg egyszerűvé tegye (webszerverek, AP -k, wifi -ügyfelek, mDNS stb., Stb.).
2) Olcsó OLED képernyők - Még 2007 -ben készítettem egy mérőt egy TFT segítségével, amely az óra helyén állt egy GD (2004-2007) WRX -en. A TFT különböző ízekben kapható. Vannak, akik jobban dolgoznak éjszaka, vannak, akik nappal, stb. De egyik sem működik minden körülmények között. Észre sem vettem az útjaim hibáját, amíg az egyik használt mérőeszköz használhatatlanná vált egy fórumtag napsütéses pályán. Lépjen be az OLED -be, amelyek fantasztikusak az autóipari alkalmazásokhoz. Éjszaka nem túl fényesek, és (ami még fontosabb) a legtöbb napfényben láthatók.
Ez kettő az egy számára tanulságos, mivel mindent írtam két közös autómérőhöz, az olajnyomáshoz és a turbónyomáshoz. Mindkettő lényegében ugyanaz: egy kicsi alakmérő, analóg megjelenésű, animált OLED kijelzővel, diszkrét számokkal és maximumokkal. Mindkettő wifi AP -ként és webszerverként is működik. Amikor számítógépen vagy mobiltelefonon keresztül csatlakozik hozzájuk, megjelenik egy mozgó EKG -stílus diagram (ez a kissé innovatív rész).
Kellékek
HELTEC ESP32 modul-szerezze be a wifi változatot
Olajnyomás -specifikus alkatrészek:
Olajnyomás -érzékelő - egy 5222 -es automter 5222 -es olajnyomás -érzékelő csatlakozóalkatrészeket használtam - ez autó és telepítési hely függvényében változik. Kérjük, olvassa el a szervizelési kézikönyveket, fórumokat, technikai eszközöket stb., És tegye ezt helyesen, hogy ne legyen olajszivárgás
Nyomásmérő specifikus részei:
- Légnyomás -érzékelő (csak ha nyomásfokozót szeretne készíteni) -
- Légtömlő
- T szerelvények
Az általam használt könyvtárak, amelyek nélkülözhetetlenek voltak:
Smoothiecharts - https://smoothiecharts.org/ Kiváló és könnyű élő frissítési diagramok. Nagyon testreszabható, és nem támaszkodik a js könyvtár hivatkozására máshol az interneten. Ez lehetővé teszi a „local-IOT” típusú beállításokat, és a teljes könyvtár egyetlen karakterláncba illeszkedik a webkiszolgáló kódkódjában!
Az ESPAsyncWebServer -https://github.com/me-no-dev/ESPAsyncWebServer- azt teszi, amit a dobozon ír, és jól teszi
ThingPulse OLED grafikus könyvtár (néha hívjuk a squix könyvtárnak) - https://github.com/ThingPulse/esp8266-oled-ssd130… - nagyon hatékony és egyszerű grafika az ESP chipekhez. Megengedte, hogy lusta programozást végezzek, és továbbra is meggyőző animációkat kapjak.
Eszközök/egyéb:
forrasztópáka - hosszú kábelvezetékek készítésére szolgál az érzékelők számára, fejlécek felszerelése a fedélzetre, zsugorodó zsugorpapír stb.
csavarhúzó/foglalatok/egyéb autós szerszámok - szükségesek az érzékelők autóba történő beszereléséhez
kétoldalas szalag - mérők felszerelése a házakba és a ház felszerelése az autóba (forró ragasztó és egyéb dolgok működhetnek, de én inkább a 3M kétoldalas külső díszítőszalagot részesítem előnyben. Jól tart, és károsodás nélkül lehúzható.)
olló - szalaghoz és csővágáshoz és cipzárhoz
cipzár - a dolgok összefogásához, a vezetékek kötéséhez a műszerfal alatt és a motortérben, az érzékelők helyben tartásához stb.
1. lépés: Első kód/Második hardver
A kód innen tölthető le:
Olajnyomás -
Növelje a nyomást -
Növelje a nyomást arcokkal az analóg megjelenésmérők helyett -
Grafikus kód: A ThingPulse könyvtár annyira hatékony, hogy xbms -t rajzolhat egymásra, és meggyőző eredményeket érhet el!
A mérőképek valójában egy nyílt forráskódú grafikai tárolóból származtak (https://thenounproject.com/). A művész Iconic, CY (https://thenounproject.com/icon/490005/).
A gimp segítségével 20 különböző keretet generáltam úgy, hogy a tű minden kullancsjelre mutatott. A mosolygó arc ikonok NOVITA ASTRI, ID, és itt vannak:
Ezután ezeket a módszereket konvertáltam uint8_t tömbökbe (tipp: ha a megjelenítéskor a színek megfordulnak, csak fordítsa meg az eredeti színeit): https://blog.squix.org/2015/05/esp8266- bólintás…
Az élő animációs kód meglehetősen egyszerű:
- Olvassa el az érzékelőt
- Skálaolvasás (1 -től 1 -ig állítottam be a pozitív boost értékeket, és csak akkor mozgassa a tűt, amikor erősítés van, nem pedig vákuumban)
- Rajzoljon xbm -et, majd tegyen le számkaraktereket minden máshoz.
- öblítse le és ismételje meg
Érzékelő kód: A két érzékelőhöz használt érzékelő kódot újra felhasználom néhány más projekthez. Hozzáadtam néhány átlagolást, hogy elkerüljem az ugráló érzékelőket. Ebbe beletartozik az is, hogy minden „olvasás” átlagosan 5 olvasás.
Fokozási kód (az érzékelő 0-5 voltos analóg értéket ad, amelyet az ADC 0-1024 lépésre változtat):
int getBoost () {float rboost = ((analogRead (36) + analogRead (36) + analogRead (36) + analogRead (36) + analogRead (36))/5); // float ResultPSI = (rboost*(. 00488)/(. 022) +20)/6.89 - atmo; // a /6.89 elhagyása kpa float esetén ResultPSI = ((((rboost /4095) + 0.04) /0.004) * 0.145 - atmo; // 0,145 -tel a psi kiszámításához // 4096 érték az esp32 /*rBoost = rBoost + 1; ha (rBoost> = 20) {rBoost = 0; }*/ return (ResultPSI); }
Olajnyomás-kód (az érzékelő az általa érzékelt nyomás alapján változtatja ellenállását, ezért feszültségosztó szükséges ahhoz, hogy ezt 0-5 V közötti feszültséggé alakítsa át: lásd: https://electronics.stackexchange.com/questions/3…https:/ /www.instructables.com/id/Remote-Car-Monito …… (az aljára) további információért):
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; }
Webkiszolgáló és AP funkció: Az AP funkció meglehetősen egyszerű - példányosítson és AP objektumot a sugárzni kívánt ESSID azonosítóval és jelszóval, és már indulhat is.
const char *ssid = "boost_gauge_ap"; const char *password = "jelszó";
WiFi.softAP (ssid, jelszó);
Még DHCP szervere is van, így nem kell aggódnia. Alapértelmezés szerint az IP 192.168.1.4 (fogalma sincs miért, csak ezt választotta). A webszerver kicsit bonyolultabb, és némi kutatást igényel. Alapvetően aszinkron webszervert szeretne, hogy élő frissítési adatokat kaphasson. Szerencsére van könyvtár erre. Nem vagyok javascript fejlesztő, ezért egy csomó grafikon- és grafikonkönyvtárral bütyköltem, amíg rá nem akadtam a turmixlistákra. A legtöbb többi diagramozó könyvtár úgy van megírva, hogy mindenféle kódot örököl a web más könyvtáraiból, amelyek dinamikusan betöltődnek az oldal megjelenítésekor. Azt akartam, hogy ez az internettől függetlenül működjön, így ez nagy felfedezés volt. Másodszor elég kicsi volt, hogy elférjen egy arduino -n, és amint a kódból látható, egyetlen karakter tömbbe illeszkedik.
Webszerver deklarációk: #include AsyncTCP.h #include ESPAsyncWebServer.h… AsyncWebServer szerver (80); // példányosítsa és válassza ki a portot (a 80 a http szabvány)… server.on ("/", HTTP_GET, (AsyncWebServerRequest *kérés) {request-> send (200, "text/html", "… // a weboldal + a smoothiecharts könyvtár hatalmas karakter tömbben}); server.on ("/val", HTTP_GET, (AsyncWebServerRequest *kérés) {// az első oldal valójában ezt a nagyon kis oldalt hívja, amely csak az értékkérést adja vissza -> send (200, "text/html", Sboost);}); server.begin ();
2. lépés: Hardver és kábelezés
A képen a galériában látható az általam használt két érzékelő. A nagy arany színű egy Autometer 2242 olajnyomás -érzékelő. Ennek az érzékelőnek a teste és menete földelt, a terminál pedig az ellenállás leolvasása.
Az Autométer bármelyik érzékelőjének nyomással vagy hőmérséklettel szembeni ellenállási görbéjét biztosítja. Ezt feszültségosztó segítségével alakítottam át feszültséggé (lásd a kapcsolási rajzot).
Az MPX4250AP légnyomás -érzékelőnek három feszültség alatti csapja és több nem használt csapja van. Ezek V bemenet, föld és érzékelő kimenet. 0-5v leolvasást ad ki, amelyet a mikrokontroller ki tud olvasni (vagy ebben az esetben 0-3 volt mcu. Tehát az érzékelő leolvasása feszültségosztó segítségével csökken.) A specifikációs lap itt található:
Számos probléma merül fel az 5V -ról a 3V -ra történő csökkentéskor. Esetemben az egyszerűség kedvéért a feszültségosztót használtam, és az alkatrészek a munkapad körül voltak. Egy kis hibát vezet be a leolvasásokba a további komponensek (a két ellenállás) lehetséges hibája alapján. Ez egyes esetekben 10% -os kedvezményt jelenthet a leolvasott értékekkel. Ezzel együtt tudok élni. Ha nem tudja, akkor opamp -et és ellenállásokat vagy logikai szint -átalakítót szeretne használni (különböző elektronikai gyártóktól beszerezhető. A Sparkfun rendelkezik itt: https://www.sparkfun.com/products/12009 Néha magas értékeket kapok ezen a mérőn (valójában ezt a terméket a kapcsolási rajzon mutattam be).
Az ESP32 -eseket USB -n keresztül tápláltam. Ebbe beletartozott az is, hogy a következőhöz hasonló közvetlen töltőt kell bekötni: https://www.amazon.com/gp/product/B00U2DGKOK/ref=p… az autóba, majd egy USB -elosztó segítségével felosztani. Láthatja, hogy derékszögű USB -kábeleket használtam annak biztosítására, hogy minden kis területen működjön (https://www.amazon.com/gp/product/B00ENZDFQ4/ref=p…).
Más fényképeken olyan helyek láthatók, ahol lyukakat vágtam vagy drótot futtattam. Minden autó más lesz. Legyen óvatos, a kések és ollók élesek, az áram veszélyes lehet, ezért kérjük, húzza ki az akkumulátort, mielőtt beköti a dolgokat.
3. lépés: 3D nyomtatott ház
Ehhez több 3D nyomtatott házat használtam.
- Általános nagyméretű, 2 képernyős kerek mérő. Ezt láthatja az első oldal képein. Az órám mellé tettem a műszerfalra.
- Egyméretű ék stílusú, amely elfér a Subaru Impreza (wrx, sti, stb.) Óraterében körülbelül 2008 és 2014 között.
- Kettős nyomtávú darab, amely illeszkedik a kormánykerék oszlopaira és más enyhén lekerekített felületekre:
Szívesen másolja és módosítsa ezeket az igényeinek megfelelően. Egyik sem tökéletes, és mindegyikük némi kiigazítást igényel.
Néhány megjegyzés:
- Az enyémet plasztidippel fejeztem be; ez a lusták preferált módszere.
- A csiszoló műanyagok finom részecskéket képeznek, amelyek nem jóak az Ön számára, használjon megfelelő maszkot.
- A házamhoz PETG -t használtam. Az ABS is jó. A PLA a forró napsütésben a műszerfalon vetemedik.
Második díj az IoT Challenge -ben
Ajánlott:
ESP32 TTGO WiFi jelerősség: 8 lépés (képekkel)
ESP32 TTGO WiFi jelerősség: Ebben az oktatóanyagban megtanuljuk, hogyan kell megjeleníteni a WiFi hálózati jelerősséget az ESP32 TTGO kártya használatával. Nézze meg a videót
Első lépések az ESP32 -vel - ESP32 táblák telepítése Arduino IDE - -be ESP32 villogó kód: 3 lépés
Első lépések az ESP32 -vel | ESP32 táblák telepítése Arduino IDE | -be ESP32 villogó kód: Ebben az utasításban látni fogjuk, hogyan kell elkezdeni az esp32 -vel való munkát, és hogyan kell telepíteni az esp32 táblákat az Arduino IDE -be, és beprogramozzuk az esp 32 -et, hogy futtassa a villogó kódot az arduino ide használatával
ESP32 és OLED kijelző: Internet óra - DHT22: 10 lépés (képekkel)
ESP32 és OLED Kijelző: Internet óra - DHT22: Ez az Instructable versenyez a versenyen: "GIF Challenge 2017", Ha tetszik, kérjük, szavazzon a fenti bannerre kattintva. Köszönöm szépen!;-) Ez az oktatóanyag egy utazás folytatása, hogy többet megtudjon erről a nagyszerű IoT eszközről
ESP32 WiFi időjárás állomás BME280 érzékelővel: 7 lépés (képekkel)
ESP32 WiFi meteorológiai állomás BME280 érzékelővel: Kedves barátaink, üdvözöljük egy újabb oktatóanyagban! Ebben az oktatóanyagban WiFi -kompatibilis időjárás -állomás projektet fogunk építeni! Először fogjuk használni az új, lenyűgöző ESP32 chipet a Nextion kijelzővel együtt. Ebben a videóban megyünk
Az ESP32 használata a LED vezérléséhez Blynk segítségével WiFi -n keresztül: 7 lépés (képekkel)
Az ESP32 használata a LED vezérléséhez Blynk segítségével WiFi -n keresztül: Ez az oktatóanyag az ESP32 fejlesztői táblát fogja használni a LED vezérléséhez Blynk segítségével WiFi -n keresztül. A Blynk egy platform iOS és Android alkalmazásokkal az Arduino, a Raspberry Pi és a kedvelők interneten keresztüli vezérlésére. Ez egy digitális műszerfal, ahol egy