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

Bluetooth бага энергитэй LED POVstick: 10 алхам (зурагтай)
Bluetooth бага энергитэй LED POVstick: 10 алхам (зурагтай)

Видео: Bluetooth бага энергитэй LED POVstick: 10 алхам (зурагтай)

Видео: Bluetooth бага энергитэй LED POVstick: 10 алхам (зурагтай)
Видео: Мужская команда Casio G-Shock Land Land Cruiser Rangeman | GPR-B1000TLC-1 Toyota Auto ... 2024, Арваннэгдүгээр
Anonim
Бага энергитэй Bluetooth POVstick
Бага энергитэй Bluetooth POVstick

Энэхүү зааварчилгаа нь гар утаснаасаа BLE -ээр хянагдах боломжтой RGB LED бүхий гэрэлтүүлэгчийг хэрхэн бүтээхийг танд харуулав.

Харанхуй улирал эхэлж байгаа тул та удаан хугацааны турш гэрэл зураг авах хэрэгтэй болно: Энэ модны тусламжтайгаар та зурган дээрээ гарын үсэг зурах эсвэл урам зориг өгөх ишлэл эсвэл хайрын тухай мэдэгдэл, QR код, вэб хаяг эсвэл бусад олон зүйлийг бичиж болно. өөр зүйл…

Энэ нь хөгжлийн хэд хэдэн сэдвийг хамардаг:

  • тоног төхөөрөмжийг бүтээх
  • Cypress BLE чипсетийг C програмчлах
  • Үүнийг хянахын тулд өөрийн аппликейшнийг хий.

Алхам 1: BLE-LED-Stick-ийн тоног төхөөрөмж

BLE-LED-Stick-ийн тоног төхөөрөмж
BLE-LED-Stick-ийн тоног төхөөрөмж
BLE-LED-Stick-ийн тоног төхөөрөмж
BLE-LED-Stick-ийн тоног төхөөрөмж
BLE-LED-Stick-ийн тоног төхөөрөмж
BLE-LED-Stick-ийн тоног төхөөрөмж
BLE-LED-Stick-ийн тоног төхөөрөмж
BLE-LED-Stick-ийн тоног төхөөрөмж

Шалны хувьд танд дараахь зүйл хэрэгтэй болно.

  • Cypress BLE модуль (CY8C4247LQI-BL583)
  • WS2812b RGB-LED зурвас (метр тутамд 144Led-ээс 64 LED)
  • тохиромжтой эзэмшигчтэй ли-ион батерей (18650)
  • товчлуур
  • талхны нэг хэсэг

Модны тоног төхөөрөмж нь өөрөө маш энгийн.

Cypress BLE модулийг талхны тавцан дээр суурилуулсан бөгөөд LED, товчлуур, тэжээлийн хангамжийг энэ самбар дээр холбосон болно.

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

Алхам 2: Электроникийн угсралт

Электроникийн угсралт
Электроникийн угсралт
Электроникийн угсралт
Электроникийн угсралт

Энэ алхам нь BLE модулийг хэрхэн суурилуулж, ямар тээглүүрийг ямар зорилгоор ашиглаж байгааг харуулж байна.

Миний хэд хэдэн зааварчилгааны нэгэн адил би Cypress BLE Development Kit -ийг ашигласан. CY8CKIT-042-BLE хурдан эхлүүлэх гарын авлага

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

Манай төслийн хувьд бид LED зурвасыг жолоодохын тулд зүү 3.5-ийг л ашигладаг. Мэдээжийн хэрэг та үүнийг PSoC Бүтээгчийн тусламжтайгаар өөрчилж болно.

ПХБ -ийн зурган дээр харж байгаа шиг би чипний бүх буланд зүүг нэмсэн боловч VREF зүүг алгассан.

Ийм байдлаар модулийг зөв суурилуулсан бөгөөд модулийг буруу холбох боломжгүй юм.

Алхам 3: Фонт хэрхэн үүсгэх вэ?

Үсгийн фонтыг хэрхэн үүсгэх вэ?
Үсгийн фонтыг хэрхэн үүсгэх вэ?

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

Мэдээжийн хэрэг, та шинэ фонт зохиож, массиваар бичиж болно, гэхдээ энэ бол үнэхээр их ажил юм!

Тэгэхээр би юу хийсэн юм бэ?

Hex-bitmap хөрвүүлэхийн тулд надад ямар нэг төрлийн ASCII хэрэгтэй гэдгийг би мэдэж байсан. Би азтай байсан, учир нь би энэ асуудалтай тулгарсан анхны хүн биш байсан!:-)

"GLCD фонт үүсгэгч" програм нь яг зөв зүйлийг хийсэн:

Би LED зөөгчийг хамгийн их ашиглахыг хүсч байсан тул фонтыг нэлээд том хэмжээтэй (~ 32 пиксел) импортолсон. Хэрэв та зөвхөн том үсгээр бичдэг бол дээш өргөгчдийн талаар санаа зовох шаардлагагүй болно, ингэснээр таны харагдах фонтын хэмжээг хэдхэн пикселээр нэмэгдүүлэх болно. Гэхдээ би том үсэг, жижиг үсгийг хоёуланг нь ашиглахаар сонгосон. (https://en.wikipedia.org/wiki/Ascender_%28typography%29)

Та фонтыг GLCD Font генератор руу импортлосны дараа өөр форматаар экспортлох боломжтой.

Би үүнийг сайн гарчиг руу шууд экспортлохыг хичээсэн боловч төгс биш байсан. Үр дүнгийн экспорт нь 128-ascii анхны тэмдэгт бүрийн баганын байт-зургаан өнцөгт утгатай богино хэмжээний массив (16bit) юм. Миний хүссэн эсвэл хэрэгтэй зүйл тийм ч сайн биш байсан …

Тиймээс би массивыг нээлттэй оффисын кальцийн ажлын хуудсанд оруулсан. Дараа нь би "0x" -ийг дөрвөн утгын гурваас хасаад 32 битийн урт утга болгон нэгтгэв. Би бас тус тусдаа байтуудын буруу алдааг зассан.

Үр дүнгийн массив нь 32 битийн утгатай N*M массив юм. M нь тус тусын тэмдэгт бөгөөд N нь энэ үсгийн дэлгэцийг бүрдүүлдэг багана юм. Энэхүү анхны төсөлд бүх тэмдэгтүүд ижил тооны баганатай байдаг бөгөөд энэ нь сайн мэддэг Courier фонт шиг бүх үсэг ижил өргөнтэй гэсэн үг юм. "I" эсвэл "t" гэх мэт жижиг дүрүүд орон зайд төөрсөн мэт харагдаж байна.

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

Алхам 4: BLE хяналтын програм хангамж

BLE хяналтын програм хангамж
BLE хяналтын програм хангамж

BLE програм хангамжийн зарчим нь маш энгийн:

  • Эхэндээ энэ нь юу ч хийдэггүй.
  • BLE -ээр дамжуулан та өөр өөр анимаци эсвэл текстийг харуулах боломжтой.
  • Та товчлуурыг дарсны дараа хөдөлгөөнт дүрс эсвэл текстийн тусдаа багана гарч ирнэ.
  • Текстийг харуулсны дараа дахин хүлээнэ.

Зүгээр л кипарийн төслийг PSoC-Бүтээгч рүүгээ оруулж, хэрэв хүсвэл үүнийг өөрчилнө үү.

PSoC-4 нь фонтуудын бүрэн RGB дүрсийг хадгалах чадвартай тийм их RAM, флаштай байдаггүй. Тиймээс надад LED контентийг текстээс динамикаар үүсгэх арга хэрэгтэй байсан. Энэ бол маш энгийн зүйл бөгөөд одоогоор онцгой зүйл алга. Олон үсэг бүхий текстээс алгоритм нь нэг үсгийг аваад хар цагаан өнгийн битийн массив болгон хувиргадаг. Дараа нь энэ нэг үсэг бүхий битийн зургийн багана бүрийг авах бөгөөд цагаан өнгийн оронд LED-массивт одоогийн RGB өнгийг бичнэ. Ингэснээр та нэг өнгийн текст үүсгэх эсвэл нэмэлт функцээр багана, үсэг бүрийн дараа эсвэл пиксел бүрийн дараа өнгийг өөрчилж болно.

"Захидал" -ийг нэг байт хувьсагчаар хадгалах боломжтой бөгөөд хар цагаан өнгийн цэгийн зургийг ямар нэгэн массивт хадгалах шаардлагатай байна.

Өгөгдлийн бүтэц нь дараах байдалтай байна.

String: newtext = "Сайн уу";

Фонт: uint32 characters = {FirstCharacter_ColumnCount, FirstCharacter_FirstColumn, FirstCharacter_SecondColumn,… SecondCharacter_ColumnCount, SecondCharacter_FirstColumn,…… LastCharacter_ColumnCount,… LastCharacter_LastColumn}; Өнгө: uint32 rgbcolor = 0xHHBBGGRR; // Гэрэлтүүлэг, Цэнхэр, Ногоон, Улаан тус бүр 8 битийн утгатай

Дэлгэцийн мөрийг хөрвүүлэхийн тулд бид дараах зүйлийг хийдэг.

getCharacter (): H (8 бит)

getColumn (int i): багана (32 бит), LED-Strip Array нь тус бүр 32 битийн өнгө бүхий 64 LED юм!

Хэрэв энэ багана гарч ирвэл бид дараагийнхыг үргэлжлүүлнэ.

Энэ бол амархан.

Алхам 5: Эхний шалгалт

Эхний туршилт
Эхний туршилт
Эхний туршилт
Эхний туршилт
Эхний туршилт
Эхний туршилт

Програм хангамж ажиллаж эхэлмэгц бид анхны туршилтуудад бэлэн байна.

Суулгагдсан функцийг турших хамгийн хялбар арга бол Bluetooth бага энергийн туршилтын програм юм. Нордикийн эсвэл Cypress програмууд шиг.

Нордик: Гар утсанд зориулсан nRF Connect

Cypress: CySmart

Pov-Stick-ийг эхлүүлж, демо мөрийг хэрхэн харуулахыг ажиглаарай. Үүнийг дуусгасны дараа програмыг эхлүүлэх цаг болжээ. Povstick төхөөрөмжийг хайж олоод холболт дээр дарна уу.

Холболт хийсний дараа програм нь тодорхойлсон бүх үйлчилгээ, шинж чанарыг автоматаар олж нээдэг.

Эхний үйлчилгээг хайж олоорой (0000ccce -ээс эхлэх ёстой …). Үүнийг дарж нээгээд эхний шинж чанарыг харуулна (0000ccc1 -ээс эхэлнэ). Дараа нь бичих (эсвэл байршуулах) товчлуурыг дарж энэ шинж чанарт 01 бичнэ үү.

Илгээх товчлуурыг дарсны дараа POVstick нь Color-Knight-rider анимэйшн болох Larson Scanner-ийг өнгө өөрчлөх замаар эхлүүлэх болно.

BLE -ээр дамжуулан анхны үнэ цэнээ илгээсэнд баяр хүргэе!

Алхам 6: Анимацийг сонгоно уу

Анимацийг сонгоно уу
Анимацийг сонгоно уу
Анимацийг сонгоно уу
Анимацийг сонгоно уу
Анимацийг сонгоно уу
Анимацийг сонгоно уу
Анимацийг сонгоно уу
Анимацийг сонгоно уу

Програм хангамж дээр бид "e_Animation" гэсэн утгыг дараах утгуудаар тодорхойлсон болно.

typedef enum {Knightrider = 0, ColorKnightRider, Rainbowswirl, Valueswirl, WS_CandyCane, WS_CandyCane_2, WS_CandyCane_3, WS_Twinkle, WS_Icicle, WS_ColorWheel, RGB_Cax, Animation_nimation;

Эдгээр нь ccc1 шинж чанарын хувьд хүчинтэй утгууд юм. Хэрэв та CandyCane-Animation-ийг үзэхийг хүсвэл энэ шинж чанартаа 4, 5, 6 гэж бичих хэрэгтэй. Тэд өнгөөрөө ялгаатай.

Хоёр тусгай анимац бол RGB_Control ба TextAnimation юм. Хэрэв та эдгээрийг идэвхжүүлэхээр шийдсэн бол саваа эхлээд юу ч харуулахгүй нь ойлгомжтой. Гэхдээ энэ нь зөөгчийг бусад үйлчилгээгээр удирдах нэмэлт сонголтыг санал болгодог.

Алхам 7: RGB хяналт

RGB хяналт
RGB хяналт
RGB хяналт
RGB хяналт
RGB хяналт
RGB хяналт
RGB хяналт
RGB хяналт

RGB-Control-ийг CySmart програмаар хялбархан туршиж үзэх боломжтой, учир нь би Cypress Demo дээрхтэй ижил UUID-ийг ашигласан.

CySmart програмыг ажиллуулаад Povstick руу холбогдоно уу. Эхлээд та ccc1 шинж чанарт "0x0A" бичих хэрэгтэй.

0x0A бол 10-ийн зургаан өнцөгт утга бөгөөд энэ нь RGB-Control анимац юм.

Дараа нь та CySmart програмын RGB-LED хяналтын самбар руу шилжиж болно. Энэ дэлгэц рүү орохын тулд та програмыг дахин эхлүүлэх шаардлагатай байж магадгүй юм. Дараа нь та бүх LED-ийн өнгийг энэхүү RGB диаграмаар хянах боломжтой.

Мэдээжийн хэрэг та мөн чанарыг шууд шинж чанар дээр бичиж болно.

Алхам 8: Текст_Анимацийн үйлчилгээ ба Байнгын хадгалах үйлчилгээ

Text_Aimimation үйлчилгээ ба байнгын хадгалах үйлчилгээ
Text_Aimimation үйлчилгээ ба байнгын хадгалах үйлчилгээ

Эдгээр үйлчилгээг турших нь тийм ч хялбар биш юм.

Техникийн хувьд та үүнийг хийхийн тулд скандинавын програмыг ашиглаж болно, гэхдээ ямар шинж чанарт ямар утгыг бичихээ мэдэх хэрэгтэй.

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

"Set-Speed" шинж чанар нь чухал юм. Энэхүү шинж чанараараа та анимац хэр хурдан болохыг хянах боломжтой болно.

PersistentStorageService -ийн "Set_Animation" шинж чанараар та текстийн мөрийн фонт болон өнгийг хянах боломжтой. Хүчин төгөлдөр утгыг "povanimation.h", "mono" ба "serif" гэсэн хоёр фонт, нэг өнгийн, солонгын өнгөөр тодорхойлсон болно. 0 ба 1 утгууд нь текстийг RGB_Control шинж чанараар хянах боломжтой тогтмол өнгөөр харуулдаг. 2 ба 3 гэсэн утгууд нь багана бүрийн өнгийг өөрчилж, мөрийг солонгоруулж өгнө.

"Write_Text_Service" нь арай өөр юм. Та "Set_Character" шинж чанарт тус тусдаа тэмдэгт бичиж төхөөрөмжид шинэ мөр бичих боломжтой. Бичлэг бүр дээр та мөрний одоогийн уртыг мэдэгдэх болно.

Шинэ мөр эхлүүлэхийн тулд "Clear_String" рүү "үнэн" гэж бичнэ үү.

Энэ бол хамгийн сайн хэрэгжилт биш боловч MTU -ийн хэмжээг өөрчлөхгүйгээр 250 тэмдэгт хүртэлх бүх мөрт ажилладаг.

Povstick дээрх товчлуурыг дарахад шинэ мөр гарч ирнэ.

Алхам 9: Android програмыг ажиллуулна уу

Энэ бол чухал алхам боловч энэ зааварчилгааны хамрах хүрээнээс хол байна. Үүнийг уучлаарай!

Би туршилтын програмаа тоглоомын дэлгүүрт байршуулж магадгүй, гэхдээ хараахан дуусаагүй эсвэл гаргах боломжгүй байна.

Алхам 10: Зураг дээр зурвас бичих

Зурган дээр зурвас бичих
Зурган дээр зурвас бичих
Зурган дээр зурвас бичих
Зурган дээр зурвас бичих
Зурган дээр зурвас бичих
Зурган дээр зурвас бичих

Тиймээс, энэ повстикийг эхний ээлжинд бүтээсэн нь: Зурган дээр зурвас бичих.

Танд tripod, урт өртөх функц бүхий камер, сайн байршил хэрэгтэй.

Камерыг тохируулж, анхны туршилтыг хийхийн тулд өртөх хугацааг 10 сек болгож тохируулна уу.

Хувилбарыг идэвхжүүлж, саваа дээрх текст дэлгэцийг эхлүүлээд зургаар явж эхлээрэй.

Et Voila бид тэнд байна!

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

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

Эхнийх нь LED нь хэт их гэрэлтдэг бөгөөд ид шидийн туяа үүсгэдэг. Гэхдээ ийм учраас газар дээрх тусгалууд харагдаж, ар тал нь илүү сайн байдаг.

Хоёрдахь зураг нь LED -ийн хувьд ил байгаа боловч энэ нь арын дэвсгэрийг бүрэн хараар үлдээдэг.

Гурав дахь нь нар жаргасны дараахан арай бүдэг LED харуулдаг. LED нь бусад зургуудынх шиг гэрэл гэгээтэй боловч орчин нь маш гэрэл гэгээтэй байсан тул бага гэрэлтүүлэг, бага ISO ашиглах шаардлагатай болсон.

Үүнийг Glow Contest 2018 болгоорой
Үүнийг Glow Contest 2018 болгоорой
Үүнийг Glow Contest 2018 болгоорой
Үүнийг Glow Contest 2018 болгоорой

Make It Glow уралдааны 2018 оны хоёрдугаар шагнал

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