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

DFRobot FireBeetle ESP32 ба LED матрицын бүрхэвчийг ашиглан 4 төсөл: 11 алхам (зурагтай)
DFRobot FireBeetle ESP32 ба LED матрицын бүрхэвчийг ашиглан 4 төсөл: 11 алхам (зурагтай)

Видео: DFRobot FireBeetle ESP32 ба LED матрицын бүрхэвчийг ашиглан 4 төсөл: 11 алхам (зурагтай)

Видео: DFRobot FireBeetle ESP32 ба LED матрицын бүрхэвчийг ашиглан 4 төсөл: 11 алхам (зурагтай)
Видео: FireBeetle 2 ESP32 S3 WROOM-1 getting started tutorial 2024, Долдугаар сарын
Anonim
Image
Image
Төслийн нийтлэг номын санг суулгах
Төслийн нийтлэг номын санг суулгах

Эдгээр төсөл тус бүрт зааварчилгаа өгөх талаар би бодсон боловч эцэст нь би хамгийн том ялгаа нь төсөл бүрийн програм хангамж гэдгийг би зүгээр л нэг том зааварчилгаа өгөх нь дээр гэж бодсон юм!

Тоног төхөөрөмж нь төсөл тус бүрт ижил байдаг бөгөөд бид Arduino IDE -ийг ашиглан ESP32 төхөөрөмжийг програмчилж байна.

Тоног төхөөрөмж гэж юу вэ: Бүх тоног төхөөрөмжийг DFRobot дахь найз нөхөд маань өгсөн, тэдэнд маш сайн хичээлүүд байдаг бөгөөд үүнд зориулж үндсэн самбар суулгахад хялбар байдаг. Мөн сайн дэмжлэгийн системтэй бөгөөд АНУ руу маш хурдан тээвэрлэгддэг.

Firebeetle ESP32 самбар болон LED матрицыг DF роботоор бүрэн танилцуулсан бөгөөд танилцуулсан болон видеон дээрх төслүүд нь миний өөрийнх юм.

Эдгээр төслүүд бүгд DFRobot FireBeetle ESP32 IOT микроконтроллерыг ашигладаг

www.dfrobot.com/product-1590.html

Дэмжлэгийн вики - самбарын үндсэн суулгах зааврыг эндээс олж болно.

www.dfrobot.com/wiki/index.php/FireBeetle_…

Бидэнд FireBeetle -ийн 24x8 хэмжээтэй LED матриц (Цэнхэр) хэрэгтэй.

www.dfrobot.com/product-1595.html

Цэнхэр гэрэлд дургүй - Тэд бас өөр өнгөтэй.

НОГООН -

УЛААН -

ЦАГААН -

ШАР -

Танд зөвхөн нэг LED матриц хэрэгтэй - өнгө нь таны сонголт, тэд бүгд адилхан ажилладаг.

LED Matrix дэмжлэгийн викиг эндээс олж болно.

www.dfrobot.com/wiki/index.php/FireBeetle_…

Энд бид Arduino номын сангийн холбоосыг олж болно.

github.com/Chocho2017/FireBeetleLEDMatrix

Хэсэг хугацааны дараа эдгээрийн талаар дэлгэрэнгүй …

Нэмэлт, гэхдээ ашиглахад тохиромжтой зүйл бол MicroUSB 3xAA батерей эзэмшигч юм.

www.dfrobot.com/product-1130.html

Энэ бол шаардлагатай тоног төхөөрөмж юм - 4 төсөл гэж юу вэ -

Алхам 1: Төслүүд

Image
Image

Төсөл 1: Цэргийн цагийн дэлгэц эсвэл AMPM цагийн дэлгэцтэй энгийн LED матриц NTP цаг юм.

Энэ цаг нь NTP (цагийн сервер) -тэй холбогдон цагийг барьж, унтраах багцыг ашиглах бөгөөд ингэснээр та орон нутгийн цагаа авах болно. Энэ нь LED матриц дээр цагийг харуулах болно. - Энэ бол маш энгийн цаг бөгөөд маш энгийн 1 -р төсөл.

Төсөл 2: ISS Pass урьдчилан таамаглах дэлгэц, энэ төсөл нь процессорын 2 -р цөмийг ашигладаг. Энэ нь ОУСС нь хэр ойрхон (мильээр) байгааг, дараагийн ОУСС -ийг хэзээ таны байршилд (UTC цагаар) хүлээхийг, мөн сансарт хичнээн хүн байгааг харуулах болно. Эдгээр мэдээллийн ихэнх нь байнга өөрчлөгддөггүй тул бид 2 -р цөмийг ашиглан нэвтрэх урьдчилсан мэдээг шинэчлэх, эсвэл 15 минут тутамд хэдэн хүн сансарт байгаа эсэхийг шалгахын тулд ашигладаг. Бид сервер рүү хэт олон API дуудлага хийхээс урьдчилан сэргийлж чадна. Энэ төсөл нь арай илүү төвөгтэй боловч хийхэд хялбар хэвээр байна.

Төсөл 3: MQTT ашиглан энгийн хөдөлгөөнт зурвасын тэмдэг, би ESP8266 D1 мини самбар дээр хийсэн төслийг дахин үзсэн бөгөөд энэ нь 8x8 LED матриц юм - MQTT брокертой холбогдох, төхөөрөмжийн сэдэв рүү мессеж илгээх явдал юм. сонсох - мөн тэр зурвасыг харуулах. Бүх зүйлийг тохируулсны дараа үүнийг хийхэд маш хялбар бөгөөд маш энгийн. Ширээний компьютер дээр MQTT клиент програмыг тохируулах хэд хэдэн алхам байдаг. MQTT -ийг тохируулсны дараа олон IoT төхөөрөмжүүд мессеж илгээх, хүлээн авахад ашигладаг маш хүчирхэг мессежийн протокол юм.

Төсөл 4: Цаг агаарын станцын дэлгэц - Squix78 ба ThingPulse -ийн хийсэн ESP8266 D1 цаг уурын станц дээр суурилсан. Бид Wunderground -аас өгөгдлөө авч, одоогийн нөхцөл байдал, температурыг Фаренгейтийн градусаар харуулдаг. Бид ESP32 -ийн 2 -р цөмийг ашиглан мэдээллээ 10 минут тутамд шинэчилж байдаг. Мөн тохируулахад хялбар байдаг.

BOUNS MINI ЖИШЭЭ: Номын сан (болон дээрх тоймууд) нь 8х4 хэмжээтэй фонт ашигладаг бөгөөд номын сан нь 5x4 хэмжээтэй фонтыг агуулдаг бөгөөд үүнийг миний ихэнх BOUNS мини жишээн дээр ашигласан болно. Жижиг фонтоор тэмдэглэж болох хэд хэдэн асуудал байдаг бөгөөд энэ нь төхөөрөмжийн WIFI -ийг ашиглахад асуудал үүсгэдэг бололтой. Энэ бол миний илүү ихийг судлахыг хүсч байгаа зүйл боловч цаг зав гаргаж чадсан юм. Нөгөө нэг асуудал бол гүйлгэдэггүй, зөвхөн том фонт гүйлгэж чаддаг. Тиймээс эдгээр жишээнүүдийн аль нь ч WIFI ашигладаггүй - тэд зөвхөн дэлгэцийг шинэчилдэг бөгөөд эдгээрийн талаар дараа нь оруулах болно.

Эхэлцгээе…..

Алхам 2: DFRobot FireBeetle ESP32 самбарыг Arduino IDE -д суулгана уу

Тиймээс, би Arduino IDE -ийн хавтангийн цөмийг суулгах талаар DF Robot Wiki -д хандах болно.

Орчин үеийн IDE (1.8.x ба түүнээс дээш) дээр үүнийг хийхэд маш хялбар байдаг.

www.dfrobot.com/wiki/index.php/FireBeetle_…

Arduino IDE -д суулгасан WiFi номын сан нь асуудал үүсгэдэг болохыг олж мэдсэн (таны номын сангийн лавлахад суулгасан бусад WiFi номын сан нь асуудал үүсгэж магадгүй юм). Асуудлыг шийдэх цорын ганц арга зам (эсвэл наад зах нь хамгийн хялбар арга) бол WiFi номын санг IDE лавлахаас устгах явдал юм. Харамсалтай нь үүнийг хаана суулгасан болохыг хэлэх сайн арга байхгүй - энэ нь IDE -ийг хэрхэн суулгасан, ямар OS ашиглаж байгаагаас хамаарна.

Миний хийсэн зүйл бол асуудал үүсгэж буй WiFi номын санг олж, WiFi лавлах лавлахыг ширээний компьютер руу зөөж, IDE -ийг дахин эхлүүлээрэй. Ингэснээр та номын сангаа Arduino WIFI -ийн самбаруудад хэрэгтэй бол хадгалах боломжтой.

Миний үзсэн асуудлын 90% нь дээрх асуудалтай холбоотой. Хэрэв та Arduino IDE лавлах эсвэл Arduino номын сангийн лавлахаас WiFi ашиглахтай холбоотой олон эмхэтгэлийн алдаа гарвал энэ нь танд тулгарч буй асуудал юм.

Миний 2 дахь асуудал бол ноорог байршуулах нь амжилтгүй болсон явдал юм. Энэ тохиолдолд би дахин байршуулах товчлуурыг дарахад л хангалттай.

Эцэст нь хэлэхэд хэрэв та цуваа консолыг нээж, дараа нь хаавал FireBeetle хөлддөг.

DF Robot нь самбарын цөм дээр идэвхтэй ажиллаж байгааг би мэднэ. Удирдах зөвлөлтэй болсноос хойш богино хугацаанд тэд шинэ цөм гаргалаа. Харамсалтай нь энэ нь WiFi -ийн асуудлыг шийдэж чадаагүй бөгөөд энэ нь миний хамгийн том асуудал юм.

* Espressif нь суулгаж болох "ерөнхий" үндсэн менежертэй бөгөөд цөмд нь FireBeetle ESP32 самбар багтсан боловч зүү нь хэрхэн дугаарлагдсантай холбоотой асуудал гарлаа. Энд байгаа сонирхолтой зүйл бол WiFi номын сан нь суулгагдсан WiFi номын сантай ажилладаг тул энэ асуудлын шийдэл булангийн ойролцоо байгааг би мэднэ.

Хэрэв та Espressif цөмийг туршиж үзэхийг хүсвэл эндээс дэлгэрэнгүй мэдээллийг авах боломжтой.

github.com/espressif/arduino-esp32

Надад тулгарч буй цөөн хэдэн асуудалтай байсан ч DF-Robot цөм хэрхэн ажилладаг нь надад хувьдаа таалагддаг.

** ТАЙЛБАР: Би Ubuntu 16.04 дээр суурилсан LinuxMint 18 -ийг ашиглаж байгаа гэж бодож байна, би үүнийг өөр ямар ч машин дээр туршиж үзээгүй, гэхдээ миний хийсэн зарим интернэт хайлтууд дээр үндэслэн бүх OS -д асуудал байгаа гэж бодож байна. **

Алхам 3: Төслийн нийтлэг номын санг суулгах

Төслийн нийтлэг номын санг суулгах
Төслийн нийтлэг номын санг суулгах

Эдгээр бүх төслүүд цөөн хэдэн нийтлэг номын санг ашигладаг тул энэ алхамыг одоо хийх нь илүү хялбар болно.

Номын сангаас хамааран та үүнийг номын сангийн менежерээс хайж олох боломжтой бөгөөд энэ нь номын сан суулгах хамгийн хялбар арга юм.

Өөр нэг нийтлэг арга бол ижил ажилладаг zip файлаар дамжуулан суулгах явдал юм. Гэхдээ ерөнхийдөө би гар аргаар суулгах аргыг ашигладаг. Arduino вэбсайт дээр гурван аргын талаар сайн заавар байдаг.

www.arduino.cc/en/guide/libraries

Эдгээр номын сангийн хувьд би гарын авлагын аргыг санал болгож байна - ижил нэртэй хэд хэдэн номын сан байдаг тул номын сангийн менежерийг ашигласнаар та буруу номтой болж магадгүй юм.

Эдгээр бүх төслүүд нь WiFi менежерийг ашиглан wifi -тай холбогдоход хялбар болгодог. Би үүнийг хийхээр шийдсэн тул хэрэв та төслөө шилжүүлэх шаардлагатай бол самбарыг дахин програмчлах шаардлагагүй болно. Энэ бол миний ESP8266 самбар дээр ашигладаг зүйл бөгөөд энэ нь сайн ажилладаг - энэ нь төгс биш юм. Номын санг ашиглах азыг bbx10 нэртэй github хэрэглэгч ESP32 -ийг ашиглахаар шилжүүлсэн. (Энэ менежер нь ESP8266 самбартай ажиллах ёстой)

Үүнийг хийхийн тулд бид гурван номын сан суулгах хэрэгтэй.

WiFiManager -

Вэб сервер -

Эцэст нь DNSServer -

Бүх зургийн хувьд нийтлэг зүйл бол LED матрицын DF Robot DFRobot_HT1632C номын сан юм.

www.dfrobot.com/wiki/index.php/FireBeetle_…

Номын санг эндээс олж болно (Дахин хэлэхэд би гар аргаар суулгах аргыг санал болгож байна)

github.com/Chocho2017/FireBeetleLEDMatrix

Онцгой тэмдэглэл: Миний github репозиторт би бага зэрэг өөрчлөгдсөн DFRobot_HT1632C номын сантай.

github.com/kd8bxp/DFRobot-FireBeetle-ESP32…

Өөрчлөлт нь жижиг фонтод зориулагдсан бөгөөд зөвхөн урамшууллын зарим жишээнд ашиглагддаг. Та өөрчлөгдсөн номын санг ашиглаж болох бөгөөд энэ нь ямар ч асуудал үүсгэхгүй. Bitmap зураг хийх боломжтой бага зэрэг өөрчлөгдсөн номын сан (зарим тоймд хавтас хэлбэрээр хавсаргасан болно) бас бий.

Хэрэв та бага зэрэг өөрчлөгдсөн хувилбарыг ашиглахаар шийдсэн бол "өөрчлөгдсөн номын сан" лавлахын нэрийг FireBeetleLEDMatrix болгон өөрчилж, энэ фолдерыг Arduino номын сангийн сан руу зөөх хэрэгтэй. Та эдгээр хувилбаруудыг эдгээр төслүүдэд ашиглах шаардлагагүй, гэхдээ хэрэв та урамшууллын жишээнээс жижиг фонтуудыг туршиж үзэхийг хүсч байвал энэ нь хэрэгтэй болно.

Эдгээр нь нийтлэг номын сангууд бөгөөд бид төсөл тус бүрт тусгай номын сан суулгах болно.

LED матриц руу шилжье.

Алхам 4: 24x8 хэмжээтэй LED матрицын бүрхүүл

24x8 хэмжээтэй LED матрицын бүрхүүл
24x8 хэмжээтэй LED матрицын бүрхүүл
24x8 хэмжээтэй LED матрицын бүрхүүл
24x8 хэмжээтэй LED матрицын бүрхүүл
24x8 хэмжээтэй LED матрицын бүрхүүл
24x8 хэмжээтэй LED матрицын бүрхүүл

Учир нь бид LED матрицын DF роботын хичээлийг дагаж мөрдөх болно

www.dfrobot.com/wiki/index.php/FireBeetle_…

Танилцуулга: Энэхүү 24 × 8 хэмжээтэй LED матрицын дэлгэц нь FireBeetle цувралд зориулагдсан болно. Энэ нь бага эрчим хүчний хэрэглээ горим болон гүйлгэх дэлгэцийг дэмждэг. HT1632C өндөр үзүүлэлттэй LED драйверийн чипийн тусламжтайгаар бүх хөтөч нь бие даасан бүртгэлтэй бөгөөд тусдаа жолоодоход хялбар болгодог. Энэ нь 256 кГц давтамжтай RC цагийг нэгтгэдэг бөгөөд бага чадлын горимд зөвхөн 5uA, 16 хэмжигдэхүүнтэй ХОУХ-ны гэрэлтүүлгийн тохируулгыг дэмждэг. Энэ бүтээгдэхүүн нь Arduino UNO гэх мэт бусад Arduino микроконтроллертой ажилладаг.

Үзүүлэлт:

  • Ажиллах хүчдэл: 3.3 ~ 5VLED
  • Өнгө: Нэг өнгө (Цагаан/Цэнхэр/Шар/Улаан/Ногоон)
  • Жолооны чип: HT1632C
  • Ажлын гүйдэл: 6 ~ 100mA
  • Бага эрчим хүчний хэрэглээ: 5uARC
  • цаг: 256 кГц
  • Чип сонгох (CS): D2, D3, D4, D5 сонгох боломжтой
  • Гүйлгэх дэлгэцийг дэмжих

Өгөгдмөл ПИН код:

  1. Мэдээлэл6
  2. WRD7 (Ерөнхийдөө ашигладаггүй)
  3. CSD2, D3, D4, D5 сонгох боломжтой (D2 анхдагч)
  4. RDD8
  5. VCC 5VUSB; 3.7VLipo батерей

(Эдгээр бүх төслүүд нь сонгосон зүү дээр D2 -ийг ашигладаг бөгөөд үүнийг шаардлагатай бол амархан өөрчилж болно.)

LED матрицын ар талд та 4 жижиг унтраалгыг харах болно, зөвхөн CS тээглүүрээс зөвхөн нэгийг нь сонгох хэрэгтэй. Эдгээр бяцхан унтраалга нь таны CS Pin -ийг хэрхэн сонгох бөгөөд үндсэн утга нь D2 юм.

DF Robot WIKI нь жишээ кодтой бөгөөд энэ код нь номын сангийн жишээн дээр байдаг. (Би итгэдэг)

Өөр нэг тэмдэглэл: Dx тоог зүүгээ ашиглаарай, эс тэгвэл зүү дугаар нь IO зүү дугаар/нэр байх болно

Мөн энэ нь танд зарим асуудал үүсгэж магадгүй юм.

Цэг тогтоох:

X нь 0 -ээс 23 хүртэл (эсвэл хэрэв та хүснэгт гэж бодож байгаа бол эдгээр нь багана юм).

Y нь 0 -ээс 7 хүртэл (эсвэл хэрэв та хүснэгт гэж бодож байгаа бол эдгээр нь мөрүүд юм).

Номын сан нь тогтоосон цэгийн функцийг хангадаг.

display.setPoint (x, y) энэ нь курсорыг тухайн байршилд тохируулах бөгөөд та одоо мессеж хэвлэх боломжтой болно.

display.print ("Hello World", 40); // энэ нь дэлгэц дээр x, y цэгээс эхлэн дэлгэц рүү гүйлгэж "Hello World" -ыг харуулах болно.

Мөн setPixel (x, y) ба clrPixel (x, y) байдаг - setPixel нь x, y байршилд нэг LED асааж, clrPixel нь x, y байршилд LED -ийг унтраана.

Энэ номын сангийн хийж чадах өөр зүйлүүд байдаг бөгөөд ихэнхийг нь жишээн дээр оруулсан болно.

(Би юу хийж чадахыг харахын тулд жишээнүүдийг ажиллуулж, өөрчлөхийг зөвлөж байна).

* Нэг зүйл дутуу санагдаж байгаа нь битийн зураг зурах явдал юм - номын сан нь үүнийг үнэхээр хийж чаддаг, гэхдээ ямар нэг шалтгааны улмаас энэ нь номын сангийн хувийн үүрэг юм. Номын сангийн бага зэрэг өөрчлөгдсөн хувилбарын талаархи миний урамшууллын жишээг үзнэ үү

** Өөр нэг зүйл бол 5х4 хэмжээтэй фонтын багцыг багтаасан бөгөөд жижиг хэмжээтэй байх нь сайхан байдаг - үүнийг номын санд хэзээ ч байгаагүй гэж тайлбарласан болно. Би үүнийг тайлбарлаагүй бөгөөд үүнийг ажиллуулсан боловч үүнтэй холбоотой цөөн хэдэн асуудлыг анзаарсан - хамгийн том нь гүйлгээгүй байна. Энэ нь wifi эсвэл миний ашиглахыг хүссэн өөр номын сантай холбоотой асуудал үүсгэж болохыг би анзаарсан.

Миний оруулсан өөрчилсөн номын сангийн нэг нь 5x4 фонт ашигладаг.

Төслүүд рүүгээ явцгаая. …

Алхам 5: Төсөл 1: Цэргийн цагийн дэлгэц эсвэл AMPM дэлгэцтэй энгийн LED матриц NTP цаг

Төсөл 1: Цэргийн цагийн дэлгэц эсвэл AMPM дэлгэцтэй энгийн LED матриц NTP цаг
Төсөл 1: Цэргийн цагийн дэлгэц эсвэл AMPM дэлгэцтэй энгийн LED матриц NTP цаг
Төсөл 1: Цэргийн цагийн дэлгэц эсвэл AMPM дэлгэцтэй энгийн LED матриц NTP цаг
Төсөл 1: Цэргийн цагийн дэлгэц эсвэл AMPM дэлгэцтэй энгийн LED матриц NTP цаг
Төсөл 1: Цэргийн цагийн дэлгэц эсвэл AMPM дэлгэцтэй энгийн LED матриц NTP цаг
Төсөл 1: Цэргийн цагийн дэлгэц эсвэл AMPM дэлгэцтэй энгийн LED матриц NTP цаг

Төсөл 1: Цэргийн цагийн дэлгэц эсвэл AMPM цагийн дэлгэцтэй энгийн LED матриц NTP цаг юм.

Энэ цаг нь NTP (цагийн сервер) -тэй холбогдон цагийг барьж, унтраах багцыг ашиглах бөгөөд ингэснээр та орон нутгийн цагаа авах болно. Энэ нь LED матриц дээр цагийг харуулах болно. - Энэ бол маш энгийн цаг бөгөөд маш энгийн 1 -р төсөл.

Энэхүү энгийн төслийг эхлүүлэхийн өмнө NTP гэж юу болохыг мэдэх нь зүйтэй болов уу.

NTP бол компьютерын цагийг тодорхой хугацааны лавлагаанд синхрончлоход ашигладаг интернет протокол юм. Энэ бол стандарт протокол юм. NTP нь сүлжээний цагийн протокол гэсэн үг юм.

NTP нь UTC -ийг жишиг цаг болгон ашигладаг (UTC бол бүх нийтийн цагийн зохицуулалттай) бөгөөд энэ нь GMT (Гринвичийн дундаж цаг) -аас үүсэлтэй бөгөөд зарим хүрээлэлд үүнийг Зулу цаг (Цэргийн) гэж нэрлэдэг. UTC нь цезийн атомын квант резонанс дээр суурилдаг.

NTP нь алдааг тэвчих чадвартай бөгөөд өргөтгөх боломжтой бөгөөд протокол нь наносекундээс бага нарийвчлалтай байдаг.

*

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

Нэгдүгээрт, бид NTP серверүүдтэй ярихад хялбар болгодог номын сан суулгах хэрэгтэй.

github.com/arduino-libraries/NTPClient (энэ номын сан нь номын сангийн менежерт байгаа байх)

Та 3 -р алхамыг алгассан уу, номын санг хэрхэн суулгахаа мэдэхгүй байна уу (?) Буцаад 3 -р алхамыг уншсан нь дээр:-)

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

www.epochconverter.com/timezones

Enter товчлуурыг дарахад "Хөрвүүлэлтийн үр дүн" гарч ирэх бөгөөд үр дүнд нь таны офсет (GMT/UTC -ийн зөрүү) хэдхэн секундын дотор гарах болно (Миний хувьд -14400)

Dfrobot_firebeetle_led_matrix_ntp_clock зургийн 66 -р мөрөнд та дараах зүйлийг харах болно.

#define TIMEOFFSET -14400 // Эндээс цагийн бүсээ тохируулаарай Энд https://www.epochconverter.com/timezones OFF Секундээр тохируулаарай#AMPM 1 // 1 = AM PM цаг, 0 = ЦЭРГИЙН/24 ЦАГ цаг

-14400 -ийг офсетоор солино уу. Дараагийн мөрөнд AMPM 1 -ийг харах болно, энэ нь цагийг AM/PM дээр харуулах болно, хэрэв та үүнийг 24 цагийн дотор харахыг хүсвэл нэгийг тэг болгоорой.

Дараа нь ноорогоо самбартаа оруулаад, хандалтын цэг рүү (wifi менежер) холбогдож, wifi -ийнхээ дэлгэрэнгүй мэдээллийг оруулна уу. Хэрэв та үүнийг аль хэдийн хийчихсэн бол дэлгэцэн дээр "холбогдсон" гүйлгэж харах ба хэдэн секундын дараа цагийг харах болно.

Энэ төслийн хувьд энэ бол энгийн бөгөөд ашиглахад хялбар ….

(Боломжит сайжруулалтууд: Сар, өдөр, жилийг харуулах, дуут дохио, дохиолол тохируулах - вэб хуудсаар дамжуулан харж буй зүйлээ ерөнхийд нь хянах боломжтой. Эдгээр санаа нь одоогийн энгийн ноорогыг дахин томоор бичих болно)

Өөр нэг энгийн төсөлд бэлэн байна - ОУСС хаана байгааг харуул - Урьдчилан таамаглаж, Сансарт хичнээн олон хүн байгааг харуулаарай! (PS энэ ноорог нь вэб хуудсыг ашиглан дэлгэцэн дээр гарч буй зүйлийг хянадаг) …

Алхам 6: Төсөл 2: ОУСС дамжуулах урьдчилсан таамаглалын дэлгэц,

Төсөл 2: ISS нэвтрүүлэх урьдчилсан мэдээний дэлгэц,
Төсөл 2: ISS нэвтрүүлэх урьдчилсан мэдээний дэлгэц,
Төсөл 2: ISS нэвтрүүлэх урьдчилсан мэдээний дэлгэц,
Төсөл 2: ISS нэвтрүүлэх урьдчилсан мэдээний дэлгэц,
Төсөл 2: ISS нэвтрүүлэх урьдчилсан мэдээний дэлгэц,
Төсөл 2: ISS нэвтрүүлэх урьдчилсан мэдээний дэлгэц,

Төсөл 2: ISS Pass урьдчилан таамаглах дэлгэц, энэ төсөл нь процессорын 2 -р цөмийг ашигладаг. Энэ нь ОУСС нь хэр ойрхон (мильээр) байгааг, дараагийн ОУСС -ийг хэзээ таны байршилд (UTC цагаар) хүлээхийг, мөн сансарт хичнээн хүн байгааг харуулах болно. Эдгээр мэдээллийн ихэнх нь байнга өөрчлөгддөггүй тул бид 2 -р цөмийг ашиглан нэвтрэх урьдчилсан мэдээг шинэчлэх, эсвэл 15 минут тутамд хэдэн хүн сансарт байгаа эсэхийг шалгахын тулд ашигладаг. Бид сервер рүү хэт олон API дуудлага хийхээс урьдчилан сэргийлж чадна. Энэ төсөл нь арай илүү төвөгтэй боловч хийхэд хялбар хэвээр байна.

Энэ төсөл нь эндээс олж болох миний өмнөх төслүүдийн нэг дээр үндэслэсэн болно:

(ISS-ийн энгийн мэдэгдлийн систем) Үүний тулд би OLED дэлгэцтэй (D-Duino) ESP8266-ийг ашигласан. Ихэнх тохиолдолд энэ төсөл нь өөр дэлгэцийн системийг ашигладаг тул би үүнийг өргөжүүлсэн бөгөөд ингэснээр та хүссэн зүйлээ вэб хуудсаар дамжуулан өөрчлөх боломжтой болно. Тиймээс эхэлцгээе ….

Ашиглахад хялбар зээлийн ихэнх хувийг https://open-notify.org оруулдаг бөгөөд энэ нь маш энгийн бөгөөд ашиглахад хялбар API-тэй. Нээлттэй мэдэгдэх API нь ОУСС-ийн өргөрөг ба уртрагийн байршил, өгөгдсөн өргөрөг, уртраг дээр үндэслэн таамаглалыг дамжуулах гурван зүйлийг харуулдаг. Эцэст нь сансарт хичнээн олон хүн (мөн тэдний нэрс) байна.

Бид өөр номын сан суулгах хэрэгтэй болно - ArduinoJson номын сан.

github.com/bblanchon/ArduinoJson

Бидэнд TimeLib.h хэрэгтэй байна, гэхдээ би үүнийг хаанаас авсан, IDE -д оруулсан эсэхийг мэдэхгүй байна (уучлаарай).

ОУСС хаана байхыг урьдчилан таамаглах нь яагаад чухал вэ - ОУСС нь янз бүрийн сонирхогчдын радио төхөөрөмж агуулдаг бөгөөд "толгой дээгүүр" байвал сонирхогчийн радио оператор нь маш энгийн (мөн хямд) радио ашиглан ОУСС -тай холбоо барьж болно. Би үүнийг хөдөлгөөнт (машинд жолоодож байхдаа) хийж байсан. Үүнийг хийхийн тулд танд үнэхээр их зүйл хэрэггүй. Танд хэрэгтэй цорын ганц зүйл бол хаана байгааг мэдэх явдал юм. Антенныг ерөнхий чиглэлд чиглүүлэх нь тусалдаг.

57, 58, 59 -р мөр нь дэлгэцийн зарим хувьсагч юм - хэрэв тэдгээрийг 1 болгож тохируулсан бол та дэлгэцийг харах болно, хэрэв тэдгээрийг 0 (тэг) болгож тохируулсан бол та дэлгэцийг харахгүй болно. (Эдгээр хувьсагчдыг ноорог дээр тохируулах эсвэл галын хуудас үүсгэсэн вэб хуудаснаас шинэчлэх боломжтой - дараа нь энэ талаар дэлгэрэнгүй үзэх болно).

int locDis = 1; // ISSint pasDis -ийн байршлыг харуулах = 0; // Pass Pass таамаглалыг харуулах int pplDis = 1; // Сансарт байгаа хүмүүсийг харуулах

Тиймээс locDis нь ОУСС -ийн байршлыг өргөрөг ба уртраг дээр харуулах бөгөөд энэ нь хэдэн милийн зайд байгааг харуулна.

pasDis нь open-notify.org-оос дамжуулах таамаглалыг авч, харуулах болно.

Эцэст нь pplDis нь нэрс болон хэдэн хүн орон зайд байгааг харуулах болно - энэ нь маш удаан үргэлжилж магадгүй юм.

бас байнга өөрчлөгддөг. (та эдгээрийг өөрчилж эсвэл орхиж болно, энэ нь бүрэн сонголт биш юм)

Бид бас өргөрөг, уртрагаа мэдэж, ноорог дээрээ оруулах хэрэгтэй.

Энэ нь нарийн/урт байх албагүй, энэ нь танай хотын төв байж болно, эсвэл бага зэрэг унтраах болно. ОУСС -ийн хөлийн хэвлэмэл хэсэг нь толгой дээгүүрээ өргөн бөгөөд хэдэн зуун (эсвэл хэдэн мянган) миль замыг туулах боломжтой тул урт хугацаанд жаахан унтраах нь наймаа эвдэхгүй (ихэнх тохиолдолд), 500 миль гаруй харилцаа холбоо нэлээд түгээмэл байдаг.

Хэрэв та өргөрөг, уртраг мэдэхгүй бол энэ вэбсайт танд туслах болно.

www.latlong.net Ноорогны 84 -р шугамын ойролцоо та дараах зүйлийг харах болно.

// Өргөрөг ба уртраг эндээс олоорой // https://www.latlong.net/ float mylat = 39.360095; float mylon = -84.58558;

Үүнийг л өөрчлөх хэрэгтэй. Ноорогоо байршуулаад Firebeetle -ийг интернетэд холбоно уу. ОУСС -ийн байршлыг лат/урт, хэдэн милийн зайд байгааг та харах ёстой (энэ нь ойролцоо зай байх болно гэдгийг санаарай. ОУСС маш хурдан хөдөлж, дэлгэц дуусахад ОУСС нь байсан газраасаа олон км зайд нүүсэн). Та мөн сансарт байгаа хүмүүсийг харах ёстой. (Хэрэв та дээрх хувьсагчийг өөрчилөөгүй бол).

Бид вэбсайтыг ажиллуулахын тулд ESP32-ийн хоёр дахь цөмийг ашиглаж байгаа бөгөөд энэ сайтыг ашигласнаар LED матриц дээр гарч буй зүйлийг хянах боломжтой болно. Энэ нь хэрхэн ажилладаг талаар маш ойлгомжтой байх ёстой, нэг хэсэг нь дэлгэц дээр асаалттай байгаа зүйлийг харуулдаг, нөгөө хэсэгт "тийм", "үгүй" гэсэн товчлуурууд байдаг. "Тийм" дээр дарсан нь үүнийг үзэхийг хүсч байгаа гэсэн үг бөгөөд "үгүй" гэсэн үг биш үүнийг үзүүлэхгүй. Дээд хэсэг нь товчлуур дээр үндэслэн өөрчлөгдөж байгааг та бас харах ёстой.

Энд огтхон ч хатаагүй цорын ганц зүйл бол Firebeetle -ийн IP хаягийг хэрхэн олох вэ, харамсалтай нь би үүнийг олох сайн аргыг олж чадаагүй тул би IDE -ийн цуваа консолыг харуулав. энэ (9600 baud).

Консолыг нээгээд та IP хаягийг харах ёстой. (холбогдсон мессежийг авахаасаа өмнө нээнэ үү) - миний өөр сонголт бол үүнийг LED матриц дээр шууд эхлүүлэх үед харуулах явдал байсан - та үүнийг харахгүй байж магадгүй тул та үүнийг алдах болно. Би SMS мессеж эсвэл ямар нэгэн зүйл илгээх талаар бодож байсан боловч эцэст нь би үүнийг энгийн байлгасан. (Би статик IP/гарц/гэх мэтийг оноохыг оролдсон боловч үүнийг wifi менежертэй зөв ажиллуулж чадсангүй - код нь ноорог хэвээр байгаа тул хэрэв хэн нэгэн үүнийг олж мэдвэл надад мэдэгдээрэй)

Ноорог нь FreeRTOS -ийг ESP32 цөмд оруулахаас өмнө хийгддэг - Бидэнд 15 минут тутамд ажилладаг даалгавар байдаг бөгөөд энэ нь дамжуулалтын таамаглалыг, мөн сансарт байгаа хүмүүсийг шинэчлэх явдал юм. Өмнө нь хэлсэнчлэн сансарт байгаа хүмүүс тийм ч их өөрчлөгддөггүй тул үүнийг өөр ажил руу шилжүүлж магадгүй бөгөөд 12 цаг тутамд нэг удаа (эсвэл 6 цаг) ажиллуулж магадгүй юм - гэхдээ энэ нь ажилладаг бөгөөд бүх зүйлийг энгийн байлгадаг.

FreeRTOS-ийг мэдэхгүй хүмүүст ганц цөмт микро хянагчийг олон ажлуудыг гүйцэтгэх боломжийг олгодог

Ихэвчлэн үүнийг ажиллуулахын тулд та зарим номын сан болон бусад зүйлийг оруулах ёстой, гэхдээ энэ нь ESP32 -ийн цөмд багтдаг бөгөөд энэ нь ESP32 -ийг маш хүчирхэг төхөөрөмж болгодог. FreeRTOS -ийн талаар дэлгэрэнгүй мэдээлэл авахыг хүсвэл

freertos.org/

САЙЖРУУЛАХ: энэ төслийг сайжруулах хэд хэдэн зүйл байгаа бөгөөд бараг өдөр бүр би арай өөрөөр хийх, өөрчлөх эсвэл нэмж болох зүйлийг бодож байна.

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

* Нэгэн цагт би неопикселийг дэлгэц дээр нэмж оруулахыг оролдсон нь өмнөх төсөлтэйгөө адилхан байх болно - би үүнийг хэзээ ч зөв ажиллуулж чадаагүй (энэ нь миний бодож үзээгүй цахилгааны асуудал байсан гэж би ойлгосон) энэ санаагаа сайжруулах арга зам дээр ажиллаж байна *

Энэ алхамыг бичихдээ би вэбсайтад таны өргөрөг, уртрагийг шинэчлэх арга замыг нэмж өгч магадгүй юм. Ийм байдлаар ноорогоо хэзээ ч өөрчлөх шаардлагагүй болно гэж би бодлоо.

IP хаягийг олж авах сайжруулсан арга бол миний хийхийг хүсч буй өөр зүйл юм (одоо ч гэсэн энэ тухай бодож байна)

Дараагийн төсөл рүүгээ явцгаая. …

Алхам 7: Төсөл 3: MQTT ашиглан энгийн хөдөлгөөнт зурвасын тэмдэг

Төсөл 3: MQTT ашиглан энгийн хөдөлгөөнт зурвасын тэмдэг
Төсөл 3: MQTT ашиглан энгийн хөдөлгөөнт зурвасын тэмдэг
Төсөл 3: MQTT ашиглан энгийн хөдөлгөөнт зурвасын тэмдэг
Төсөл 3: MQTT ашиглан энгийн хөдөлгөөнт зурвасын тэмдэг
Төсөл 3: MQTT ашиглан энгийн хөдөлгөөнт зурвасын тэмдэг
Төсөл 3: MQTT ашиглан энгийн хөдөлгөөнт зурвасын тэмдэг

"loading =" залхуу "" loading = "залхуу"

Шагнал 2 -р хэсэг - Зураг харуулах
Шагнал 2 -р хэсэг - Зураг харуулах
Шагнал 2 -р хэсэг - Зураг харуулах
Шагнал 2 -р хэсэг - Зураг харуулах
Шагнал 2 -р хэсэг - Зураг харуулах
Шагнал 2 -р хэсэг - Зураг харуулах

Номын сан нь дүрсийг харуулах боломжтой болж байна. Яагаад гэвэл энэ функц нь "хувийн" юм шиг санагддаг. Дээрх зургуудын хувьд би номын санг дахин өөрчилж, drawImage -ийг олон нийтийн функц болгосон.

Энэ удаад би өөрчилсөн номын санг тойм зургийн санд оруулсан тул та номын санг дахин суулгах шаардлагагүй, ноорог эхлээд өөрийгөө хардаг, дараа нь номын сангийн лавлахад харагдах болно, тиймээс бид сайн байна!

*** Би энэ өөрчлөлтийг DFRobot -т оруулахаар төлөвлөж байна, учир нь энэ төрлийн ноорог хийх нь үнэхээр дажгүй бөгөөд цэвэрхэн юм ***

LED Matrix Images -ийн ноорог зураг, энд би эхлээд номын сан юу хүсч байгааг, мөн юу ажиллахгүй, юу болохгүй байгааг олж тогтоохыг хичээсэн. 8х8 хэмжээтэй зургууд хамгийн сайн ажилладаг болохыг олж мэдсэн боловч та бусдыг ажиллуулах боломжтой. Би хэд хэдэн онлайн удирдсан матрицын редакторуудыг олсон бөгөөд зарим нь бусдаас илүү сайн ажилладаг.

xantorohara.github.io/led-matrix-editor/-зүгээр ажиллаж байгаа юм шиг, 8х8 хэмжээтэй зураг гаргадаг бөгөөд та тэдгээрийг байтын массив болгохыг хүсдэг.

www.riyas.org/2013/12/online-led-matrix-fo… энэ нь сайн ажилладаг бөгөөд 8х8-аас том хэмжээтэй дэлгэц хийх чадвартай тул дэлгэц нь энэ талын хажуу тийш эргэсэн бололтой Гэсэн хэдий ч. Байтын массивууд энд хамгийн сайн ажилладаг юм шиг байна. Би үүнийг дээрх видеон дээр харагдсан "сансрын түрэмгийлэгчид" болгоход ашигласан.

Тэгэхээр энэ хэрхэн ажилладаг, drawImage (const байт * img, uint8_t width_t, uint8_t height_t, int8_t x, int8_t y, int img_offset);

image байтын массивын хувьсагч, зургийн өргөн (8), зургийн өндөр (8), дэлгэц дээрх эхлэх байрлал x (0), y (0) ихэвчлэн, офсет дугаар, би тийм биш Энэ нь юу хийдэг гэдэгт 100% итгэлтэй байдаг тул ихэнхдээ би үүнийг тэг түвшинд үлдээдэг.

LED матрицын зургийн тоймд 8 өөр байтын массив байдаг бөгөөд тэдгээрийг гурван өөр аргаар хийдэг.

- салют бол анхны массивууд, үнэн хэрэгтээ энэ нь хэрхэн ажилладагийг би сайн мэдэхгүй байна - гэхдээ энэ нь ажилладаг.

Дараагийнх нь ам байдаг - энэ нь тийм ч зөв ажилладаггүй, ам нь буруу замыг тавьж байгаа бөгөөд ямар нэгэн өөрчлөлт хийхийг оролдох нь улам бүр дордуулдаг. (юу ажиллаж, юу нь болохгүй байгааг сурах нь зугаа цэнгэлийн хагас)

Эхний marioImg -ийг дагасан - энэ нь дэлгэцийн хувьд хэтэрхий том хэмжээтэй бөгөөд энэ нь унтраах хэрэгсэл тоглодог газар гэж би бодож байна - би үүнийг энд ашигласан бөгөөд хэрэв та офсетыг 1 болгон өөрчилвөл та mario -ийн урд хэсгийг харж болно. Түүний ар талыг харах болно. (Та яагаад би эсвэл яагаад офсет хийж байгааг хэлж чадахгүй байна. Энэ нь дүрсийг өөрчилдөг юм шиг санагддаг, гэхдээ яагаад 2 -ыг нь өөрчилдөг болохоор та түүний урд талыг харж болно, яагаад 1 өөр чиглэлд шилжиж байгааг би хэлж чадахгүй байна)

IMAGES - байтын массив бол миний хийсэн @ тэмдэг юм - https://xantorohara.github.io/led-matrix-editor дээрх хэрэгслийг ашиглан миний хийсэн зүйл шиг харагдаж байна.

pic1 байтын массив нь миний хийхийг оролдож байсан зүйл шиг харагдаж байна, гэхдээ энэ нь миний оролдож байснаас хамаагүй жижиг юм - би хэлж чадахгүй байна, гэхдээ ерөнхийдөө редактор дээр хийж байсан зүйл шиг харагдаж байна гэж би хэлж чадна.

mario2Img - энэ бол 8х8 хэмжээтэй дэлгэцийн хэмжээтэй том Мариогийн миний хувийн хувилбар бөгөөд та тэнд ганц хоёр пиксел байрлуулаагүй байна (миний буруу, дэлгэц биш) энэ нь жижиг Марио шиг харагдаж байна.

invader1 ба invader2 - сансрын түрэмгийлэгчдийн талаархи миний санаа. Тэд үнэхээр сайн болсон бөгөөд зурагнуудаа бие биенийхээ дээр тавьснаар би хөлийн хөдөлгөөнийг бий болгож чадна.

Лавлах хэсэгт хоёр салют ноорог байдаг бөгөөд тус бүр нь арай өөр бөгөөд туршиж үзэх нь зүйтэй юм.

Нэг нь дэлгэцэн дээр салют бууддаг тул арай өөр/хөдөлгөөнт дүрс … нөгөөх нь хоёр салютыг нэгэн зэрэг харуулдаг.

Мөн гурван "түрэмгийлэгч" ноорог байдаг бөгөөд тус бүр нь арай өөр, нэг нь халдагч дэлгэцээр хөдөлж байгаа бөгөөд та үүнийг миний яаж хийснийг харж болно - (үүнийг хийх илүү сайн арга байдаг, би мэдэхгүй байна)

Илүү их зүйл: репозиторийн туршилтын лавлахад зарим тойм зураг байдаг - эдгээрийн ихэнх нь миний хүссэнээр ажиллаагүй, эсвэл миний хийхийг хүсч байсан боловч миний хүссэнээр ажиллаагүй. Хэн нэгэн миний санааг олж авсан болохоор би тэднийг орхисон *(ОУСС -ийн дэлгэц дээр ашиглахын тулд WS2812 пиксел бүхий жижигхэн "бамбай" хийсэн, гэхдээ би үүнийг 3v шугамд холбосон, хангалттай биш байсан. LED матрицыг ажиллуулж чадвал пиксел нь LED матрицгүйгээр сайн ажиллаж байсан тул миний хийж чадах зүйл байсаар л байна)*

"Илүү олон жишээ" гэсэн лавлах бас байдаг - эдгээр нь зарим төслийн ноорогуудын хувилбар юм, би ямар нэг зүйл нэмж, хассан эсвэл ямар нэгэн байдлаар өөрчилсөн болно. Үүний тулд тэд ажилладаг - тэд эцсийн төсөл биш юм. Тиймээс би тэднийг дахин орхисон бөгөөд хэн нэгэн тэдэнд хэрэгтэй зүйл олж магадгүй юм. (Магадгүй)

Надад эдгээр төслүүдийг хийх дуртай байсан шиг энэ зааварчилгаа таалагдсан гэж найдаж байна:-)

Алхам 11: Линкс …

Энэ төслийг DF Robot ивээн тэтгэж, дэмжсэн. Бүтээгдэхүүний хувьд доорх линкийг ашиглана уу.

Firebeetle ESP32 -

Firebeetle бүрхэвч 24x8 LED матриц -

Миний кодын репозитор:

Хэрэв танд энэ эсвэл миний хэрэгжүүлж буй төслүүдийн аль нэг нь хэрэгтэй эсвэл тааламжтай санагдаж байвал намайг дэмжээрэй. Надад олдсон бүх зүйл илүү их эд анги худалдаж авах, илүү сайн/сайн төслүүдийг хэрэгжүүлэхэд зориулагдсан болно.

www.patreon.com/kd8bxp

NTPClient номын сан

ArduinoJson.h

ESP8266 Цаг агаарын номын сан

Json-Streaming-Parser номын сан

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