Përmbajtje:
- Hapi 1: Pajisje kompjuterike për BLE-LED-Stick
- Hapi 2: Asambleja e elektronikës
- Hapi 3: Si të krijoni shkronja?
- Hapi 4: Softueri i Kontrollit BLE
- Hapi 5: Testi i parë
- Hapi 6: Zgjidhni Animacionet
- Hapi 7: Kontrolli RGB
- Hapi 8: Shërbimi i Text_Animation dhe Shërbimi i Ruajtjes së Përhershme
- Hapi 9: Filloni Aplikacionin Android
- Hapi 10: Shkruani mesazhe në fotografi
Video: LED POVstick me energji të ulët Bluetooth: 10 hapa (me fotografi)
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:21
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
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
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?
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
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ë
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
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
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
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
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.
Çmimi i dytë në Konkursin Make it Glow 2018
Recommended:
LEIDS - Sensori i derës IOT me energji të ulët: 8 hapa (me fotografi)
LEIDS - Sensori i derës IOT me energji të ulët: Çfarë është LEIDS? LEIDS është një sensor IOT i bazuar në ESP8266. Ky sensor përdor këtë tabelë, një qark të butë të fiksimit, një ndërprerës kallami dhe disa magnetë për të krijuar një sensor të derës që do t'ju dërgojë një alarm kur dera juaj të hapet dhe të mbulojë
Si të bëni furnizimin me energji të stolit të rregullueshëm nga një furnizim me energji kompjuteri i vjetër: 6 hapa (me fotografi)
Si të bëni furnizimin me energji të stolit të rregullueshëm nga një furnizim me energji kompjuterike të vjetër: Unë kam një furnizim të vjetër me energji kompjuterike të vendosur aty pranë. Kështu që unë kam vendosur të bëj një furnizim me energji elektrike të rregullueshme nga ai. Ne kemi nevojë për një gamë të ndryshme të tensioneve në fuqi ose kontrolloni qark ose projekte të ndryshme elektrike. Pra, është gjithmonë mirë të kesh një rregullues
WiFi e thjeshtë në BLE (Bluetooth me energji të ulët) Ura: 9 hapa (me fotografi)
WiFi e thjeshtë në BLE (Bluetooth Low Energy) Bridge: Update 4 Dhjetor 2017 - skica të rishikuara të pendës nRF52 dhe këshilla për korrigjimin. Fotografi të shtuara të urës të montuara në kuti. Ky projekt i thjeshtë siguron qasje WiFi në çdo modul Bluetooth me Energji të Ulët (BLE) që zbaton UART të Nordic me TX Notify. Th
Radio me energji falas me energji diellore: 4 hapa (me fotografi)
Radio me energji falas me energji diellore: Radio pa energji diellore me energji të lirë DIY quaj energji falas sepse nuk përdor bateri dhe funksionon kur është diell
Shndërroni një furnizim me energji ATX në një furnizim të rregullt me energji elektrike DC: 9 hapa (me fotografi)
Shndërroni një Furnizim me energji ATX në një Furnizim të rregullt DC !: Një furnizim me energji DC mund të jetë i vështirë për tu gjetur dhe i shtrenjtë. Me veçori që pak a shumë goditen ose mungojnë për atë që ju nevojitet. Në këtë Instructable, unë do t'ju tregoj se si të konvertoni një furnizim me energji kompjuterike në një furnizim të rregullt të energjisë DC me 12, 5 dhe 3.3 v