Satura rādītājs:
- 1. solis: ideja
- 2. darbība: kontroliera izveide
- 3. darbība. Kontroliera pielāgošana
- 4. solis: rīki, kas vienkāršo pielāgošanu
Video: Iekļūšana Stm32: tālvadības pults mājas multivides centram: 4 soļi (ar attēliem)
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:57
Šis ir pilnīgs mājas mediju centra tālvadības pults prototips, kura pamatā ir smt32 mikrokontrolleris stm32f103c8t6, kas pazīstams kā “bluepill” dēlis. Pieņemsim, ka mājas multivides centram izmantojat datoru. Tas ir ļoti elastīgs risinājums, kas ļauj ievietot milzīgu video bibliotēku iekšējā cietajā diskā, vai arī varat atskaņot video no tīkla, piemēram, YouTube vai tā, jums nav problēmu ar kodekiem vai video atskaņošanu vispār, jo tas ir ļoti viegli atjaunināt programmatūras atskaņotāju jebkurā laikā. Šī risinājuma galvenais trūkums ir tas, ka atskaņošanas kontrolei jāizmanto pele un tastatūra. IR tālvadības pults tam ir ļoti ērts režīms.
Šajā rakstā es parādīšu, kā izveidot savu tālvadības pulti, izmantojot mikroshēmas bluepill dēli.
1. solis: ideja
Galvenā ideja ir ļoti vienkārša: bluepill panelī ir iebūvēts USB ports un tā var darboties kā USB HID tastatūra. Ja mēs pie paneļa pievienosim IR uztvērēju, tas varētu pārvērst komandu no jūsu IR tālvadības pults uz virtuālās tastatūras taustiņa nospiešanu. Nav nepieciešami papildu draiveri!
Apkārtējā pasaulē ir daudz IR protokolu. Katram VCS pārdevēja televizoram ir savs IR protokols. Bet visiem šiem protokoliem ir kaut kas kopīgs: signāla kodēšanai tie izmanto impulsa modulāciju. Parasti ir kāda preambula: garš impulss pirms pirmā bita paketē. Tad IR vadība pārraida visu paketi ar 0 un 1 un pabeidz pārraidi ar garu impulsu. Lai atšifrētu bitu, mums jāizmēra pīķa garums un pīķa garums. Parasti loģikas 0 pīķa garums un loģika 1 ir vienādi, atšķirība ir pilnā impulsa garumā.
Mikro kontrolieriem stm32 ir iegulta funkcija PWM signāla uztveršanai. Gandrīz katru mikrokontrollera taimeri var ievietot “PWM signāla uztveršanā vairāk”, ja taimera kanāla mainīgie saglabā pulsa kopējo garumu un maksimālo garumu. Šeit man ir jāuzsver sīkāka informācija: kad IR uztvērējs uztver signālu, spriegums uz tā tapas kļūst 0 un tukšgaitā spriegums darba tapā ir 5 vai 3,3 volti atkarībā no IR uztvērēja barošanas sprieguma. T.i., uztvērējs “apgriež” signālu.
Izmantojot PWM uztveršanas režīmu, stm32 mikrokontrolleri var viegli pārvērst par IR tālvadības tulkotāju no IR tālvadības uz tastatūras kodiem. Pēc tam varat sākt savu iecienītāko vizualizācijas programmatūru, piemēram, Vodi Kodi, lai multivides centrā atskaņotu iecienītāko filmu.
2. darbība: kontroliera izveide
Lai ieprogrammētu mikrokontrolleri stm32, es vēlētos ieteikt bezmaksas programmatūru no STM: sistēmas darbgaldu (aka ac6) un tāfeles konfigurācijas rīku cubeMX. Lai augšupielādētu programmatūru mikrokontrollerī, var izmantot ST-Link V2 adaptera mikroshēmas klonu. Sistēmas darbagalda projekta faili, kas pievienoti šim solim, fails F1-IR_remote.zip.
Plāksnes konfigurācijas rīks vienkāršo mūsu mikrokontrollera sākotnējās aparatūras konfigurācijas procesu.
Ja izmantojat sistēmas darbgalda rīku, varat vienkārši izmantot lejupielādēto projektu. Bet, ja vēlaties detalizētāk izpētīt projektu, varat izveidot tāfeles konfigurāciju cubeMX:
- Izveidojiet jaunu projektu un atlasiet dēli stm32f103c8
- RCC izvēlnes vienumam “High Speed Clock (HSE)” atlasiet “Crystal/Ceramic Resonator”.
- SYS izvēlnes vienumam “Atkļūdot” atlasiet “Sērijas vads”.
-
PWM uztveršanas režīmā konfigurējiet taimeri #2 (izvēlne TIM2), kā parādīts attēlā:
- Vergu režīms -> Atiestatīšanas režīms
- Aktivizētāja avots -> TI1FP1
- Pulksteņa avots -> Iekšējais pulkstenis
- Kanāls1 -> Ievades uztveršanas tiešais režīms
- USB izvēlnē iestatiet izvēles rūtiņu Ierīce (FS)
- USB_DEVICE izvēlnes vienumā “FS IP klase” atlasiet nolaižamo izvēlnes elementu “Cilvēka saskarnes ierīču klase (HID)”
- Pulksteņa konfigurācijas panelī noteikti nodrošiniet 72 MHz taimerim #2, jo mums ir nepieciešams taimera skaitlis katrā 1 mks.
- Konfigurācijas panelī konfigurējiet USB ierīci, kā parādīts attēlā
-
Konfigurācijas panelī konfigurējiet taimeri#2 šādi:
- Prescaller - 71 (no 0 līdz 71) - 1 mikrosekundes ērce!
- Skaitītāja režīms - uz augšu
- Skaitītāja periods - 39999 (mums vajadzētu būt iespējai izmērīt garo impulsu)
- Ievades uztveršanas kanāls1 - krītošā mala (atcerieties, ka signāls no IR uztvērēja ir apgriezts)
PWM uztveršanas režīmā taimeris#2 darbojas šādi:
Kad tiek konstatēta krītošā fronte, taimera skaitītājs tiks saglabāts kanāla 1 reģistrā un taimera skaitītājs tiks atiestatīts ar 0. Tad taimeris turpinās skaitīt virzienu augšup. Tātad mēs varam viegli izmērīt impulsa garumu mikrosekundēs.
Pēc noklusējuma STM32 USB HID klase simulē USB peli. Šeit jūs varat atrast instrukciju, kā kontrolieri pārvērst par tastatūru.
3. darbība. Kontroliera pielāgošana
Projekts darbojas ar Panasonic tālvadības pulti un Kodi mediju centru. Lai pielāgotu projektu savam kontrolierim, pievienojiet galvenei Inc/code.h tālvadības pults kodu masīvu, kā es to darīju panasonic tālvadības pults (panasonicCode) gadījumā. Kā redzat, katrai komandai ir unikāls ID (IRcommmand enum). Ir 24 komandas (0-23), ko atpazīst projekts. Komanda ir sakārtota pēc atbilstības.
typedef enum {IR_play = 0, IR_stop, IR_pause, IR_forward, IR_rewind, IR_last_channel, IR_OSD, IR_prevous_menu, IR_left, IR_right, IR_up, IR_down, IR_enter_, IR_chap_next, IR_info, IR_jauda, IR_nezināms} IRkomanda;
const uint16_t kbrd_kodi = {HID_KEY_P, HID_KEY_X, HID_KEY_SPACE, HID_KEY_F, HID_KEY_R, HID_KEY_0, HID_KEY_M, HID_KEY_BACKSPACE, HID_KEY_LEFT, HID_KEY_RIGHT, HID_KEY_UP, HID_KEY_DOWN, HID_KEY_ENTER, HID_KEY_DOT, HID_KEY_COMMA, HID_KEY_S, HID_KEY_I, HID_KEY_T, HID_KEY_L, (uint16_t (HID_LEFT_CTRL) << 8) | HID_KEY_T, HID_KEY_V, HID_KEY_Z, HID_KEY_W, HID_KEY_C};
const uint32_t panasonicCode = {0xd00505d, 0xd00000d, 0xd00606d, 0xd00525f, 0xd00929f, 0x100eced, 0xd00101d, 0x1002b2a, 0x1007273, 0x100f2f3, 0x1005253, 0x100d2d3, 0x1009293, 0x1002c2d, 0x100acad, 0x1009c9d, 0x1008e8f, 0x1004e4f, 0x100cecf, 0x1000e0f, 0x180c041, 0x1801091, 0x180a021, 0xd00bcb1};
Tad jums jāpievieno sava tālvadības pults init () metodē IR.cpp ar funkciju addRemote (). Funkcijas argumenti ir šādi:
- Bitu skaits iepakojumā
- Pakotnes galvenes garums
- “Nulles” bitu garums
- “Viena” bita garums
- Rādītājs uz kodu masīvu
- Masīva skaitļu elementi
void IRcmd:: init (void) {addRemote (48, 5252, 902, 1755, panasonicCode, sizeof (panasonicCode)/sizeof (uint32_t));
}
Arī failā ir cita tabula, lai komandas pārvērstu tastatūras kodos. Masīvā kbdr_kodi ir Kodi multivides centra galvenie kodi. Savai multivides centra programmai varat pievienot citu masīvu, piemēram, vlc player. Ja pievienotu citu multivides centra lietojumprogrammu tabulu, jūs izveidotu citu objektu KBD un inicializētu to main.cpp.
4. solis: rīki, kas vienkāršo pielāgošanu
Krātuvē ir vēl divi projekti
- IR izmeklēšana - ļauj izmērīt tālvadības pults signālu laika parametrus.
- IR_capture - ļauj uztvert tālvadības pults HEX kodus.
Vienkārši ielādējiet IR izmeklēšanas projektu un pievienojiet datoram bluepill plates USB portu. Pēc tam virtuālajā seriālā porta ierīcē palaidiet jebkuru termināļa programmu, kas atbilst stm32 plāksnei. Nospiežot tālvadības pults pogas, programma izmērīs saņemtos impulsus un izdrukās vidējo laiku dažādiem impulsiem. Tam vajadzētu vienkāršot pakešu galvenes, nulles un viena bita impulsa garuma noteikšanu.
IR izpētes projektā taimeris Nr. 2 darbojas PWM uztveršanas režīmā ar diviem kanāliem: pirmais kanāls uztver visu impulsa garumu un 2. kanāls pīķa garumu. Kad tiek konstatēta krītošā signāla mala, taimera vērtība tiek saglabāta pirmā kanāla reģistrā un taimeris tiek atiestatīts ar 0. Kad tiek konstatēta signāla pieaugošā mala, taimera skaitītājs tiek saglabāts 2. kanāla reģistrā.
Lai uztvertu savas tālvadības pults pogu kodus, var izmantot projektu IR_capture. Failā main.c jāpievieno šāda attālā definīcija:
IR kods panasonic = {.hdr = 5252,.bits = 48,.zero = 902,.one = 1755,.dev = 60};
- .hdr - galvenes garums mks
- .bits - bitu skaits paketē
- . nulle - nulles bita garums
- .viens - garums viens viens bits
- .dev - novirze (atšķirības laikos, ko var pieņemt). Parasti tas ir 1/10 no mazākā garuma.
Pēc tam pievienojiet tālvadības pulti atbalstīto tālvadības pulti:
const IRcode* tālvadības [2] = {& panasonic, & pioneer};
Ieteicams:
Tālvadības pults slēdža tālvadības pults + palaidējs: 6 soļi (ar attēliem)
Tālvadības pults slēdža tālvadības pults + aktivizētājs: šī pedāļa tālvadības pults ir lieliski piemērota, lai apturētu animatorus, fotoattēlu arhivētājus, emuāru autorus un profesionāļus, kuri visu laiku nevar sasniegt savas kameras aizvara pogu vai kuriem ātri jāstrādā pie galda ar pievienotu kameru. augstas virs galvas. 2020. gada decembra atjauninājums: E
Televizora tālvadības pults kļūst par RF tālvadības pulti -- NRF24L01+ apmācība: 5 soļi (ar attēliem)
TV tālvadības pults kļūst par RF tālvadības pulti || NRF24L01+ apmācība: Šajā projektā es jums parādīšu, kā es izmantoju populāro nRF24L01+ RF IC, lai bezvadu režīmā pielāgotu LED sloksnes spilgtumu, izmantojot trīs bezjēdzīgas TV tālvadības pults pogas. Sāksim
Profesionāla izskata tālvadības pults izveide jūsu Arduino projektam mājās: 9 soļi (ar attēliem)
Profesionāla izskata tālvadības pults izveide jūsu Arduino projektam mājās: es izveidoju projektu, kurā pāris lietu vadīšanai tika izmantots arduino un IR tālvadības bibliotēka. Tātad šajā pamācībā es parādīšu, kā jūs varat izmantot jebkuru tālvadības pulti izmantoja savu nākamo projektu. Un, lai izveidotu labu tualeti, jums nav nepieciešams nekas izdomāts
Pārvērtiet (gandrīz par) jebkuru multivides failu par (gandrīz par) jebkuru citu multivides failu bez maksas !: 4 soļi
Pārvērtiet (gandrīz par) jebkuru multivides failu par (gandrīz par) jebkuru citu multivides failu bez maksas!: Mans pirmais pamācāms, uzmundrinām! Jebkurā gadījumā es Google tīklā meklēju bezmaksas programmu, kas pārvērstu manus Youtube.flv failus tādā formātā ir universālāka, piemēram, wmv vai.mov. Es meklēju neskaitāmus forumus un vietnes un pēc tam atradu programmu ar nosaukumu
Vadības pults kameras tālvadības pults: 4 soļi
Vadības pults kameras tālvadības pults: Šis ir īss pamācība, kā izveidot tālvadības pulti kamerai, kurai tās vēl nav. Tas ietver solenoīdu, vienkāršu brita ekrānu, sienas kārpu, dažus vadus un aparatūru. Viegli pagatavojams, jautri lietojams