Агуулгын хүснэгт:

Wifi идэвхжүүлсэн OLED ESP32 машины хэмжигч: 3 алхам (зурагтай)
Wifi идэвхжүүлсэн OLED ESP32 машины хэмжигч: 3 алхам (зурагтай)

Видео: Wifi идэвхжүүлсэн OLED ESP32 машины хэмжигч: 3 алхам (зурагтай)

Видео: Wifi идэвхжүүлсэн OLED ESP32 машины хэмжигч: 3 алхам (зурагтай)
Видео: ADVANCED ANIMAL ROBOTS YOU NEED TO SEE 2024, Арваннэгдүгээр
Anonim
Image
Image
Wifi идэвхжүүлсэн OLED ESP32 машины хэмжигч
Wifi идэвхжүүлсэн OLED ESP32 машины хэмжигч

Эхлээд танилцуулга…

Би машины хэмжигчийг дахин нэг удаа хобби болгож хийдэг. Саяхны хоёр өөр жишээг https://www.instructables.com/id/Remote-Car-Monit… ба https://www.instructables.com/id/Remote-Car-Monit… үзнэ үү. Ялангуяа машины анхны эд ангиудтай нийлсэн хэсгүүд надад таалагддаг. Тэгэхээр энэ нь яагаад өөр юм бэ, түүнийг бүтээхэд надад юу нөлөөлсөн юм. Хариулт нь хоёр зүйл байна:

1) ESP32 - Би шинэ хүүхдийг блок чип дээр туршиж үзэхийг хүсч байсан, ялангуяа arduino дээр суурилсан багаж хэрэгсэл нь нэлээд боловсронгуй болсон тул. ESP32 -ийг идэвхжүүлдэг сонирхолтой зүйлсийн нэг бол Wi -Fi болон bluetooth -тэй IOT юм. Үүнийг хялбарчлахын тулд олон нийт олон номын сан бичсэн (вэб серверүүд, AP, wifi үйлчлүүлэгчид, mDNS гэх мэт).

2) Хямд OLED дэлгэцүүд - 2007 онд би GD (2004-2007) WRX дээр цагны оронд байрладаг TFT ашиглан хэмжигч хийсэн. TFT нь янз бүрийн амттай байдаг. Зарим нь шөнө илүү сайн ажилладаг, зарим нь өдөр илүү сайн ажилладаг гэх мэт. Гэхдээ тэдний хэн нь ч бүх нөхцөлд ажилладаггүй. Форумын гишүүдийн нартай зам дээр миний ашиглаж байсан нэг хэмжүүр ашиггүй болох хүртэл би алдаагаа ойлгосонгүй. Машины хэрэглээний хувьд гайхалтай OLED -ийг оруулна уу. Тэд шөнийн цагаар хэт гэрэл гэгээтэй байдаггүй бөгөөд (хамгийн чухал нь) ихэнх нарны гэрэлд харагддаг.

Энэ бол нэг хүнд зориулсан хоёр юм, учир нь би хоёр нийтлэг машин хэмжигч, газрын тосны даралт, турбо даралтанд зориулж бүгдийг бичсэн. Аль аль нь үндсэндээ ижил зүйл юм: аналог хэлбэртэй OLED дэлгэцтэй жижиг хэлбэр, хамгийн их тоог харуулсан жижиг хэлбэрийн хэмжигч. Тэд хоёулаа wifi AP болон вэб хөтчийн үүрэг гүйцэтгэдэг. Тэдэнтэй компьютер эсвэл гар утсаар холбогдоход хөдөлгөөнт ЭКГ -ийн диаграмыг харах боломжтой (энэ бол арай шинэлэг хэсэг).

Хангамж

HELTEC ESP32 модуль-wifi хувилбарыг авах

Газрын тосны даралтын тодорхой хэсгүүд:

Газрын тосны даралтын мэдрэгч - Би 5222 газрын тосны даралт мэдрэгчийн холбогч хэсгүүдийг ашигласан - энэ нь машин, суурилуулах байршлаас хамаарч өөр өөр байдаг. Үйлчилгээний гарын авлага, форум, техник хэрэгсэл гэх мэтийг лавлаж, газрын тос гоожихгүйн тулд үүнийг зөв хийх хэрэгтэй

Тодорхой хэсгүүдийг нэмэгдүүлэх:

  • Агаарын даралт мэдрэгч (хэрэв та өргөлтийн хэмжигч хийхийг хүсвэл л болно)
  • Агаарын хоолой
  • Т холбох хэрэгсэл

