Агуулгын хүснэгт:
- Алхам 1: BLE-LED-Stick-ийн тоног төхөөрөмж
- Алхам 2: Электроникийн угсралт
- Алхам 3: Фонт хэрхэн үүсгэх вэ?
- Алхам 4: BLE хяналтын програм хангамж
- Алхам 5: Эхний шалгалт
- Алхам 6: Анимацийг сонгоно уу
- Алхам 7: RGB хяналт
- Алхам 8: Текст_Анимацийн үйлчилгээ ба Байнгын хадгалах үйлчилгээ
- Алхам 9: Android програмыг ажиллуулна уу
- Алхам 10: Зураг дээр зурвас бичих
Видео: Bluetooth бага энергитэй LED POVstick: 10 алхам (зурагтай)
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:04
Энэхүү зааварчилгаа нь гар утаснаасаа BLE -ээр хянагдах боломжтой RGB LED бүхий гэрэлтүүлэгчийг хэрхэн бүтээхийг танд харуулав.
Харанхуй улирал эхэлж байгаа тул та удаан хугацааны турш гэрэл зураг авах хэрэгтэй болно: Энэ модны тусламжтайгаар та зурган дээрээ гарын үсэг зурах эсвэл урам зориг өгөх ишлэл эсвэл хайрын тухай мэдэгдэл, QR код, вэб хаяг эсвэл бусад олон зүйлийг бичиж болно. өөр зүйл…
Энэ нь хөгжлийн хэд хэдэн сэдвийг хамардаг:
- тоног төхөөрөмжийг бүтээх
- Cypress BLE чипсетийг C програмчлах
- Үүнийг хянахын тулд өөрийн аппликейшнийг хий.
Алхам 1: 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 -ээр дамжуулан та өөр өөр анимаци эсвэл текстийг харуулах боломжтой.
- Та товчлуурыг дарсны дараа хөдөлгөөнт дүрс эсвэл текстийн тусдаа багана гарч ирнэ.
- Текстийг харуулсны дараа дахин хүлээнэ.
Зүгээр л кипарийн төслийг 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-Control-ийг CySmart програмаар хялбархан туршиж үзэх боломжтой, учир нь би Cypress Demo дээрхтэй ижил UUID-ийг ашигласан.
CySmart програмыг ажиллуулаад Povstick руу холбогдоно уу. Эхлээд та ccc1 шинж чанарт "0x0A" бичих хэрэгтэй.
0x0A бол 10-ийн зургаан өнцөгт утга бөгөөд энэ нь RGB-Control анимац юм.
Дараа нь та CySmart програмын RGB-LED хяналтын самбар руу шилжиж болно. Энэ дэлгэц рүү орохын тулд та програмыг дахин эхлүүлэх шаардлагатай байж магадгүй юм. Дараа нь та бүх LED-ийн өнгийг энэхүү RGB диаграмаар хянах боломжтой.
Мэдээжийн хэрэг та мөн чанарыг шууд шинж чанар дээр бичиж болно.
Алхам 8: Текст_Анимацийн үйлчилгээ ба Байнгын хадгалах үйлчилгээ
Эдгээр үйлчилгээг турших нь тийм ч хялбар биш юм.
Техникийн хувьд та үүнийг хийхийн тулд скандинавын програмыг ашиглаж болно, гэхдээ ямар шинж чанарт ямар утгыг бичихээ мэдэх хэрэгтэй.
Тиймээс, хэрэв та эдгээрийг туршиж үзэхийг хүсч байвал 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 ашиглах шаардлагатай болсон.
Make It Glow уралдааны 2018 оны хоёрдугаар шагнал
Зөвлөмж болгож буй:
Бага полиэтилен LED гэрэл: 9 алхам (зурагтай)
Бага поли LED гэрлийн чийдэн: Ямар ч ширээ, тавиур эсвэл ширээний гайхалтай нэмэлт! Суурь дээр байрлах салангид товчлуур нь янз бүрийн LED гэрэлтүүлгийн загварыг эргүүлэх боломжийг олгодог. Та дэнлүүгээ суралцах, амрах, эсвэл үдэшлэгт ашиглахыг хүсч байгаа эсэх нь хамаагүй … хэд хэдэн зүйл байдаг
Бага орон зайд илүү их шанцайны ургамал ургадаг эсвэл Сансарт огторгуйд ургадаг, (их эсвэл бага).: 10 алхам
Бага орон зайд илүү их шанцайны ургамал ургуулах, эсвэл … Сансарт огторгуй ургуулах, (их эсвэл бага). Энэ бол Дэлхийгээс гадна өсөн нэмэгдэж буй бүтээгчдийн уралдаанд мэргэжлийн зааварчилгаагаар ирүүлсэн бүтээл юм. Сансрын ургацын үйлдвэрлэлийг зохион бүтээж, анхны зааварчилгаагаа нийтэлж байгаад би илүү их баярлаж чадахгүй байлаа. Эхлэхийн тулд уралдаан биднээс
Нарны энергитэй зүрх анивчдаг LED зүүлт үнэт эдлэл: 11 алхам (зурагтай)
Нарны эрчим хүчээр ажилладаг зүрхний анивчсан LED зүүлт үнэт эдлэл: Энэхүү заавар нь нарны эрчим хүчээр ажилладаг улаан LED гэрэлтэй зүрхэнд зориулагдсан болно. Энэ нь ойролцоогоор 2 " USB табыг оруулаад 1.25 " гэхэд. Энэ нь самбарын дээд хэсэгт нэг нүхтэй бөгөөд дүүжлэхэд хялбар болгодог. Үүнийг зүүлт, ээмэг, зүүгээр боож өмсөөрэй
LEIDS - Бага энергитэй IOT хаалганы мэдрэгч: 8 алхам (зурагтай)
LEIDS - Бага энергитэй IOT хаалганы мэдрэгч: LEIDS гэж юу вэ? LEIDS бол ESP8266 дээр суурилсан IOT мэдрэгч юм. Энэхүү мэдрэгч нь энэхүү самбар, зөөлөн түгжээний хэлхээ, зэгс унтраалга, зарим соронзыг ашиглан хаалгыг онгойлгоход танд дохио өгөх хаалганы мэдрэгчийг бий болгодог
Энгийн WiFi -аас BLE (Bluetooth бага энерги) гүүр: 9 алхам (зурагтай)
Энгийн WiFi to BLE (Bluetooth Low Energy) гүүр: 2017 оны 12 -р сарын 4 -ний өдөр шинэчлэгдсэн - Feather nRF52 ноорог, дибаг хийх зөвлөмжүүд. Энэхүү энгийн төсөл нь Нордикийн UART -ийг TX Notify ашиглан Bluetooth -ийн бага эрчим хүч (BLE) модульд WiFi -ээр нэвтрэх боломжийг олгодог. Th