Мазмұны:

Қуаты аз Bluetooth бар LED POVstick: 10 қадам (суреттермен)
Қуаты аз Bluetooth бар LED POVstick: 10 қадам (суреттермен)

Бейне: Қуаты аз Bluetooth бар LED POVstick: 10 қадам (суреттермен)

Бейне: Қуаты аз Bluetooth бар LED POVstick: 10 қадам (суреттермен)
Бейне: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, Қараша
Anonim
Қуаты аз Bluetooth бар LED POVstick
Қуаты аз Bluetooth бар LED POVstick

Бұл нұсқаулықта телефоныңыздан BLE арқылы басқарылатын RGB светодиодтары бар светофор таяқшасын қалай жасау керектігін көрсетеді!

Енді қараңғы маусым басталып, сіз ұзақ экспозиция суреттерін түсіруіңіз керек: бұл таяқшамен сіз суретке өз қолтаңбаңызды, мотивациялық цитатаны немесе махаббат туралы декларацияны, 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 үшін жабдық

Таяқша үшін сізге мыналар қажет:

  • Кипарис BLE модулі (CY8C4247LQI-BL583)
  • WS2812b RGB-LED-жолағы (метрлік жолаққа 144 ледтен 64 LED)
  • Ли-Ион батареясы сәйкес ұстағышпен (18650)
  • батырмасы
  • нанның бір бөлігі

Таяқтың аппараттық құралы өте қарапайым.

Cypress BLE модулі нан тақтасына орнатылған және жарық диодты шамдар, түйме мен қуат көзі осы тақтаға қосылған.

Барлығы ағаштан жасалған таспаның кішкене бөлігіне бекітілген, желімделген немесе бұрандалы, ол ішінара мөлдір полиакрил түтікке салынған. Бірақ бұл міндетті емес. Мен бәрін түтікке орнатқым келді, бірақ светодиодтармен салыстырғанда өте үлкен BLE модулі мен батареяға сәйкес келетінін таппадым. Алғашқы түсірілім үшін сізге акрил түтік қажет емес.

2 -қадам: электрониканы құрастыру

Электроника құрастыру
Электроника құрастыру
Электроника құрастыру
Электроника құрастыру

Бұл қадам BLE модулінің қалай орнатылғанын және қандай түйреуіштер қандай мақсатта қолданылатынын көрсетеді.

Менің бірнеше нұсқауларымдағыдай, мен Cypress BLE әзірлеу жинағын қолдандым. CY8CKIT-042-BLE жылдам бастау нұсқаулығы

Егер сіз модульді дербес басқарғыңыз келсе, қуат көздері мен пайдаланылған түйреуіштерді қосу қажет.

Біздің жоба үшін біз светодиодты таспаны жүргізу үшін тек 3,5 түйреуішті қолданамыз. Әрине, сіз мұны PSoC Creator көмегімен өзгерте аласыз.

ПХД суретінен көріп тұрғаныңыздай, мен чиптің барлық бұрыштарына түйреуіш ұштарын қостым, бірақ мен VREF түйреуішін өткізіп жібердім.

Осылайша модуль дұрыс орнатылған және модульді дұрыс қосуға болмайды.

3 -қадам: Қаріптерді қалай құруға болады?

Қаріптерді қалай құруға болады?
Қаріптерді қалай құруға болады?

Менің ойымша, бұл жоба барысында шешкен ең қызықты мәселелердің бірі болды.

Әрине, жаңа қаріпті құрастыруға және оны массивке жазуға болады, бірақ бұл өте көп жұмыс!

Сонымен мен не істедім?

Он алтылық нүктелік кескінге түрлендіру үшін маған қандай да бір ASCII қажет екенін білдім. Мен бақытты болдым, өйткені мен бұл мәселемен бірінші емеспін!:-)

«GLCD қаріп генераторы» бағдарламалық жасақтамасы дұрыс жасады:

