Orodha ya maudhui:
- Hatua ya 1: Vifaa kwa BLE-LED-Fimbo
- Hatua ya 2: Mkutano wa Elektroniki
- Hatua ya 3: Jinsi ya Kutengeneza Fonti?
- Hatua ya 4: Programu ya Kudhibiti BLE
- Hatua ya 5: Jaribio la kwanza
- Hatua ya 6: Chagua michoro
- Hatua ya 7: Udhibiti wa RGB
- Hatua ya 8: Huduma ya Nakala_Uhuishaji na Huduma ya Kuhifadhi ya Kuendelea
- Hatua ya 9: Anzisha App ya Android
- Hatua ya 10: Andika Ujumbe katika Picha
Video: Ncha ya LED na Nishati ya Chini ya Bluetooth: Hatua 10 (na Picha)
2024 Mwandishi: John Day | [email protected]. Mwisho uliobadilishwa: 2024-01-30 12:53
Mafundisho haya yanaonyesha jinsi ya kujenga fimbo ya mwandishi na RGB za LED ambazo zinadhibitiwa kupitia BLE kutoka kwa simu yako!
Sasa wakati wa msimu wa giza unapoanza na unahitaji kuchukua picha za mfiduo mrefu: Kwa fimbo hii unaweza kuandika saini yako kwenye picha, au nukuu ya kuhamasisha, au tamko la upendo, nambari ya QR, adresse ya wavuti, au nyingi mambo mengine…
Inashughulikia mada kadhaa za maendeleo:
- kujenga vifaa
- programu ya chipset ya Cypress BLE na C
- fanya programu yako mwenyewe kuidhibiti.
Hatua ya 1: Vifaa kwa BLE-LED-Fimbo
Kwa fimbo unahitaji yafuatayo:
- Moduli ya Bypress ya cypress (CY8C4247LQI-BL583)
- WS2812b RGB-LED-Strip (64LEDs kutoka 144Led kwa ukanda wa mita)
- betri ya Li-Ion na mmiliki anayefaa (18650)
- kitufe cha kushinikiza
- kipande cha ubao wa mkate
Vifaa vya fimbo yenyewe ni rahisi sana.
Moduli ya Cypress BLE imewekwa kwenye kipande cha ubao wa mkate na taa za taa, kitufe na usambazaji wa umeme vimeunganishwa tu kwenye ubao huu wa mkate.
Kila kitu kimewekwa, glued au Star kwa kipande kidogo cha ukanda wa mbao, ambayo yenyewe imeingizwa kwenye bomba wazi la polyacryl. Lakini hii sio lazima. Nilitaka kuweka kila kitu ndani ya bomba, lakini sikupata inayofaa kwa moduli ya BLE na betri ambayo ni kubwa kabisa, ikilinganishwa na LEDs. Kwa risasi ya kwanza hauitaji bomba la acryl.
Hatua ya 2: Mkutano wa Elektroniki
Hatua hii inakuonyesha jinsi moduli ya BLE imewekwa na ni pini zipi zinazotumiwa kwa kusudi gani.
Kama ilivyo katika Maagizo yangu kadhaa nilitumia Kitambaa cha Maendeleo cha Cypress BLE. CY8CKIT-042-BLE Mwongozo wa Kuanza Haraka
Ikiwa unataka kuendesha moduli peke yake, unachohitaji kuunganisha ni vyanzo vya nguvu na pini zilizotumiwa.
Kwa mradi wetu tunatumia pini 3.5 tu kuendesha Ukanda wa LED. Lakini kwa kweli unaweza kubadilisha hiyo na Muundaji wa PSoC.
Kama unavyoona kwenye picha ya PCB, niliongeza vichwa vya pini katika pembe zote za chip lakini niliruka pini ya VREF.
Kwa njia hii moduli imewekwa vizuri na haiwezekani kuunganisha moduli hiyo vibaya.
Hatua ya 3: Jinsi ya Kutengeneza Fonti?
Kweli, nadhani hii ilikuwa moja wapo ya shida za kupendeza nilizotatua wakati wa mradi huu.
Kwa kweli mtu anaweza kubuni fonti mpya na kuiandika kwa safu, lakini hiyo ni kazi kubwa sana!
Kwa hivyo nilifanya nini?
Nilijua kuwa nilihitaji aina fulani ya ASCII kwa hex-bitmap kubadilika. Na nilikuwa na bahati, kwa sababu sikuwa wa kwanza na shida hii!:-)
Programu "Jenereta ya herufi za GLCD" ilifanya jambo sahihi tu:
Kwa sababu nilitaka kupata zaidi kutoka kwa kijiti cha LED, niliingiza font kwa saizi kubwa (~ 32pixel). Ikiwa unatumia herufi kubwa tu sio lazima ujali juu ya watu wanaopanda, ambayo itaongeza saizi yako ya font inayoonekana saizi zingine chache. Lakini nilichagua kutumia herufi kubwa mbili na herufi ndogo. (https://en.wikipedia.org/wiki/Ascender_%28typography%29)
Mara tu utakapoingiza fonti kwenye jenereta ya herufi za GLCD unaweza kuchagua kuiuza nje kwa muundo tofauti.
Nilijaribu kusafirisha moja kwa moja kwenye vichwa ambavyo vilikuwa nzuri, lakini sio kamili. Uuzaji unaosababishwa ni safu ya kaptula (16bit) na maadili ya byte-hex kwa safu kwa kila tabia ya tabia ya kwanza ya 128-ascii. Sio kile nilichotaka au kuhitaji…
Kwa hivyo niliingiza safu katika karatasi ya ofisi ya wazi ya calc. Kisha nikaondoa "0x" kwa nambari tatu kati ya nne na kuziunganisha kwa thamani moja ya urefu wa 32bit. Nilirekebisha upendeleo mbaya wa kaa za kibinafsi.
Safu inayosababishwa ni safu ya N * M ya maadili 32bit. M ni mhusika husika na N ni nguzo zinazounda onyesho la barua hii. Katika rasimu hii ya kwanza wahusika wote wana idadi sawa ya nguzo, hiyo inamaanisha herufi zote zina upana sawa, kama katika fonti inayojulikana ya Courier. Wahusika wadogo kama "i" au "t" wanaonekana kama wamepotea angani.
Kwa hivyo niliongeza parameter mpya mwanzoni mwa kila mhusika kuelezea, ni ngapi mhusika ana tabia hii au upana wa tabia hii. Hii inaokoa kumbukumbu na kufanya maandishi yaonekane bora!
Hatua ya 4: Programu ya Kudhibiti BLE
Kanuni ya programu ya BLE ni rahisi sana:
- Mwanzoni haifanyi chochote.
- Kupitia BLE unaweza kuweka michoro tofauti au maandishi kuonyeshwa.
- Mara tu unapobonyeza kitufe, nguzo za kibinafsi za uhuishaji au maandishi huonyeshwa.
- Baada ya maandishi kuonyeshwa, inaendelea kusubiri tena.
Ingiza tu mradi wa cypress kwa PSoC-Muumba wako na uirekebishe ukipenda.
PSoC-4 haina RAM na mwangaza mwingi kuweza kushikilia picha kamili za RGB za fonti. Kwa hivyo nilihitaji njia ya kutengeneza yaliyomo ya LED kwa nguvu kutoka kwa maandishi. Hiyo ni sawa, hakuna kitu maalum hadi sasa. Kutoka kwa maandishi yenye herufi nyingi, algorithm inachukua herufi moja na kuibadilisha kuwa safu nyeusi-nyeupe-bitmap. Halafu inachukua kila safu ya herufi moja-bitmap na badala ya nyeupe, inaandika rangi ya sasa ya RGB kwa safu ya LED. Kwa njia hii unaweza kutengeneza maandishi ya rangi moja au kwa kazi ya ziada badilisha rangi baada ya kila safu, kila herufi au hata baada ya kila pikseli.
"Barua" inaweza kuhifadhiwa kwa kubadilisha-ka moja wakati bitmap nyeusi na nyeupe inahitaji kuhifadhiwa katika aina fulani ya safu.
Muundo wa data ni hii:
Kamba: newtext = "Hello";
Fonti: herufi uint32 = {FirstCharacter_ColumnCount, FirstCharacter_FirstColumn, FirstCharacter_SecondColumn,… SecondCharacter_ColumnCount, SecondCharacter_FirstColumn,…… LastCharacter_ColumnCount,… LastCharacter_LastColumn}; Rangi: uint32 rgbcolor = 0xHHBBGGRR; // Mwangaza, Bluu, Kijani, Nyekundu kila moja kama thamani ya 8bit
Kubadilisha kamba kwa onyesho tunafanya yafuatayo:
pata Tabia (): H (8bit)
getColumn (int i): safu (32bit) (i huanza na safu ya kwanza, inaendesha hadi ya mwisho.) ikiwa (bit in column is 1) LED in Strip is set to color. Safu ya Ukanda wa LED ni LEDs 64 zilizo na rangi 32bit kila moja!
Na ikiwa safu hii itaonyeshwa tunaendelea na inayofuata.
Ni hii rahisi.
Hatua ya 5: Jaribio la kwanza
Sasa kwa kuwa programu inaendesha, tuko tayari kwa majaribio ya kwanza.
Njia rahisi ya kujaribu kazi iliyoingia ni na programu ya majaribio ya nishati ya chini ya Bluetooth. Kama Programu za Nordic au Cypress.
Nordic: nRF Unganisha kwa rununu
Cypress: CySmart
Anza Pov-Stick na angalia jinsi safu ya onyesho itaonyeshwa. Mara baada ya kumaliza hii ni wakati wa kuanza programu. Tafuta kifaa cha Povstick na bonyeza bonyeza.
Mara tu unganisho likianzishwa programu hugundua kiatomati huduma na sifa zote zilizoainishwa.
Tafuta huduma ya kwanza (inapaswa kuanza na 0000ccce…). Bonyeza juu yake kuifungua na kuonyesha tabia ya kwanza (huanza na 0000ccc1). Kisha bonyeza kitufe cha kuandika (au kupakia) na andika alama 1 kwa tabia hii.
Mara tu utakapotuma tuma, POVstick itaanza uhuishaji wa Rider-Knight aka Larson Scanner na rangi zinazobadilika.
Gratulations ulituma thamani yako ya kwanza kupitia BLE!
Hatua ya 6: Chagua michoro
Katika programu tulielezea enum "e_Animation" na maadili yafuatayo:
typedef enum {Knightrider = 0, ColourKnightRider, Upinde wa mvua, Valueswirl, WS_CandyCane, WS_CandyCane_2, WS_CandyCane_3, WS_Twinkle, WS_Icicle, WS_ColorWheel, RGB_Control, TextAnimation, Animation_Max} e_
Hizi ndizo maadili ambayo ni halali kwa tabia ya ccc1. Ikiwa ungependa kuona CandyCane-Animation lazima uandike 4, 5 au 6 kwa tabia hii. Wanatofautiana katika rangi.
Mifano kwa michoro mbili maalum ni RGB_Control na TextAnimation. Ikiwa ulichagua kuamilisha hizi, fimbo haitaonyesha chochote mwanzoni. Lakini inakupa chaguzi za ziada kudhibiti fimbo na huduma zingine.
Hatua ya 7: Udhibiti wa RGB
Udhibiti wa RGB unaweza kujaribiwa kwa urahisi na Programu ya CySmart kwa sababu nilitumia UUID sawa kwa tabia hii kama vile Densi ya Cypress.
Anza programu ya CySmart na unganisha kwenye Povstick. Kwanza lazima uandike "0x0A" kwa tabia ya ccc1.
0x0A ni thamani ya hex kwa 10, ambayo ni uhuishaji wa RGB-Control kwenye enum.
Basi unaweza kubadili Jopo la Udhibiti wa RGB-LED katika Programu ya CySmart. Labda lazima uanze upya programu ili ufikie skrini hii. Basi unaweza kudhibiti rangi ya LED zote na mchoro huu wa RGB.
Kwa kweli unaweza pia kuandika maadili moja kwa moja kwenye tabia.
Hatua ya 8: Huduma ya Nakala_Uhuishaji na Huduma ya Kuhifadhi ya Kuendelea
Huduma hizi sio rahisi kujaribu.
Kitaalam unaweza pia kutumia programu ya nordic kwa hii, lakini unahitaji kujua ni maadili gani ya kuandika ni tabia gani.
Kwa hivyo ikiwa unataka kujaribu hizi, unapaswa kuangalia mradi wa PSoC, ambayo tabia ina UUID gani.
La muhimu ni tabia ya "Kuweka-Kasi". Kwa tabia hii unaweza kudhibiti jinsi michoro ni haraka.
Ukiwa na tabia ya "Set_Animation" ya PersistentStorageService unaweza kudhibiti fonti na rangi za kamba ya maandishi. Thamani halali hufafanuliwa katika "povanimation.h", fonti mbili "mono" na "serif" na rangi moja na rangi ya upinde wa mvua. Thamani 0 na 1 huonyesha maandishi na rangi iliyowekwa, inayoweza kudhibitiwa kupitia tabia ya RGB_Control. Maadili 2 na 3 hubadilisha rangi kwa kila safu na ipe kamba upinde wa mvua mzuri.
"Andika_Text_Service" ni aina tofauti. Unaweza kuandika kamba mpya kwa kifaa kwa kuandika herufi binafsi kwa tabia ya "Set_Character". Kwenye kila maandishi, utapata arifu nyuma ya urefu wa sasa wa kamba.
Kuanzisha kamba mpya, andika "kweli" kwa "Clear_String".
Huu sio utekelezaji bora, lakini inafanya kazi kwa kamba yoyote hadi herufi 250 bila kubadilisha saizi ya MTU.
Uonyesho wa kamba mpya na kuanza wakati kitufe kwenye Povstick kimechapishwa.
Hatua ya 9: Anzisha App ya Android
Hii ni hatua muhimu, lakini zaidi ya upeo wa hii inayoweza kufundishwa. Samahani kwa hilo!
Labda naweza kupakia programu yangu ya majaribio kwenye duka la kucheza, lakini bado haijakamilika au kutolewa.
Hatua ya 10: Andika Ujumbe katika Picha
Kweli, ndio sababu ninaunda kijiti hiki mahali pa kwanza: Kuandika ujumbe kwenye picha.
Unahitaji kitatu, kamera iliyo na kazi ya mfiduo mrefu na mahali pazuri.
Weka kamera na urekebishe wakati wa mfiduo kuwa 10 kwa jaribio la kwanza.
Kuchochea kutolewa na kuanza kutembea kupitia picha, kuanzia maonyesho ya maandishi kwenye fimbo.
Et Voila hapo tupo!
Pamoja na mchanganyiko sahihi wa mwangaza wa mwangaza wa LED, kufungua na wakati wa mfiduo inawezekana kuchukua picha alfajiri.
Picha tatu katika hatua hii zinaonyesha wigo kamili wa uwezekano.
Katika kwanza, taa za taa zinaonyeshwa kupita kiasi na zinaunda mwangaza wa kichawi. Lakini ndio sababu tafakari juu ya ardhi inaonekana na msingi ni mzuri.
Picha ya pili imefunuliwa kwa LED, lakini hiyo inaacha historia ikiwa nyeusi kabisa.
Na ya tatu inaonyesha taa nyepesi za LED muda mfupi baada ya jua kutua. Taa zinaangaza kama kwenye picha zingine, lakini mazingira yalikuwa mkali sana hivi kwamba nililazimika kutumia kiunzi kidogo na ISO ya chini ili taa zionekane kuwa nyeusi.
Tuzo ya pili katika Shindano la Kuifanya iwe Inang'aa 2018
Ilipendekeza:
Mita ya Nishati ya Nishati ya Arduino DIY V1.0: Hatua 13 (na Picha)
Mita ya Nishati ya Nishati ya Arduino DIY V1.0: Katika hii inayoweza kufundishwa, nitakuonyesha jinsi ya kutengeneza mita ya Nishati ya Multifunction ya Arduino. Mita hii ndogo ni kifaa muhimu sana ambacho kinaonyesha habari muhimu juu ya vigezo vya umeme. Kifaa kinaweza kupima vigezo 6 vya umeme muhimu
LEIDS - Sensor ya Milango ya IOT ya Nishati ya Chini: Hatua 8 (na Picha)
LEIDS - Sensor ya Milango ya chini ya IOT: Je! LEIDS ni nini? LEIDS ni sensorer ya IOT ambayo inategemea ESP8266. Sensorer hii hutumia bodi hii, mzunguko laini wa latching, swichi ya mwanzi, na sumaku zingine kuunda sensa ya mlango ambayo itakutumia arifu wakati mlango wako unafunguliwa na kuziba
Kiwango cha Nishati Kiokoa Nishati Kutumia Photocell na Thermistors: 6 Hatua
Kiwango cha Nishati Kiokoa Nishati Kutumia Photocell na Thermistors: Hii inayoweza kufundishwa imeundwa kukufundisha jinsi ya kuokoa nishati kwa kubadilisha nguvu ya mwangaza kwa kutumia fotokala na vipima joto. Tutakuonyesha jinsi ya kujenga mzunguko na nambari Arduino ukitumia MATLAB
Nuru Kutoka kwa Nishati ya Joto kwa Chini ya $ 5: 7 Hatua (na Picha)
Nuru Kutoka kwa Nishati ya Joto kwa Chini ya $ 5: Sisi ni wanafunzi wawili wa ubunifu wa viwandani nchini Uholanzi, na huu ni uchunguzi wa haraka wa teknolojia kama sehemu ya kozi ndogo ya Teknolojia ya Dhana ya Ubunifu. Kama mbuni wa viwandani, ni muhimu kuweza kuchambua teknolojia kwa njia
Redio ya Nishati ya Nishati ya Bure: Hatua 4 (na Picha)
Redio ya Nishati ya Nishati ya Bure: Diy ya redio ya nishati ya jua ya bure https://www.youtube.com/watch?v=XtP7g…ni mradi rahisi kubadilisha betri ya zamani iliyotumia redio katika redio inayotumia jua ambayo unaweza piga nishati ya bure kwa sababu haitumii betri na inafanya kazi wakati ni jua