Innholdsfortegnelse:
- Rekvisita
- Trinn 1: Kode først/maskinvare for det andre
- Trinn 2: Maskinvare og ledninger
- Trinn 3: 3D -trykt hus
Video: Wifi -aktivert OLED ESP32 bilmålere: 3 trinn (med bilder)
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:23
Innledninger først …
Jeg bygger bilmålere som en slags på og av igjen hobby. Se https://www.instructables.com/id/Remote-Car-Monit… og https://www.instructables.com/id/Remote-Car-Monit… for to nyere eksempler. Jeg liker spesielt de som blander seg med de originale delene av bilen. Så hvorfor er denne annerledes og hva inspirerte meg til å bygge den. Svaret er to ting:
1) ESP32 - Jeg ønsket å prøve den nye gutten på blokkbrikken, spesielt siden den arduino -baserte verktøykjeden for den er ganske moden. En av de interessante tingene som ESP32 muliggjør er IOT med sine innebygde wifi- og bluetooth -funksjoner. Samfunnet har skrevet flere biblioteker for å gjøre dette litt enkelt (webservere, AP -er, wifi -klienter, mDNS, etc., etc.).
2) Billige OLED -skjermer - Tilbake i 2007 laget jeg en måler ved hjelp av en TFT som satt i stedet for klokken på en GD (2004-2007) WRX. TFT kommer i forskjellige smaker. Noen fungerer bedre om natten, noen fungerer bedre om dagen osv. Men ingen av dem fungerer under alle forhold. Jeg skjønte ikke feilen på mine måter før en av målerne jeg brukte var ubrukelig under et forummedlems solfylte spordag. Skriv inn OLED, som er fantastiske for bilapplikasjoner. De er ikke for lyse om natten og (enda viktigere) er synlige i de fleste sollysforhold.
Dette er en to for en instruerbar da jeg skrev alt for to vanlige bilmålere, oljetrykk og turbotrykk. Begge er i hovedsak det samme: en liten formfaktormåler med en animert analog OLED-skjerm med diskrete tall og maksimum som vises. Begge fungerer også som wifi AP -er og webservere. Når man kobler seg til dem via en datamaskin eller mobiltelefon, kan du se et EKG -type diagram i bevegelse (dette er den litt innovative delen).
Rekvisita
HELTEC ESP32-modul-få wifi-varianten
Oljetrykksspesifikke deler:
Oljetrykksensor - Jeg brukte en automter 5222 Oljetrykksensor tilkoblingsdeler - dette varierer etter bil og installasjonssted. Vennligst se servicehåndbøker, forum, mekanikk osv. Og gjør dette riktig slik at det ikke er oljelekkasjer
Øk måler spesifikke deler:
- Lufttrykksensor (bare hvis du ønsker å lage en boost -måler) -
- Luftslange
- T beslag
Biblioteker jeg brukte som var uunnværlige:
Smoothiecharts - https://smoothiecharts.org/ Utmerkede og lette liveoppdateringskart. Veldig tilpassbar og stoler ikke på å referere til et js -bibliotek et annet sted på internett. Dette gir mulighet for et oppsett av "lokal-IOT" -type og hele biblioteket passer i én streng for webservererklæringen i kode!
ESPAsyncWebServer -https://github.com/me-no-dev/ESPAsyncWebServer- gjør det den sier på esken og gjør det bra
ThingPulse OLED grafikkbibliotek (noen ganger kaller du squix -biblioteket) - https://github.com/ThingPulse/esp8266-oled-ssd130… - veldig effektiv og grei grafikk for ESP -brikkene. Tillot meg å gjøre litt lat programmering og fremdeles få overbevisende animasjoner.
Verktøy/diverse:
loddejern - brukes til å lage lange kabelgjennomføringer for sensorer, installere hoder ombord, krympe krympeomslag etc.
skrutrekker/stikkontakter/annet bilverktøy - nødvendig for å installere sensorer på bilen
dobbeltsidig tape - for å installere målere i hus og installere hus i bil (varmt lim og andre ting kan fungere, men jeg foretrekker 3M dobbeltsidig ytre trimbånd. Den holder godt og kan trekkes av uten å skade ting.)
saks - for tape og kutting av slanger og glidelåser
glidelåser - for å holde ting sammen, binde ledninger under dashbordet og i motorrommet, holde sensorer på plass, etc.
Trinn 1: Kode først/maskinvare for det andre
Koden kan lastes ned her:
Oljetrykk -
Øk trykket -
Øk trykket med ansikter i stedet for analoge blikkmålere -
Grafikkode: ThingPulse -biblioteket er så veldig effektivt at du kan tegne xbms rett oppå hverandre og få overbevisende resultater!
Målerbildene kom faktisk fra et åpen kildekode -grafikklager (https://thenounproject.com/). Artisten Iconic, CY (https://thenounproject.com/icon/490005/).
Jeg brukte gimp til å generere 20 forskjellige rammer med nålen pekende på hvert kryss. Smilefjesikonene er av NOVITA ASTRI, ID og er her:
Deretter konverterte jeg alt til const uint8_t-matriser ved hjelp av denne teknikken (hint: hvis fargene er invertert når du viser dem, bare snu fargene på originalen): https://blog.squix.org/2015/05/esp8266- nodemcu-ho …
Live animasjonskode er ganske grei:
- Få lesing fra sensoren
- Skala avlesning (jeg gjorde det 1 til 1 for positive boost -verdier og bare beveger nålen når den er i boost, ikke når den er i vakuum)
- Tegn xbm og legg deretter ned talltegn for alt annet.
- skyll og gjenta
Sensorkode: Jeg bruker sensorkode jeg har brukt for disse to sensorene til noen få andre prosjekter. Jeg la til noen gjennomsnitt for å komme vekk fra hoppende sensorer. Dette inkluderer at hver "lesing" er gjennomsnittlig 5 avlesninger.
Boost-kode (sensor gir en analog verdi fra 0-5 volt som ADC blir til trinn fra 0-1024):
int getBoost () {float rboost = ((analogRead (36) + analogRead (36) + analogRead (36) + analogRead (36) + analogRead (36))/5); // float ResultatPSI = (rboost*(. 00488)/(. 022) +20) /6,89 - atmo; // permisjon av /6,89 for kpa float ResultatPSI = (((rboost /4095) + 0,04) /0,004) * 0,145 - atmo; // med 0.145 for å beregne psi // 4096 verdier på esp32 /*rBoost = rBoost + 1; hvis (rBoost> = 20) {rBoost = 0; }*/ retur (ResultPSI); }
Oljetrykkskode (sensoren varierer motstanden basert på trykket den registrerer, så det kreves en spenningsdeler for å gjøre denne til en spenning fra 0-5v se: https://electronics.stackexchange.com/questions/3…https:/ /www.instructables.com/id/Remote-Car-Monito … (mot bunnen) for mer informasjon):
int getOilPSI () {float psival = ((analogRead (36) + analogRead (36) + analogRead (36) + analogRead (36) + analogRead (36))/5); psival = -0,0601*psival + 177,04 - 14,5; retur psival; }
Webserver og AP -funksjonalitet: AP -funksjonalitet er ganske enkel - instantier og AP -objekt med ESSID du vil kringkaste og passordet, og du er god til å gå.
const char *ssid = "boost_gauge_ap"; const char *passord = "passord";
WiFi.softAP (ssid, passord);
Den har til og med en DHCP -server, slik at du ikke trenger å bekymre deg for det. Som standard er IP -adressen 192.168.1.4 (aner ikke hvorfor, det er akkurat det du valgte). Nettserverbiten er litt vanskeligere og krevde litt forskning. I utgangspunktet vil du ha en asynkisk webserver, slik at den kan få oppdaterte data live. Heldigvis finnes det et bibliotek for det. Jeg er ikke en javascript -utvikler, så jeg puslet med en haug med kartbibliotek til jeg snublet over smoothie -diagrammer. De fleste andre kartbiblioteker er skrevet slik at de arver alle typer kode fra andre biblioteker fra hele nettet som lastes dynamisk når en side gjengis. Jeg ville at dette skulle fungere uavhengig av internett, så dette var et stort funn. For det andre måtte den være liten nok til at den passet på en arduino, og som du kan se i koden, passer den i en enkelt røye.
Webservererklæringer: #include AsyncTCP.h #include ESPAsyncWebServer.h… AsyncWebServer server (80); // øyeblikkelig og velg port (80 er standard for http) … server.on ("/", HTTP_GET, (AsyncWebServerRequest *forespørsel) {request-> send (200, "text/html", "… // websiden + smoothiecharts -biblioteket i et stort char -array}); server.on ("/val", HTTP_GET, (AsyncWebServerRequest *forespørsel) {// den første siden kaller faktisk denne veldig lille siden som bare returnerer verdiforespørselen -> send (200, "text/html", Sboost);}); server.begin ();
Trinn 2: Maskinvare og ledninger
Avbildet i galleriet er de to sensorene jeg bruker. Den store gullfargede er en Autometer 2242 oljetrykksensor. Kroppen og tråden til denne sensoren er slipt og terminalen er avlesningen i motstand.
Autometer vil gi deg en kurve av motstand mot trykk eller motstand mot temperatur for noen av deres sensorer. Jeg har konvertert dette til spenning ved hjelp av en spenningsdeler (se koblingsskjema).
MPX4250AP lufttrykksensor har tre strømførende pinner og flere ubrukte pinner. De er V i, bakken og sensorutgang. Den sender ut en 0-5v avlesning som kan leses av mikrokontrolleren (eller i tilfellet med denne mcu 0-3 volt. Så blir sensoravlesningen skalert ned ved hjelp av en spenningsdeler.). Spesifikasjonsarket for det finner du her:
Det er flere problemer med å nedskalere fra 5v til 3v logikk. I mitt tilfelle brukte jeg spenningsdeleren for enkelhet, og jeg hadde delene rundt arbeidsbenken min. Du vil introdusere en liten feil i avlesningene basert på den mulige feilen i tilleggskomponentene (de to motstandene). Dette kan gjøre avlesningene dine 10% rabatt i noen tilfeller. Jeg kan leve med dette. Hvis du ikke kan, kan du bruke en opamp og motstander eller en logisk nivåomformer (tilgjengelig fra forskjellige elektronikkleverandører. Sparkfun har en her: https://www.sparkfun.com/products/12009 Jeg kan bytte til den som Noen ganger får jeg høye målinger på denne måleren (faktisk har jeg vist dette produktet på koblingsskjemaet mitt).
Jeg drev ESP32 via USB. Dette inkluderte å koble en direkte lader som denne: https://www.amazon.com/gp/product/B00U2DGKOK/ref=p… til bilen og deretter bruke en USB -hub for å dele den ut. Du kan se at jeg brukte rettvinklede usb -kabler for å sikre at alt fungerer i et lite område (https://www.amazon.com/gp/product/B00ENZDFQ4/ref=p…).
Andre bilder viser steder jeg kuttet hull eller kjørte wire. Hver bil vil være annerledes. Vær forsiktig, kniver og saks er skarpe, elektrisitet kan være farlig, så koble fra batteriet før du kobler til ting.
Trinn 3: 3D -trykt hus
Jeg har brukt flere 3D -trykte hus til dette.
- En generisk stor 2 -skjerms rundmåler. Du kan se dette på disse bildene på den første siden. Jeg la den ved siden av klokken min på dashbordet.
- En kilemåler som passer i klokkeområdet til en subaru impreza (wrx, sti, etc.) fra ca. 2008 til 2014.
- Et stykke med to målere som passer på rattstammene og andre lett avrundede overflater:
Du er velkommen til å kopiere og endre disse for å passe dine behov. Ingen av dem er perfekte, og de vil alle kreve litt justering.
Noen notater:
- Jeg avsluttet min med plastidip; det er den foretrukne metoden for late.
- Sliping av plast gir fine partikler som ikke er bra for deg, bruk en passende maske.
- Jeg brukte PETG til husene mine. ABS er også bra. PLA vil skje i den varme solen på et dashbord.
Andre pris i IoT Challenge
Anbefalt:
Ta og send bilder med ESP32-Cam ved hjelp av ESP8266 WeMos D1 R1 Wifi-prosessor med Uno: 7 trinn
Ta og send bilder med ESP32-Cam ved hjelp av ESP8266 WeMos D1 R1 Wifi-prosessor med Uno: Ta bilde med ESP32-Cam (OV2640) ved hjelp av ESP8266 WeMos D1 R1 WiFI-prosessor med Uno og send det til e-post, lagre det på Google Drive og send det til Whatsapp ved bruk av Twilio. Krav: ESP8266 WeMos D1 R1 WiFI -prosessor med Uno (https: // protosupplies
Slik demonterer du en datamaskin med enkle trinn og bilder: 13 trinn (med bilder)
Slik demonterer du en datamaskin med enkle trinn og bilder: Dette er en instruksjon om hvordan du demonterer en PC. De fleste grunnkomponentene er modulære og fjernes lett. Det er imidlertid viktig at du er organisert om det. Dette vil bidra til å hindre deg i å miste deler, og også i å gjøre monteringen igjen
ESP32 og OLED -skjerm: Internett -klokke - DHT22: 10 trinn (med bilder)
ESP32 og OLED -skjerm: Internett -klokke - DHT22: This Instructable konkurrerer om konkurranse: " GIFs Challenge 2017 ", Hvis du liker det, vennligst gi din stemme ved å klikke på banneret ovenfor. Tusen takk!;-) Denne opplæringen er en fortsettelse av en reise for å lære mer om denne flotte IoT-enheten
ESP32 WiFi værstasjon med en BME280 -sensor: 7 trinn (med bilder)
ESP32 WiFi værstasjon med en BME280 -sensor: Kjære venner, velkommen til en annen opplæring! I denne opplæringen skal vi bygge et WiFi -aktivert værstasjonsprosjekt! Vi skal bruke den nye, imponerende ESP32 -brikken for første gang sammen med en Nextion -skjerm. I denne videoen skal vi
Hvordan bruke ESP32 til å kontrollere LED med Blynk Via WiFi: 7 trinn (med bilder)
Slik bruker du ESP32 til å kontrollere LED med Blynk Via WiFi: Denne opplæringen skal bruke ESP32 utviklingsbord for å kontrollere LED med Blynk via WiFi. Blynk er en plattform med iOS- og Android -apper for å kontrollere Arduino, Raspberry Pi og lignende over Internett. Det er et digitalt dashbord hvor du kan bygge et