Мен жарықдиодты таяқшадан барынша көп пайда алғым келгендіктен, қаріпті үлкен көлемде (~ 32 пиксель) импорттадым. Егер сіз тек қана бас әріптерді қолдансаңыз, сіз көтерілетіндерге мән бермеуіңіз керек, бұл сіздің қаріп өлшемін бірнеше пиксельге арттырады. Бірақ мен бас әріптерді де, кіші әріптерді де қолдануды жөн көрдім. (https://kk.wikipedia.org/wiki/Ascender_%28typography%29)

Қаріпті GLCD қаріп генераторына импорттағаннан кейін оны әр түрлі форматта экспорттауды таңдауға болады.

Мен оны жақсы, бірақ мінсіз емес тақырыптарға тікелей экспорттауға тырыстым. Алынған экспорт-бұл 128-ascii бірінші таңбасының әрбір таңбасы үшін бағандар үшін байт-он алтылық мәндері бар қысқа шорты (16 биттік). Мен қалаған немесе қажет нәрсе емес …

Мен массивті ашық кеңсе калькуляциялық жұмыс парағына импорттадым. Содан кейін мен «0x» төрт мәннің үшеуін алып тастадым және оларды 32 биттік ұзын мәнге біріктірдім. Мен сондай -ақ жеке байттардың дұрыс еместігін анықтадым.

Алынған массив - бұл 32 биттік мәнді N*M массиві. M - сәйкес таңба, ал N - бұл әріптің дисплейін құрайтын бағандар. Бұл бірінші нобайда барлық таңбалар бірдей бағандарға ие, яғни барлық әріптер белгілі Courier шрифтіндегідей кең. «И» немесе «т» сияқты кішкентай кейіпкерлер ғарышта адасып кеткендей көрінеді.

Сондықтан мен әр таңбаның басында бұл таңбаның қанша бағанасы бар екенін немесе бұл таңбаның қаншалықты кең екенін айту үшін жаңа параметр қостым. Бұл жадты үнемдейді және мәтінді жақсы етеді!

4 -қадам: BLE басқару бағдарламасы

BLE басқару бағдарламасы
BLE басқару бағдарламасы

BLE-бағдарламалық қамтамасыз ету принципі өте қарапайым:

  • Басында бұл ештеңе жасамайды.
  • BLE арқылы әр түрлі анимацияларды немесе мәтіндерді көрсетуге болады.
  • Түймені басқаннан кейін анимацияның немесе мәтіннің жеке бағандары көрсетіледі.
  • Мәтін көрсетілгеннен кейін ол қайтадан күтуді жалғастырады.

Кипарис жобасын PSoC-Creator-ге импорттаңыз және қаласаңыз, оны өзгертіңіз.

PSoC-4-те қаріптердің толық RGB-суреттерін сақтай алатындай жедел жады мен флэш жоқ. Сондықтан маған LED-контентті мәтіннен динамикалық түрде жасау әдісі қажет болды. Бұл өте қарапайым, әзірге ерекше ештеңе жоқ. Әріптері көп мәтіннен алгоритм бір әріпті алады және оны ақ-қара нүктелік массивке түрлендіреді. Содан кейін ол бір әріптік нүктелік суреттің әрбір бағанын алады және ақ түстің орнына LED-массивіне ағымдағы RGB түсін жазады. Осылайша сіз бір түсті мәтіндерді құра аласыз немесе қосымша функция арқылы әр бағаннан, әр әріптен немесе әр пиксельден кейін түсін өзгерте аласыз.

«Әріпті» бір байт айнымалысында сақтауға болады, ал ақ-қара нүктелік кескінді қандай да бір массивте сақтау қажет.

Мәліметтер құрылымы-бұл:

Жол: newtext = «Сәлеметсіз бе»;

Қаріп: uint32 таңбалар = {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 биттік) (i бірінші бағаннан басталады, соңғысына дейін жұмыс істейді.) if (бағандағы бит 1) Strip ішіндегі LED түске орнатылған. LED-Strip массиві-әрқайсысы 32 биттік түсті 64 светодиод!

Егер бұл баған көрсетілсе, біз келесіге өтеміз.

Бұл оңай.

5 -қадам: Бірінші тест

Бірінші тест
Бірінші тест
Бірінші тест
Бірінші тест
Бірінші тест
Бірінші тест

Енді бағдарламалық жасақтама іске қосылады, біз бірінші сынақтарға дайынбыз.

Ендірілген функцияны тестілеудің ең оңай жолы - Bluetooth төмен энергия сынау бағдарламасы. Скандинавиялық немесе кипарис қосымшалары сияқты.

Скандинавиялық: ұялы телефон үшін nRF Connect

Кипарис: CySmart

Pov-Stick іске қосыңыз және демонстрация қалай көрсетілетінін бақылаңыз. Бұл аяқталғаннан кейін қосымшаны іске қосу уақыты келді. Povstick құрылғысын іздеңіз және қосылуды басыңыз.

Қосылым орнатылғаннан кейін бағдарлама автоматты түрде барлық анықталған қызметтер мен сипаттамаларды табады.

Бірінші қызметті іздеңіз (0000ccce -тен басталуы керек …). Оны ашу және бірінші сипаттаманы көрсету үшін оны басыңыз (0000ccc1 -ден басталады). Содан кейін жазу (немесе жүктеу) түймесін басып, осы сипаттамаға 01 жазыңыз.

Жіберуді басқаннан кейін, POVstick түсі өзгеретін Larson сканері деп аталатын Color-Knight-rider анимациясын бастайды.

Құттықтаймыз, сіз 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, Text_nimation}

Бұл ccc1 сипаттамасы үшін жарамды мәндер. Егер сіз CandyCane-анимациясын көргіңіз келсе, сіз осы сипаттамаға 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-бұл ондық санның он алтылық мәні, бұл тізімдегі RGB-Control анимациясы.

Содан кейін CySmart қосымшасындағы RGB-LED басқару тақтасына ауысуға болады. Бұл экранға өту үшін қолданбаны қайта іске қосу қажет болуы мүмкін. Содан кейін осы RGB-диаграмманың көмегімен барлық жарықдиодтардың түсін басқаруға болады.

Әрине, сіз мәндерді сипаттамаға тікелей жаза аласыз.

8 -қадам: Text_Animation қызметі және тұрақты сақтау қызметі

Text_Animation қызметі және тұрақты сақтау қызметі
Text_Animation қызметі және тұрақты сақтау қызметі

Бұл қызметтерді сынау оңай емес.

Техникалық түрде сіз бұл үшін скандинавиялық қосымшаны пайдалана аласыз, бірақ сіз қандай сипаттамаға қандай мәндер жазу керектігін білуіңіз керек.

Егер сіз оларды тексергіңіз келсе, PSOC жобасын қарауыңыз керек, оның сипаттамасы қандай UUID бар.

«Жылдамдықты орнату» сипаттамасы маңызды. Бұл сипаттаманың көмегімен сіз анимацияның қаншалықты жылдам екенін басқара аласыз.

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 -қадам: хабарларды суреттерге жазыңыз

Хабарламаларды суреттерге жазыңыз
Хабарламаларды суреттерге жазыңыз
Хабарламаларды суреттерге жазыңыз
Хабарламаларды суреттерге жазыңыз
Хабарламаларды суреттерге жазыңыз
Хабарламаларды суреттерге жазыңыз

Міне, сондықтан мен бұл таяқшаны бірінші кезекте құрамын: хабарларды суреттерге жазу.

Сізге штатив, ұзақ экспозиция функциясы бар камера және жақсы орналасуы қажет.

Камераны орнатыңыз және бірінші сынақ үшін экспозиция уақытын 10 секундқа реттеңіз.

Шығаруды іске қосыңыз және таяқшадағы мәтіндік дисплейді бастай отырып, суретті аралай бастаңыз.

Et Voila біз мындамыз!

Жарық диодты жарықтылықтың, диафрагманың және экспозиция уақытының дұрыс үйлесімімен тіпті таңертең суретке түсуге болады.

Бұл қадамдағы үш сурет мүмкіндіктердің толық спектрін көрсетеді.

Біріншісінде светодиодтар шамадан тыс әсер етеді және сиқырлы жарқыл жасайды. Бірақ сондықтан да жердегі шағылыстар көрінеді және фон жақсы.

Екінші сурет жарық диодты жарықтандырылған, бірақ бұл фонды толығымен қара етеді.

Үшіншісі күн батқаннан кейін көп ұзамай жарық диодты шамдарды көрсетеді. Светодиодтар басқа суреттердегідей жарқын, бірақ қоршаған орта соншалықты жарқын болғандықтан, жарық диодтары күңгірт болып көрінуі үшін төмен температура мен төмен ИСО қолдануға тура келді.

Оны жарқын конкурсқа айналдырыңыз 2018
Оны жарқын конкурсқа айналдырыңыз 2018
Оны жарқын конкурсқа айналдырыңыз 2018
Оны жарқын конкурсқа айналдырыңыз 2018

«Make it Glow» байқауының екінші жүлдесі 2018 ж

Ұсынылған: