Përmbajtje:

LED POVstick me energji të ulët Bluetooth: 10 hapa (me fotografi)
LED POVstick me energji të ulët Bluetooth: 10 hapa (me fotografi)

Video: LED POVstick me energji të ulët Bluetooth: 10 hapa (me fotografi)

Video: LED POVstick me energji të ulët Bluetooth: 10 hapa (me fotografi)
Video: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, Nëntor
Anonim
LED POVstick Me energji të ulët Bluetooth
LED POVstick Me energji të ulët Bluetooth

Ky udhëzues ju tregon se si të ndërtoni një shkop shkrimi me LED RGB e cila është e kontrollueshme përmes BLE nga telefoni juaj!

Tani që fillon sezoni i errët dhe ju duhet të bëni fotografi me ekspozim të gjatë: Me këtë shkop mund të shkruani nënshkrimin tuaj në figurë, ose një citat motivues, ose një deklaratë dashurie, një kod QR, një adresë në internet, ose shumë të tjera gjera te tjera…

Ai mbulon disa tema të zhvillimit:

  • ndërtimi i harduerit
  • programimi i chipsetit Cypress BLE me C
  • bëni aplikacionin tuaj për ta kontrolluar atë.

Hapi 1: Pajisje kompjuterike për BLE-LED-Stick

Pajisje kompjuterike për BLE-LED-Stick
Pajisje kompjuterike për BLE-LED-Stick
Pajisje kompjuterike për BLE-LED-Stick
Pajisje kompjuterike për BLE-LED-Stick
Pajisje kompjuterike për BLE-LED-Stick
Pajisje kompjuterike për BLE-LED-Stick
Pajisje kompjuterike për BLE-LED-Stick
Pajisje kompjuterike për BLE-LED-Stick

Për shkopin keni nevojë për sa vijon:

  • Një modul selvi BLE (CY8C4247LQI-BL583)
  • një Rrip WS2812b RGB-LED (64LED nga një shirit 144Led për metër)
  • një bateri Li-Jon me një mbajtës të përshtatshëm (18650)
  • një buton
  • një copë dërrasë buke

Pajisja e shkopit në vetvete është mjaft e thjeshtë.

Moduli Cypress BLE është montuar në një copë buke dhe LED-të, butoni dhe furnizimi me energji elektrike janë të lidhura vetëm me këtë dërrasë buke.

Çdo gjë është montuar, ngjitur ose vidhosur në një copë të vogël të shiritit prej druri, i cili në vetvete është futur pjesërisht në një tub poliakril të qartë. Por kjo nuk është e detyrueshme. Doja të montoja gjithçka brenda një tubi, por nuk gjeta një të përshtatshme për modulin BLE dhe baterinë të cilat janë mjaft të mëdha, në krahasim me LED-të. Për një goditje të parë nuk keni nevojë për tub akrilik.

Hapi 2: Asambleja e elektronikës

Asambleja elektronike
Asambleja elektronike
Asambleja elektronike
Asambleja elektronike

Ky hap ju tregon se si është montuar moduli BLE dhe cilat kunja përdoren për cilin qëllim.

Ashtu si në disa nga udhëzimet e mia, unë përdorja Kompletin e Zhvillimit të Cypress BLE. Udhëzues për fillimin e shpejtë CY8CKIT-042-BLE

Nëse doni të përdorni modulin më vete, gjithçka që ju nevojitet për t'u lidhur janë burimet e energjisë dhe kunjat e përdorur.

Për projektin tonë ne përdorim vetëm pin 3.5 për të drejtuar Rripin LED. Por sigurisht që mund ta ndryshoni atë me Krijuesin e PSoC.

Siç mund ta shihni në foton e PCB -së, unë shtova koka në të gjitha cepat e çipit, por anashkalova kunjin VREF.

Në këtë mënyrë moduli është montuar siç duhet dhe është e pamundur të lidhet gabimisht moduli.

Hapi 3: Si të krijoni shkronja?

Si të krijoni shkronja?
Si të krijoni shkronja?

Epo, unë mendoj se ky ishte një nga problemet më interesante që zgjidha gjatë këtij projekti.

Sigurisht që dikush thjesht mund të hartojë një font të ri dhe ta shkruajë atë në një grup, por kjo është me të vërtetë shumë punë!

Pra, çfarë bëra?

Unë e dija se kisha nevojë për një lloj ASCII për konvertim në hex-bitmap. Dhe isha me fat, sepse nuk isha i pari me këtë problem!:-)

Softueri "GLCD Font Generator" bëri gjënë e duhur:

Për shkak se doja të përfitoja sa më shumë nga shkopi LED, importova fontin në një madhësi mjaft të madhe (~ 32pixel). Nëse përdorni vetëm shkronja të mëdha, nuk keni pse të kujdeseni për ngjitësit, gjë që do të rrisë madhësinë e fontit tuaj të dukshëm edhe disa pixel. Por unë zgjodha të përdor si shkronja të mëdha ashtu edhe shkronja të vogla. (https://en.wikipedia.org/wiki/Ascender_%28typography%29)

Pasi të importoni një font në gjeneratorin e GLCD Font, ju mund të zgjidhni ta eksportoni atë në formate të ndryshme.

Unë u përpoqa ta eksportoja direkt në tituj që ishte e mirë, por jo e përsosur. Eksporti që rezulton është një grup pantallonash të shkurtra (16bit) me vlera-byte-hex për kolonat për secilin karakter të karakterit të parë 128-ascii. Jo aq sa doja apo kisha nevojë…

Kështu që unë e importova grupin në një fletë pune të hapur të zyrës. Pastaj hoqa "0x" në tre nga katër vlerat dhe i bashkova në një vlerë të gjatë 32bit. Unë gjithashtu rregullova endianitetin e gabuar të bajtëve individualë.

Grupi që rezulton është një grup N*M me vlera 32bit. M është karakteri përkatës dhe N janë kolonat që përbëjnë shfaqjen e kësaj shkronje. Në këtë draft të parë të gjithë personazhet kanë të njëjtin numër kolonash, që do të thotë se të gjitha shkronjat janë njësoj të gjera, si në fontin e mirënjohur Courier. Personazhet e vegjël si "i" ose "t" duken sikur kanë humbur në hapësirë.

Prandaj shtova një parametër të ri në fillim të secilit karakter për të treguar, sa kolona ka ky karakter ose sa i gjerë është ky karakter. Kjo kursen kujtesën dhe e bën tekstin të duket më mirë!

Hapi 4: Softueri i Kontrollit BLE

Softueri i Kontrollit BLE
Softueri i Kontrollit BLE

Parimi i softverit BLE është shumë i thjeshtë:

  • Në fillim thjesht nuk bën asgjë.
  • Përmes BLE mund të vendosni animacione ose tekste të ndryshme që do të shfaqen.
  • Pasi të shtypni butonin, shfaqen kolonat individuale të animacionit ose tekstit.
  • Pasi të shfaqet teksti, ai vazhdon të presë përsëri.

Thjesht importoni projektin e selvi në PSoC-Creator tuaj dhe modifikojeni nëse dëshironi.

PSoC-4 nuk ka aq RAM dhe flash për të qenë në gjendje të mbajë imazhe të plota RGB të shkronjave. Prandaj më duhej një mënyrë për të gjeneruar përmbajtjen LED në mënyrë dinamike nga teksti. Kjo është mjaft e drejtpërdrejtë, asgjë e veçantë deri më tani. Nga një tekst me shumë shkronja, algoritmi merr një shkronjë dhe e konverton atë në një grup të zi-të bardhë-bitmap. Pastaj merr secilën kolonë të kësaj harte me një shkronjë dhe në vend të së bardhës, shkruan ngjyrën aktuale RGB në grupin LED. Në këtë mënyrë ju mund të gjeneroni tekste me një ngjyrë ose me një funksion shtesë të ndryshoni ngjyrën pas çdo kolone, çdo shkronje apo edhe pas çdo pikseli.

Një "shkronjë" mund të ruhet në një bajt-ndryshore të vetme ndërsa një bitmap bardh e zi duhet të ruhet në një lloj grupi.

Struktura e të dhënave është kjo:

String: newtext = "Përshëndetje";

Font: uint32 karaktere = {FirstCharacter_ColumnCount, FirstCharacter_FirstColumn, FirstCharacter_SecondColumn,… SecondCharacter_ColumnCount, SecondCharacter_FirstColumn,…… LastCharacter_ColumnCount,… LastCharacter_LastColumn; Ngjyra: uint32 rgbcolor = 0xHHBBGGRR; // Ndriçimi, blu, jeshil, i kuq secila si vlerë 8bit

Për të kthyer një varg për shfaqje ne bëjmë si më poshtë:

getCharacter (): H (8bit)

getColumn (int i): kolona (32bit) (i fillon me kolonën e parë, shkon në të fundit.) nëse (biti në kolonën është 1) LED në Rrip është vendosur në ngjyrë. Grupi LED-Strip është 64 LED me ngjyra 32bit secila!

Dhe nëse kjo kolonë shfaqet ne vazhdojmë me tjetrën.

Thisshtë kaq e lehtë.

Hapi 5: Testi i parë

Testi i parë
Testi i parë
Testi i parë
Testi i parë
Testi i parë
Testi i parë

Tani që programi funksionon, ne jemi gati për testet e para.

Mënyra më e lehtë për të testuar funksionin e ngulitur është me një aplikacion testimi të energjisë me Bluetooth të ulët. Ashtu si Aplikacionet Nordike ose Cypress.

Nordike: Lidhu nRF për celular

Cypress: CySmart

Filloni Pov-Stick dhe vëzhgoni se si do të shfaqet vargu demo. Pasi të ketë mbaruar kjo është koha për të filluar aplikacionin. Kërkoni në pajisjen Povstick dhe klikoni në lidhje.

Pasi të krijohet lidhja, aplikacioni zbulon automatikisht të gjitha shërbimet dhe karakteristikat e përcaktuara.

Kërkoni shërbimin e parë (duhet të fillojë me 0000ccce…). Klikoni mbi të për ta hapur dhe shfaqur karakteristikën e parë (fillon me 0000ccc1). Pastaj shtypni butonin e shkrimit (ose ngarkimit) dhe shkruani një 01 për këtë karakteristikë.

Pasi të godisni dërgimin, POVstick do të fillojë animacionin Color-Knight-rider, i njohur si Larson Scanner me ngjyra të ndryshueshme.

Urime që keni dërguar vlerën tuaj të parë përmes BLE!

Hapi 6: Zgjidhni Animacionet

Zgjidhni Animacionet
Zgjidhni Animacionet
Zgjidhni Animacionet
Zgjidhni Animacionet
Zgjidhni Animacionet
Zgjidhni Animacionet
Zgjidhni Animacionet
Zgjidhni Animacionet

Në programin kompjuterik ne përcaktuam një enum "e_Animation" me vlerat e mëposhtme:

typedef enum {Knightrider = 0, ColorKnightRider, Rainbowswirl, Valueswirl, WS_CandyCane, WS_CandyCane_2, WS_CandyCane_3, WS_Twinkle, WS_Icicle, WS_ColorWheel, RGB_Control, TextAnimim, TextAnim, TextAnim, TextAnim, TextAnim

Këto janë vlerat që vlejnë për karakteristikën ccc1. Nëse dëshironi të shihni CandyCane-Animation ju duhet të shkruani një 4, 5 ose 6 për këtë karakteristikë. Ato ndryshojnë në ngjyra.

Dy animacione të veçanta janë RGB_Control dhe TextAnimation. Nëse keni zgjedhur t'i aktivizoni ato, shkopi padyshim që nuk do të tregojë asgjë në fillim. Por ju ofron mundësi shtesë për të kontrolluar shkopin me shërbimet e tjera.

Hapi 7: Kontrolli RGB

Kontrolli RGB
Kontrolli RGB
Kontrolli RGB
Kontrolli RGB
Kontrolli RGB
Kontrolli RGB
Kontrolli RGB
Kontrolli RGB

RGB-Control mund të testohet shumë lehtë me Aplikacionin CySmart sepse kam përdorur të njëjtin UUID për këtë karakteristikë si në Demon e Cypress.

Filloni aplikacionin CySmart dhe lidheni me Povstick. Së pari ju duhet të shkruani një "0x0A" në karakteristikën ccc1.

0x0A është vlera gjashtëkëndore për 10, e cila është animacioni RGB-Control në enum.

Pastaj mund të kaloni në Panelin e Kontrollit RGB-LED në Aplikacionin CySmart. Ndoshta ju duhet të rindizni aplikacionin për të arritur në këtë ekran. Atëherë mund të kontrolloni ngjyrën e të gjitha LED-ve me këtë diagram RGB.

Sigurisht që ju gjithashtu mund t'i shkruani vlerat drejtpërdrejt në karakteristikë.

Hapi 8: Shërbimi i Text_Animation dhe Shërbimi i Ruajtjes së Përhershme

Shërbimi i Tekstit_Animacion dhe Shërbimi i Ruajtjes së Përhershme
Shërbimi i Tekstit_Animacion dhe Shërbimi i Ruajtjes së Përhershme

Këto shërbime nuk janë aq të lehta për tu testuar.

Teknikisht ju gjithashtu mund të përdorni aplikacionin nordik për këtë, por duhet të dini se cilat vlera duhet t'i shkruani cilës karakteristike.

Pra, nëse doni t'i provoni këto, duhet t'i hidhni një sy projektit PSoC, cila karakteristikë ka cilën UUID.

Një element i rëndësishëm është karakteristika e "Set-Speed". Me këtë karakteristikë ju mund të kontrolloni sa shpejt janë animacionet.

Me karakteristikën "Set_Animation" të PersistentStorageService ju mund të kontrolloni fontet dhe ngjyrat e vargut të tekstit. Vlerat e vlefshme përcaktohen në "povanimation.h", dy shkronja "mono" dhe "serif" dhe të vetme me ngjyrë dhe ngjyrë ylberi. Vlerat 0 dhe 1 shfaqin tekstin me një ngjyrë fikse, të kontrollueshme nëpërmjet karakteristikës RGB_Control. Vlerat 2 dhe 3 ndryshojnë ngjyrën për secilën kolonë dhe i japin vargut një ylber të bukur.

"Shërbimi i Shkruaj_Teksti" është i ndryshëm. Mund të shkruani një varg të ri në pajisje duke shkruar karaktere individuale në karakteristikën "Set_Character". Në çdo shkrim, do të merrni një njoftim për gjatësinë aktuale të vargut.

Për të filluar një varg të ri, shkruani "e vërtetë" në "Clear_String".

Ky nuk është zbatimi më i mirë, por funksionon për çdo varg deri në 250 karaktere pa ndryshuar madhësinë e MTU.

Shfaqja e një vargu të ri me fillimin kur shtypet butoni në Povstick.

Hapi 9: Filloni Aplikacionin Android

Ky është një hap i rëndësishëm, por përtej fushëveprimit të këtij udhëzimi. Me falni per kete!

Ndoshta mund të ngarkoj aplikacionin tim test në dyqanin e lojërave, por nuk është ende i përfunduar ose i lëshueshëm.

Hapi 10: Shkruani mesazhe në fotografi

Shkruani mesazhe në fotografi
Shkruani mesazhe në fotografi
Shkruani mesazhe në fotografi
Shkruani mesazhe në fotografi
Shkruani mesazhe në fotografi
Shkruani mesazhe në fotografi

Epo, kjo është arsyeja pse unë e ndërtoj këtë povstick në radhë të parë: Për të shkruar mesazhe në fotografi.

Keni nevojë për një trekëmbësh, një aparat fotografik me funksion ekspozimi të gjatë dhe një vendndodhje të mirë.

Vendosni kamerën dhe rregulloni kohën e ekspozimit në 10s për një provë të parë.

Nxitni lëshimin dhe filloni të ecni nëpër figurë, duke filluar shfaqjen e tekstit në shkop.

Et Voila atje jemi!

Me kombinimin e duhur të ndriçimit LED, hapjes dhe kohës së ekspozimit është madje e mundur të bëni fotografi në agim.

Tre fotografitë në këtë hap tregojnë spektrin e plotë të mundësive.

Në të parët, LED -të janë të ekspozuar tej mase dhe krijojnë një shkëlqim magjik. Por kjo është arsyeja pse reflektimet në terren janë të dukshme dhe sfondi është mjaft i mirë.

Fotografia e dytë është e ekspozuar për LED, por kjo e lë sfondin plotësisht të zi.

Dhe e treta tregon LED mjaft të zbehtë menjëherë pas perëndimit të diellit. LED -të janë aq të ndritshme sa në fotografitë e tjera, por mjedisi ishte aq i ndritshëm sa më duhej të përdorja një aparat të ulët dhe një ISO të ulët në mënyrë që LED -të të duken mjaft të errëta.

Konkursi Make it Glow 2018
Konkursi Make it Glow 2018
Konkursi Make it Glow 2018
Konkursi Make it Glow 2018

Çmimi i dytë në Konkursin Make it Glow 2018

Recommended: