Sisällysluettelo:
- Tarvikkeet
- Vaihe 1: Koodi ensin/Laitteisto toinen
- Vaihe 2: Laitteisto ja johdotus
- Vaihe 3: 3D -tulostettu kotelo
Video: Wifi -yhteensopivat OLED ESP32 -automittarit: 3 vaihetta (kuvilla)
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:01
Esittely ensin …
Rakennan auton mittareita eräänlaisena uudelleen ja pois harrastuksena. Katso https://www.instructables.com/id/Remote-Car-Monit… ja https://www.instructables.com/id/Remote-Car-Monit… kaksi uutta esimerkkiä. Pidän erityisesti niistä, jotka sulautuvat auton alkuperäisiin osiin. Joten miksi tämä on erilainen ja mikä inspiroi minua rakentamaan sen. Vastaus on kaksi asiaa:
1) ESP32 - Halusin kokeilla uutta lasta lohkosirulla, varsinkin kun arduino -pohjainen työkaluketju on melko kypsä. Yksi mielenkiintoisista asioista, jonka ESP32 mahdollistaa, on IOT sen sisäänrakennetuilla wifi- ja bluetooth -ominaisuuksilla. Yhteisö on kirjoittanut useita kirjastoja tämän tekemiseksi hieman yksinkertaiseksi (verkkopalvelimet, tukiasemat, wifi -asiakkaat, mDNS jne. Jne.).
2) Halvat OLED -näytöt - Vuonna 2007 tein mittarin TFT: llä, joka istui GD (2004-2007) WRX: n kellon sijaan. TFT: tä on saatavana eri makuisena. Jotkut toimivat paremmin yöllä, toiset paremmin päivällä jne. Mutta mikään niistä ei toimi kaikissa olosuhteissa. Tajusin toimintatapani virheen, ennen kuin yksi käyttämistäni mittareista oli hyödytön foorumin jäsenen aurinkoisen radapäivän aikana. Anna OLED, joka on loistava autoteollisuudelle. Ne eivät ole liian kirkkaita yöllä ja (mikä tärkeintä) näkyvät useimmissa auringonvalo -olosuhteissa.
Tämä on kaksi yhdelle opettavainen, koska kirjoitin kaiken kahdelle yleiselle auton mittarille, öljynpaineelle ja turbopaineelle. Molemmat ovat pohjimmiltaan sama asia: pieni muotoilumittari, jossa on animoitu analoginen OLED-näyttö, jossa on erilliset numerot ja maksimit. Molemmat toimivat myös wifi -tukiasemina ja verkkopalvelimina. Kun muodostat yhteyden niihin tietokoneen tai matkapuhelimen kautta, liikkuva EKG -tyylikaavio on näkyvissä (tämä on hieman innovatiivinen osa).
Tarvikkeet
HELTEC ESP32 -moduuli-hanki wifi-versio
Öljynpaineeseen liittyvät osat:
Öljynpaineanturi - Käytin automter 5222 Öljynpaineanturin kytkentäosia - tämä vaihtelee auton ja asennuspaikan mukaan. Tutustu huolto -oppaisiin, foorumeihin, mekaanisiin laitteisiin jne. Ja tee tämä oikein, jotta öljyvuotoja ei esiinny
Vahvistimen erityiset osat:
- Ilmanpaineanturi (vain jos haluat tehdä painemittarin) -
- Ilmaletku
- T -liittimet
Käyttämäni kirjastot, jotka olivat välttämättömiä:
Smoothiecharts - https://smoothiecharts.org/ Erinomaiset ja kevyet päivitettävät kaaviot. Erittäin muokattavissa eikä luota viittaamiseen js -kirjastoon muualla Internetissä. Tämä mahdollistaa "local-IOT" -tyyppisen asennuksen ja koko kirjasto mahtuu yhdeksi merkkijonoksi verkkopalvelimen lausunnossa koodissa!
ESPAsyncWebServer -https://github.com/me-no-dev/ESPAsyncWebServer- tekee mitä laatikossa lukee ja tekee sen hyvin
ThingPulse OLED -grafiikkakirjasto (joskus kutsutaan myös squix -kirjastoksi) - https://github.com/ThingPulse/esp8266-oled-ssd130… - erittäin tehokas ja suoraviivainen grafiikka ESP -siruille. Sallin minun tehdä laiska ohjelmointi ja silti saada vakuuttavia animaatioita.
Työkalut/muut:
juotosrauta - käytetään pitkien kaapeleiden suorittamiseen antureille, otsikoiden asentamiseen alukseen, kutistemuoviin jne.
ruuvimeisseli/pistorasiat/muut auton työkalut - tarvitaan anturien asentamiseen autoon
kaksipuolinen teippi - mittareiden asentamiseen koteloihin ja kotelon asentamiseen autoon (kuuma liima ja muut asiat saattavat toimia, mutta pidän parempana 3M: n kaksipuolista ulkovaippaa. Se pysyy hyvin ja voidaan irrottaa vahingoittamatta esineitä.)
sakset - teipille ja leikkausputkille ja vetoketjuille
vetoketjut - tavaroiden pitämiseen yhdessä, johtojen niputtamiseen kojelaudan alle ja moottoritilaan, antureiden pitämiseen paikalla jne.
Vaihe 1: Koodi ensin/Laitteisto toinen
Koodin voi ladata täältä:
Öljynpaine -
Boost Pressure -
Lisää painetta kasvoilla analogisten ilmeiden sijaan -
Grafiikkakoodi: ThingPulse -kirjasto on niin tehokas, että voit piirtää xbms suoraan päällekkäin ja saada vakuuttavia tuloksia!
Mittarikuvat tulivat itse asiassa avoimen lähdekoodin grafiikkavarastosta (https://thenounproject.com/). Taiteilija Iconic, CY (https://thenounproject.com/icon/490005/).
Käytin gimp -ohjelmaa luodakseni 20 eri kehystä neula osoittaa jokaiseen rastiin. Hymiökuvakkeet ovat NOVITA ASTRI, ID ja ne ovat täällä:
Sitten muutin nämä kaikki Const uint8_t -matriiseiksi tällä tekniikalla (vihje: jos värit ovat käänteisiä, kun ne näytetään, käännä vain alkuperäisen värit): https://blog.squix.org/2015/05/esp8266- nodemcu-ho…
Live -animaatiokoodi on melko yksinkertainen:
- Hanki lukema anturista
- Asteikko (tein 1: 1 positiivisille tehostusarvoille ja liikuta neulaa vain silloin, kun se on tehostettuna, ei tyhjiössä)
- Piirrä xbm ja kirjoita sitten numeromerkit kaikkeen muuhun.
- huuhtele ja toista
Anturikoodi: Käytän uudelleen näille kahdelle anturille käyttämääni anturikoodia muutamiin muihin projekteihin. Lisäsin jonkin verran keskiarvoa päästäkseni eroon hyppäävistä antureista. Tämä sisältää jokaisen "lukemisen" lukemisen keskimäärin 5 lukemaa.
Tehostuskoodi (anturi antaa analogisen arvon 0-5 voltista, jonka ADC muuttaa vaiheiksi 0-1024):
int getBoost () {float rboost = ((analogRead (36) + analogRead (36) + analogRead (36) + analogRead (36) + analogRead (36))/5); // float ResultPSI = (rboost*(.00488)/(.022) +20) /6.89 - atmo; // /6.89: n jättö kpa: n uimurille Tulos PSI = ((((rboost /4095) + 0.04) /0.004) * 0.145 - atmo; // 0,145 laskea psi // 4096 arvoa esp32 /*rBoost = rBoost + 1; jos (rBoost> = 20) {rBoost = 0; }*/ return (ResultPSI); }
Öljynpainekoodi (anturi muuttaa vastustaan sen havaitseman paineen perusteella, joten jännitteenjakaja vaaditaan muuttamaan tämä jännitteeksi 0-5v, katso: https://electronics.stackexchange.com/questions/3…https:/ /www.instructables.com/id/Remote-Car-Monito …… (alareunaan) saadaksesi lisätietoja):
int getOilPSI () {float psival = ((analogRead (36) + analogRead (36) + analogRead (36) + analogRead (36) + analogRead (36))/5); psival = -0,0601*psival + 177,04 - 14,5; paluu psival; }
Verkkopalvelimen ja tukiaseman toiminnot: AP -toiminnot ovat melko yksinkertaisia - instantiate ja AP -objekti, jossa on ESSID, jonka haluat lähettää, ja salasana, ja olet valmis lähtemään.
const char *ssid = "boost_gauge_ap"; const char *password = "salasana";
WiFi.softAP (ssid, salasana);
Siinä on jopa DHCP -palvelin, joten sinun ei tarvitse huolehtia siitä. Oletusarvoisesti sen IP -osoite on 192.168.1.4 (ei aavistustakaan miksi, se on juuri valittu). Verkkopalvelinbitti on hieman hankalampi ja vaatii hieman tutkimusta. Pohjimmiltaan haluat asynkronisen verkkopalvelimen, jotta se voi saada reaaliaikaisia päivitystietoja. Onneksi siellä on kirjasto. En ole javascript -kehittäjä, joten tein joukon kaavioita ja graafisia kirjastoja, kunnes törmäsin smoothie -kaavioihin. Useimmat muut kaavakirjastot on kirjoitettu siten, että ne perivät kaikenlaista koodia muilta verkkokirjastoilta, jotka ladataan dynaamisesti sivun muodostamisen yhteydessä. Halusin tämän toimivan internetistä riippumatta, joten tämä oli suuri löytö. Toiseksi sen piti olla tarpeeksi pieni, jotta se mahtui arduinoon, ja kuten näet koodista, se sopii yhteen char -taulukkoon.
Verkkopalvelimen ilmoitukset: #include AsyncTCP.h #include ESPAsyncWebServer.h… AsyncWebServer -palvelin (80); // parane se ja valitse portti (80 on vakio http: lle)… server.on ("/", HTTP_GET, (AsyncWebServerRequest *request) {request-> send (200, "text/html", "… // verkkosivu + smoothiecharts -kirjasto valtavassa char -taulukossa}); server.on ("/val", HTTP_GET, (AsyncWebServerRequest *request) {// ensimmäinen sivu kutsuu tätä hyvin pientä sivua, joka palauttaa vain arvopyynnön -> lähetä (200, "text/html", Sboost);}); server.begin ();
Vaihe 2: Laitteisto ja johdotus
Galleriassa on kaksi käyttämääni anturia. Suuri kullanvärinen on Autometer 2242 -öljynpaineanturi. Tämän anturin runko ja kierre on maadoitettu ja liitin on vastuslukema.
Autometri antaa sinulle minkä tahansa anturin paine- tai lämpötilankestokäyrän. Olen muuttanut tämän jännitteeksi jännitteenjakajalla (katso kytkentäkaavio).
MPX4250AP -ilmanpaineanturissa on kolme jännitteistä nastaa ja useita käyttämättömiä nastoja. Ne ovat V -tuloa, maadoitusta ja anturilähtöä. Se antaa 0-5v-lukeman, jonka mikrokontrolleri voi lukea (tai tässä tapauksessa 0-3 voltin mcu. Joten anturin lukua pienennetään jännitteenjakajalla.) Sen tekniset tiedot löytyvät täältä:
5v: n ja 3v: n logiikan pienentämisessä on useita ongelmia. Minun tapauksessani käytin jännitteenjakajaa yksinkertaisuuden vuoksi ja minulla oli osat työpöydän ympärillä. Saat lukemiin hieman virhettä lisäkomponenttien (kahden vastuksen) mahdollisen virheen perusteella. Tämä voi tehdä lukemastasi 10% alennuksen joissakin tapauksissa. Voin elää tämän kanssa. Jos et voi, voit halutessasi käyttää opampia ja vastuksia tai loogisen tason muunninta (saatavana useilta elektroniikkatoimittajilta. Sparkfunilla on sellainen täällä: https://www.sparkfun.com/products/12009 Voin vaihtaa siihen nimellä Saan joskus korkeita lukemia tästä mittarista (itse asiassa olen näyttänyt tämän tuotteen kytkentäkaaviossa).
Sain virran ESP32: sta USB: n kautta. Tämä sisälsi tämän tyyppisen suoralaturin kytkemisen: https://www.amazon.com/gp/product/B00U2DGKOK/ref=p… autoon ja sen jakamisen USB -keskittimen avulla. Näet, että käytin suorakulmaisia USB -kaapeleita varmistaakseni, että kaikki toimii pienellä alueella (https://www.amazon.com/gp/product/B00ENZDFQ4/ref=p…).
Muut valokuvat osoittavat paikkoja, joissa leikkasin reikiä tai ajoin lankaa. Jokainen auto tulee olemaan erilainen. Ole varovainen, veitset ja sakset ovat teräviä, sähkö voi olla vaarallista, joten irrota akku ennen johdotusta.
Vaihe 3: 3D -tulostettu kotelo
Olen käyttänyt tähän useita 3D -tulostettuja koteloita.
- Yleinen suuri 2 näytön pyöreä mittari. Näet tämän ensimmäisen sivun kuvissa. Laitoin sen kelloni viereen kojelautaan.
- Yksimittainen kiilamainen malli, joka sopii subaru impreza (wrx, sti jne.) Kelloalueelle noin vuodesta 2008 vuoteen 2014.
- Kaksiulotteinen kappale, joka sopii ohjauspyörän pylväisiin ja muihin hieman pyöristettyihin pintoihin:
Voit halutessasi kopioida ja muokata niitä tarpeidesi mukaan. Yksikään niistä ei ole täydellinen ja kaikki vaativat hieman säätöä.
Muutamia huomioita:
- Päätin omani plastidipilla; se on laiskojen suosituin tapa.
- Muovin hiominen tekee hienoja hiukkasia, jotka eivät ole sinulle sopivia, käytä asianmukaista naamaria.
- Koteloissani käytin PETG: tä. ABS on myös hyvä. PLA vääntyy kuumassa auringossa kojelaudalla.
Toinen palkinto IoT Challengessa
Suositeltava:
ESP32 TTGO WiFi -signaalin voimakkuus: 8 vaihetta (kuvilla)
ESP32 TTGO WiFi -signaalin voimakkuus: Tässä opetusohjelmassa opimme näyttämään WiFi -verkon signaalin voimakkuuden käyttämällä ESP32 TTGO -korttia
ESP32: n käytön aloittaminen - ESP32 -levyjen asentaminen Arduino IDE: hen - ESP32 vilkkuva koodi: 3 vaihetta
ESP32: n käytön aloittaminen | ESP32 -levyjen asentaminen Arduino IDE: hen | ESP32 Blink Code: Tässä ohjeessa näemme, kuinka aloittaa työskentely esp32: n kanssa ja miten asennetaan esp32 -levyt Arduino IDE: hen, ja ohjelmoimme esp 32: n suorittamaan vilkkuva koodi käyttämällä arduino ide
ESP32- ja OLED -näyttö: Internet -kello - DHT22: 10 vaihetta (kuvilla)
ESP32 ja OLED -näyttö: Internet -kello - DHT22: Tämä Instructable kilpailee kilpailusta: "GIF -haaste 2017", jos pidät siitä, anna äänesi napsauttamalla yllä olevaa banneria. Kiitos paljon!;-) Tämä opetusohjelma on jatkoa matkalle oppia lisää tästä suuresta IoT-laitteesta
ESP32 WiFi -sääasema BME280 -anturilla: 7 vaihetta (kuvilla)
ESP32 WiFi -sääasema BME280 -anturilla: Rakkaat ystävät, tervetuloa toiseen opetusohjelmaan! Tässä opetusohjelmassa aiomme rakentaa WiFi -yhteensopivan sääasemaprojektin! Aiomme käyttää uutta, vaikuttavaa ESP32 -sirua ensimmäistä kertaa Nextion -näytön kanssa. Tässä videossa menemme
ESP32: n käyttäminen LEDin ohjaamiseen Blynkin kautta WiFi: 7 vaihetta (kuvilla)
ESP32: n käyttäminen LED -valojen ohjaamiseen Blynkin kautta WiFi: Tässä opetusohjelmassa käytetään ESP32 -kehityskorttia LED -valojen ohjaamiseen Blynkillä WiFi -yhteyden kautta. Blynk on alusta, jossa on iOS- ja Android -sovellukset Arduinon, Raspberry Pi: n ja vastaavien hallitsemiseksi Internetin kautta. Se on digitaalinen kojelauta, johon voit rakentaa