Миний ашиглаж байсан номын сангууд зайлшгүй шаардлагатай байсан

Smoothiecharts - https://smoothiecharts.org/ Маш сайн, хөнгөн амьд шинэчлэгддэг графикууд. Энэ нь маш их тохируулагддаг бөгөөд интернетийн өөр газар байгаа js номын сангийн лавлагаанд тулгуурладаггүй. Энэ нь "local-IOT" төрлийн тохиргоог хийх боломжийг олгодог бөгөөд номын сан бүхэлдээ кодын вэб серверийн мэдэгдэлд нэг мөрөнд багтах болно!

ESPAsyncWebServer -https://github.com/me-no-dev/ESPAsyncWebServer- хайрцаг дээр бичсэн зүйлийг сайн хийдэг.

ThingPulse OLED график номын сан (заримдаа үүнийг squix номын сан гэж нэрлэдэг) - https://github.com/ThingPulse/esp8266-oled-ssd130… - ESP чипүүдэд зориулсан маш үр ашигтай, энгийн график. Надад залхуу програмчлал хийж, үнэмшилтэй анимаци авах боломжийг олгосон.

Хэрэгсэл/бусад:

гагнуурын төмөр - мэдрэгчийн урт кабелийн гүйлт хийх, самбар дээр толгой суурилуулах, агшилтын боолтыг багасгах гэх мэт.

халив/залгуур/бусад машины хэрэгсэл - машинд мэдрэгч суурилуулахад зайлшгүй шаардлагатай

хоёр талт соронзон хальс - орон сууцанд хэмжигч суурилуулах, машинд орон сууц суурилуулах (халуун цавуу болон бусад зүйл ажиллах боломжтой, гэхдээ би 3M хоёр талт гадна талын өнгөлгөөний соронзон хальсыг илүүд үздэг. Энэ нь сайн хадгалдаг бөгөөд аливаа зүйлийг гэмтээхгүйгээр татаж авах боломжтой.)

хайч - соронзон хальс, хоолой, зип хэлхээ огтлох зориулалттай

зип зангиа - зүйлийг хамтад нь барих, утсыг тасархай болон хөдөлгүүрийн тасалгаанд холбох, мэдрэгчийг байрлуулах гэх мэт.

Алхам 1: Нэгдүгээрт код/Тоног төхөөрөмжийн хоёрдугаарт

Эхний код/хоёрдугаарт техник хангамж
Эхний код/хоёрдугаарт техник хангамж
Эхний код/хоёрдугаарт техник хангамж
Эхний код/хоёрдугаарт техник хангамж

Кодыг эндээс татаж авах боломжтой:

Газрын тосны даралт -

Даралтыг нэмэгдүүлэх -

Аналог хэмжигчийн оронд нүүрний даралтыг нэмэгдүүлэх -

График код: ThingPulse номын сан нь маш үр ашигтай тул та xbms -ийг нэг нэгнийхээ дээр зурж, итгэлтэй үр дүнд хүрч чадна!

Хэмжигч зургууд нь үнэндээ нээлттэй эх сурвалж бүхий график хадгалах газраас ирсэн (https://thenounproject.com/). Зураач Iconic, CY (https://thenounproject.com/icon/490005/).

Би gimp ашиглан зүү бүхий тэмдэглэгээ тус бүрийг зааж өгсөн 20 өөр хүрээ үүсгэсэн. Инээмсэглэсэн нүүрний дүрсүүд нь NOVITA ASTRI, ID бөгөөд энд байна:

Дараа нь би эдгээр техникийг ашиглан бүгдийг const uint8_t массив болгон хөрвүүлэв (зөвлөмж: хэрэв та тэдгээрийг харуулах үед өнгө нь урвуу байвал, анхных нь өнгийг эргүүлээрэй): https://blog.squix.org/2015/05/esp8266- nodemcu-ho …

Шууд анимацийн код нь маш энгийн:

  • Мэдрэгчээс унших
  • Хуваарийн уншилт (Би эерэг өсөлтийн утгыг 1 -ээс 1 болгож, вакуумд байхдаа биш зүүг өсгөх үед л хөдөлгөнө)
  • Xbm зураад бусад бүх зүйлийн тоон тэмдэгтүүдийг тавь.
  • угааж, давтан хийнэ

Мэдрэгчийн код: Би энэ хоёр мэдрэгчид ашигласан мэдрэгчийн кодыг өөр хэдэн төсөлд дахин ашиглаж байна. Би мэдрэгчээс холдохын тулд дунджийг нэмсэн. Үүнд "унших" бүрийг дунджаар 5 уншилттай унших орно.

Boost код (мэдрэгч нь 0-5 вольтын аналог утгыг өгдөг бөгөөд ADC нь 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; // kpa float -ийн хувьд /6.89 -аас гарах ResultPSI = ((((rboost /4095) + 0.04) /0.004) * 0.145 - atmo; // by 0.145 by calc psi // esp32 /*rBoost = rBoost + 1 дээрх 4096 утга; if (rBoost> = 20) {rBoost = 0; }*/ буцах (Үр дүнPSI); }

Газрын тосны даралтын код (мэдрэгч нь мэдрэх даралтаас хамааран эсэргүүцлийг өөрчилдөг тул үүнийг 0-5 вольтын хүчдэл болгон хувиргахын тулд хүчдэл хуваагч шаардлагатай болно: https://electronics.stackexchange.com/questions/3…https:/) /www.instructables.com/id/Remote-Car-Monito… (доод талд) дэлгэрэнгүй мэдээллийг үзнэ үү):

int getOilPSI () {float psival = ((analogRead (36) + analogRead (36) + analogRead (36) + analogRead (36) + analogRead (36))/5); psival = -0.0601*psival + 177.04 - 14.5; psival -ийг буцааж өгөх; }

Вэб сервер ба AP -ийн үйл ажиллагаа: AP -ийн үйл ажиллагаа нь маш энгийн - нэвтрүүлэхийг хүссэн ESSID болон нууц үгээ ашиглан объектын объектыг шууд үүсгэж, ашиглахад таатай байна.

const char *ssid = "boost_gauge_ap"; const char *нууц үг = "нууц үг";

WiFi.softAP (ssid, нууц үг);

Тэр ч байтугай DHCP сервертэй тул та үүнд санаа зовох хэрэггүй болно. Анхдагч байдлаар IP нь 192.168.1.4 байна (яагаад гэдгийг нь мэдэхгүй байна, үүнийг л сонгосон юм). Вэб сервер нь арай илүү төвөгтэй бөгөөд бага зэрэг судалгаа шаарддаг. Үндсэндээ танд асинх вэб сервер хэрэгтэй бөгөөд ингэснээр өгөгдлийг шууд шинэчлэх боломжтой болно. Аз болоход ийм номын сан байдаг. Би javascript хөгжүүлэгч биш, тиймээс би смарт график дээр бүдрэх хүртлээ олон тооны диаграм, график номын сангуудыг судалж үзсэн. Бусад ихэнх график номын сангууд нь хуудсыг үзүүлэх үед динамикаар ачаалагддаг вэбсайтаас бусад номын сангаас бүх төрлийн кодыг өвлөн авсан байдлаар бичигдсэн байдаг. Би үүнийг интернетээс хамааралгүй ажиллахыг хүссэн тул энэ бол том олдвор байсан юм. Хоёрдугаарт, энэ нь arduino -д тохирохуйц жижиг хэмжээтэй байх ёстой бөгөөд кодоос харахад нэг char массивт багтах болно.

Вэб серверийн мэдэгдлүүд: #incyndet asyncTCp.h #include ESPAsyncWebServer.h… AsyncWebServer сервер (80); // үүнийг хийж, портыг сонгоно уу (80 нь http-ийн стандарт юм)… server.on ("/", HTTP_GET, (AsyncWebServerRequest *хүсэлт) {хүсэлт-> илгээх (200, "text/html", "… //) вэб хуудас + асар том char массив дахь smoothiecharts номын сан}); server.on ("/val", HTTP_GET, (AsyncWebServerRequest *хүсэлт) {// эхний хуудас нь үнийн хүсэлтийг буцааж өгдөг маш жижиг хуудсыг дууддаг. -> илгээх (200, "text/html", Sboost);}); server.begin ();

Алхам 2: Тоног төхөөрөмж ба утас

Тоног төхөөрөмж ба утас
Тоног төхөөрөмж ба утас
Тоног төхөөрөмж ба утас
Тоног төхөөрөмж ба утас
Тоног төхөөрөмж ба утас
Тоног төхөөрөмж ба утас

Галерейд миний ашигладаг хоёр мэдрэгч байна. Том алтан өнгөтэй нь Autometer 2242 тосны даралт мэдрэгч юм. Энэхүү мэдрэгчийн бие ба утас нь газардуулагдсан бөгөөд терминал нь эсэргүүцлийн уншилт юм.

Автомат хэмжигч нь аливаа мэдрэгчийн даралт эсвэл температурын эсэргүүцлийн муруйг танд өгөх болно. Би үүнийг хүчдэл хуваагч ашиглан хүчдэл болгон хувиргасан (утас диаграмыг үзнэ үү).

MPX4250AP агаарын даралт мэдрэгч нь гурван амьд зүү, ашиглагдаагүй хэд хэдэн тээглүүртэй. Эдгээр нь V оролт, газардуулга, мэдрэгчийн гаралт юм. Энэ нь микроконтроллероор унших боломжтой 0-5В хүчдэлийг гаргадаг (эсвэл энэ тохиолдолд 0-3 вольт mcu тохиолдолд хүчдэл хуваагч ашиглан мэдрэгчийн заалтыг багасгадаг.) Тусгай хүснэгтийг эндээс авах боломжтой:

Логикийг 5v -аас 3v хүртэл бууруулах хэд хэдэн асуудал байдаг. Миний хувьд хүчдэл хуваагчийг энгийн байдлаар ашигласан бөгөөд ажлын ширээний эргэн тойронд хэсгүүд байсан. Та нэмэлт бүрэлдэхүүн хэсгүүдийн (хоёр эсэргүүцэл) алдаанд үндэслэн уншилтанд бага зэрэг алдаа оруулах болно. Энэ нь зарим тохиолдолд таны уншилтыг 10% хямдруулж болзошгүй юм. Би үүгээр амьдарч чадна. Хэрэв боломжгүй бол та опамп, резистор эсвэл логик түвшний хөрвүүлэгч ашиглахыг хүсч болно (янз бүрийн электроникийн үйлдвэрлэгчдээс авах боломжтой. Sparkfun энд байна: https://www.sparkfun.com/products/12009 Би үүнийг өөрчилж болно. Би заримдаа энэ хэмжигч дээр өндөр уншилт авдаг (үнэндээ би энэ бүтээгдэхүүнийг утас диаграм дээрээ харуулсан).

Би ESP32 -ийг USB -ээр тэжээсэн. Үүнд шууд цэнэглэгчийг ийм утсаар холбосон болно: https://www.amazon.com/gp/product/B00U2DGKOK/ref=p… машинд холбож, дараа нь USB төв ашиглан үүнийг хуваа. Би жижиг өнцөгт бүх зүйл ажиллахыг баталгаажуулахын тулд зөв өнцгийн USB кабель ашигласан болохыг харж болно (https://www.amazon.com/gp/product/B00ENZDFQ4/ref=p…).

Бусад зургуудад миний нүх хайчилж, утас гүйлгэсэн газрууд харагдаж байна. Машин бүр өөр байх болно. Болгоомжтой байгаарай, хутга, хайч нь хурц, цахилгаан нь аюултай тул утсыг залгахаасаа өмнө зайгаа салгаарай.

Алхам 3: 3D хэвлэсэн орон сууц

3D хэвлэсэн орон сууц
3D хэвлэсэн орон сууц

Үүний тулд би хэд хэдэн 3D хэвлэсэн орон сууц ашигласан.

  • Ерөнхий том 2 дэлгэцтэй дугуй хэмжигч. Үүнийг эхний хуудасны зургуудаас харж болно. Би үүнийг зурган дээрээ цагийнхаа хажууд тавив.
  • Ойролцоогоор 2008-2014 оны хооронд subaru impreza (wrx, sti, гэх мэт) -ийн цагийн бүсэд тохирох ганц хэмжигч шаантаг хэлбэртэй.
  • Жолооны хүрдний багана болон бусад бага зэрэг дугуйрсан гадаргуу дээр тохирох хос хэмжигч хэсэг:

Та эдгээрийг өөрийн хэрэгцээнд нийцүүлэн хуулж, өөрчлөх боломжтой. Тэдгээрийн аль нь ч төгс биш бөгөөд бүгд бага зэрэг тохируулах шаардлагатай болно.

Зарим тэмдэглэл:

  • Би уурхайг пластидип ашиглан дуусгасан; энэ бол залхуу хүмүүсийн илүүд үздэг арга юм.
  • Хуванцар эдлэл нь нарийн ширхэгт тоосонцор үүсгэдэг тул зохих маск ашиглана уу.
  • Би орон сууцандаа PETG ашигладаг байсан. ABS нь бас сайн. ХАЧА нь халуун наранд хяналтын самбар дээр хазайх болно.
IoT Challenge
IoT Challenge
IoT Challenge
IoT Challenge

IoT Challenge -ийн хоёр дахь шагнал

Зөвлөмж болгож буй: