Mündəricat:
- Addım 1: Fikir
- Addım 2: Nəzarətçi yaradın
- Addım 3: Nəzarətçiyə uyğunlaşdırma
- Addım 4: Dərzilik işini asanlaşdırmaq üçün vasitələr
Video: Stm32 -də Düşmək: Ev Media Mərkəzi üçün Uzaqdan İdarəetmə: 4 Addım (Şəkillərlə)
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:47
Bu, 'bluepill' lövhəsi olaraq bilinən smt32 mikro nəzarətçi, stm32f103c8t6 əsasında ev media mərkəzi uzaqdan idarəetmə üçün tam bir prototipdir. Tutaq ki, ev media mərkəzi üçün bir PC istifadə edirsiniz. Böyük bir video kitabxanasını daxili sabit diskə yerləşdirməyə və ya şəbəkədən video oynatmağa imkan verən çox çevik bir həlldir, məsələn, youtube və s., Kodeklər və ya video oynatmaqla heç bir probleminiz yoxdur, çünki bu çox proqram pleyerini istənilən vaxt yeniləmək asandır. Bu həllin əsas çatışmazlığı, çalma prosesini idarə etmək üçün siçan və klaviatura istifadə etməyinizdir. IR uzaqdan idarəetmə cihazı bunun üçün çox əlverişlidir.
Bu yazıda çip planlı lövhədən istifadə edərək öz uzaqdan idarə etməyinizi göstərəcəyəm.
Addım 1: Fikir
Əsas fikir çox sadədir: plan lövhəsi quraşdırılmış usb portuna malikdir və USB HID klaviatura kimi çıxış edə bilər. IR qəbuledicisini lövhəyə bağlasaq, IR uzaqdan idarəetmə əmrini virtual klaviaturanın 'düyməsini basmağa' çevirə bilər. Əlavə sürücü tələb olunmur!
Ətrafımızda dünyada bir çox IR protokolları var. VCS satıcısının hər bir TV -nin öz IR protokolu var. Ancaq bütün bu protokolların ortaq bir xüsusiyyəti var: siqnalı kodlaşdırmaq üçün nəbz modulyasiyasından istifadə edirlər. Adətən, bəzi müqəddimələr var: paketin ilk bitindən əvvəl uzun impuls. Sonra IR nəzarəti bütün paketi 0 və 1 ilə ötürür və uzun nəbzlə ötürməni tamamlayır. Biti deşifr etmək üçün zirvənin uzunluğunun nəbzini və uzunluğunu ölçməliyik. Adətən məntiq 0 və məntiq 1 -in pik uzunluğu eynidir, fərq tam nəbz uzunluğundadır.
Stm32 mikro nəzarətçiləri PWM siqnalını tutmaq üçün quraşdırılmış xüsusiyyətə malikdir. Taymerin kanal dəyişənləri nəbzin ümumi uzunluğunu və pik uzunluğunu saxladıqda, mikro nəzarətçinin hər bir taymeri yaxınlığında 'PWM siqnalını daha çox çəkmək' yerləşdirilə bilər. Burada kiçik bir detalı vurğulamalıyam: İR qəbuledicisi siqnalı tutduqda işçi pinindəki gərginlik 0 olur və boş vəziyyətdə işləyən pindəki gərginlik İQ qəbuledicisinin təchizatı gərginliyindən asılı olaraq 5 və ya 3,3 voltdur. Yəni, alıcı siqnalı 'ters çevirir'.
PWM ələ keçirmə rejimi ilə stm32 mikro nəzarətçi asanlıqla IR uzaqdan klaviatura kodlarına qədər IR uzaqdan tərcüməçiyə çevrilə bilər. Sonra sevdiyiniz filmi media mərkəzində oynamaq üçün ən çox sevdiyiniz vizual proqrama başlaya bilərsiniz, məsələn VLC Kodi.
Addım 2: Nəzarətçi yaradın
Stm32 mikro nəzarətçisini proqramlaşdırmaq üçün STM -dən pulsuz bir proqram təmin etmək istərdim: sistem iş masası (aka ac6) və lövhənin konfiqurasiya vasitəsi cubeMX. Proqramı mikro nəzarətçiyə yükləmək üçün ST-Link V2 adapterinin çip klonundan istifadə etmək olar. Bu addıma əlavə edilmiş sistem iş masası layihə faylları, F1-IR_remote.zip faylı.
Lövhə konfiqurasiya vasitəsi mikro nəzarətçimizin ilkin hardware konfiqurasiya prosesini asanlaşdırır.
Sistem iş masası alətindən istifadə edirsinizsə, yüklənmiş layihədən istifadə edə bilərsiniz. Ancaq layihəni daha ətraflı araşdırmaq istəyirsinizsə, cubeMX -də lövhə konfiqurasiyasını yarada bilərsiniz:
- Yeni bir layihə yaradın və stm32f103c8 lövhəsini seçin
- RCC menyusundakı 'Yüksək Sürətli Saat (HSE)' maddəsi üçün 'Kristal/Seramik Rezonator' seçin.
- SYS menyusundakı 'Debug' maddəsi üçün 'Serial Wire' seçin.
-
Şəkildə göstərildiyi kimi PWM çəkmə rejimində #2 sayğacını (TIM2 menyusu) konfiqurasiya edin:
- Qul rejimi -> Sıfırlama rejimi
- Tetik mənbəyi -> TI1FP1
- Saat mənbəyi -> Daxili saat
- Kanal1 -> Giriş Capture birbaşa rejimi
- USB menyusunda "Cihaz (FS)" onay qutusunu seçin
- USB_DEVICE menyusundakı 'FS IP Sınıfı' maddəsində 'İnsan Arayüzü Cihazı Sınıfı (HID)' açılan menyu elementini seçin.
- Saat konfiqurasiya panelində, 2 saylı taymerə 72 MHz verdiyinizə əmin olun, çünki hər 1 mks -də taymer sayına ehtiyacımız var.
- Konfiqurasiya panelində USB cihazını şəkildə göstərildiyi kimi konfiqurasiya edin
-
Konfiqurasiya panelində 2 sayğacını aşağıdakı kimi konfiqurasiya edin:
- Prescaller - 71 (0 -dan 71 -ə qədər) - 1 mikro saniyəlik gənə!
- Sayaç rejimi - yuxarı
- Sayaç Dövrü - 39999 (uzun nəbzi ölçməyi bacarmalıyıq)
- Giriş tutma kanalı1 - Düşən Kenar (IR qəbuledicisindən gələn siqnalın ters çevrildiyini unutmayın)
PWM çəkmə rejimində, 2 saylı zamanlayıcı aşağıdakıları işləyəcəkdir:
Düşən cəbhə aşkar edildikdə, taymer sayğacı kanal1 reyestrində saxlanılacaq və taymer sayğacı 0 ilə sıfırlanacaq. Sonra taymer istiqamətini saymağa davam edəcək. Beləliklə, nəbz uzunluğunu mikro saniyələrdə asanlıqla ölçə bilərik.
Varsayılan olaraq STM32 USB HID sinfi USB siçanını simulyasiya edir. Burada nəzarətçini klaviaturaya çevirmək üçün təlimat tapa bilərsiniz.
Addım 3: Nəzarətçiyə uyğunlaşdırma
Layihə Panasonic uzaqdan idarəetmə və Kodi media mərkəzi ilə işləyir. Layihəni öz nəzarətçinizə uyğunlaşdırmaq üçün, panasonic uzaqdan idarə etmə (panasonicCode) üçün Inc/code.h başlığına etdiyim kimi, uzaqdan idarə etmə kodunuzu əlavə etməlisiniz. Gördüyünüz kimi, hər bir əmrin özünəməxsus identifikatoru var (IRcommmand qeydində). Layihə tərəfindən tanınan 24 əmr (0-23) var. Əmr uyğunluğa görə sıralanır.
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_chapter_next, IR_chapter_previous, IR_info, IR_subtitle, IR_nxt_subtitle, IR_pos_subtitle, IR_teletext, IR_zoom, IR_mark_watched, IR_playlist, IR_power, IR_unknown} IRcommand;
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};
0x100eced panasonicCode = {0xd00505d, 0xd00000d, 0xd00606d, 0xd00525f, 0xd00929f, 0xd00101d, 0x1002b2a, 0x1007273, 0x100f2f3, 0x1005253, 0x100d2d3, 0x1009293, 0x1002c2d, 0x100acad, 0x1009c9d, 0x1008e8f, 0x1004e4f, 0x100cecf, 0x1000e0f, 0x180c041, 0x1801091 uint32_t const, 0x180a021, 0xd00bcb1};
Sonra addRemote () funksiyası ilə IR.cpp -də init () metoduna öz uzaqdan idarə etmənizi əlavə etməlisiniz. Funksiya arqumentləri bunlardır:
- Paketdəki bitlərin sayı
- Paket başlığının uzunluğu
- 'Sıfır' bit uzunluğu
- 'Bir' bit uzunluğu
- Kod dizisinə işarəçi
- Dizinin ədəd elementləri
boş IRcmd:: init (void) {addRemote (48, 5252, 902, 1755, panasonicCode, sizeof (panasonicCode)/sizeof (uint32_t));
}
Ayrıca fayl, əmrləri klaviatura kodlarına çevirmək üçün başqa bir cədvəl ehtiva edir. Kbdr_kodi serialında Kodi media mərkəzi üçün açar kodları var. Öz media mərkəzi proqramınız üçün başqa bir sıra əlavə edə bilərsiniz, məsələn, vlc player. Başqa bir media mərkəzi tətbiq cədvəli əlavə etsəniz, başqa bir KBD obyekti yaradacaq və onu main.cpp -də işə salacaqsınız.
Addım 4: Dərzilik işini asanlaşdırmaq üçün vasitələr
Anbarda daha iki layihə var
- IR araşdırması - pultunuzun siqnallarının vaxt parametrlərini ölçməyə imkan verir.
- IR_capture - pultunuzun HEX kodlarını çəkməyə imkan verir.
Sadəcə İR araşdırma layihəsini yükləyin və iş planının USB portunu kompüterinizə qoşun. Sonra virtual serial port cihazında stm32 lövhəsinə uyğun olan hər hansı bir terminal proqramını işə salın. Uzaqdan idarəetmə düymələrinə basdığınız zaman, proqram alınan nəbzləri ölçür və fərqli nəbzlərin orta vaxtlarını yazır. Paket başlığı, sıfır və bir bit üçün nəbz uzunluğunun aşkarlanmasını asanlaşdırmalıdır.
IR araşdırma layihəsində, 2 saylı taymer PWM çəkmə rejimində iki kanalla işləyir: birinci kanal bütün nəbz uzunluğunu, ikinci kanal isə pik uzunluğunu tutur. Düşən siqnal kənarı aşkar edildikdə, taymer dəyəri bir qeyddə qeyd olunur və taymer 0 ilə sıfırlanır. Siqnalın yüksələn kənarı aşkar edildikdə, taymer sayğacı kanal 2 qeydinə qeyd olunur.
Öz uzaqdan idarəetmə düymələrinizin kodlarını çəkmək üçün IR_capture layihəsi istifadə edilə bilər. Main.c faylına belə bir uzaq tərifi əlavə etməlisiniz:
IRcode panasonic = {.hdr = 5252,.bits = 48,.zero = 902,.one = 1755,.dev = 60};
- .hdr - başlıq uzunluğu mks
- .bits - paketdəki bitlərin sayı
- .zero - sıfır bitin uzunluğu
- .biri - uzunluğu bir az
- .dev - sapma (qəbul edilə bilən vaxt fərqi). Adətən ən kiçik uzunluğun 1/10 hissəsidir.
Sonra uzaqdan idarə olunan uzaqdan idarə olunanların siyahısına əlavə edin:
const IRcode* uzaqdan [2] = {& panasonic, & pioneer};
Tövsiyə:
2262/2272 M4 Çörək Kartı və İstehsalçı üçün Röle ilə DIY Uzaqdan İdarəetmə Açarı Kit: 4 Addım (Şəkillərlə)
2262/2272 M4 Çörək Paneli və Maker üçün Relay DIY DIY Uzaqdan İdarəetmə Dəsti: ağıllı ev həyatımıza gəlir. Ağıllı evin gerçəkləşməsini istəyiriksə, bir çox uzaqdan idarəetmə açarına ehtiyacımız var. Bu gün bir test edəcəyik, uzaqdan idarəetmə açarı nəzəriyyəsini öyrənmək üçün asan bir dövrə edəcəyik. bu dəst dizaynı SINONING ROBOT
HT12D HT12E istifadə edərək RF 433MHZ Radio İdarəetmə - 433mhz ilə HT12E və HT12D istifadə edərək Rf Uzaqdan İdarəetmə edilməsi: 5 addım
HT12D HT12E istifadə edərək RF 433MHZ Radio İdarəetmə | HT12E və HT12D -dən 433mhz istifadə edərək Rf Uzaqdan İdarəetmə edilməsi: Bu təlimatda sizə HT12E kodlu 433mhz ötürücü qəbuledici modulu istifadə edərək RADIO uzaqdan idarə etməyi göstərəcəyəm. HT12D kod deşifratoru IC. Bu təlimatda çox ucuz komponentləri istifadə edərək məlumat göndərə və ala bilərsiniz: HT
Amazon Fire Uzaqdan Uzaqdan TV Uzaqdan sürüşdürün: 3 Addım (Şəkillərlə birlikdə)
Amazon Fire Uzaqdan Uzaqdan TV Uzaqdan Sürüşdürün: Oh Amazon, Fire TV'niz çox gözəldir, niyə bizə pultunuzda səs idarəetməsini vermədiniz? Yaxşı ki, Amazon -da 5 dollardan aşağı qiymətə bu sevimli kiçik uzaqdan, güc, səssiz satın ala bilərsiniz. , həcmi və hamısı kiçik bir paketdə. 3d printerə daxil edin
Adi Uzaqdan İdarəetmə Dəsti Dörd Kanallı RC Oyuncaq Uzaqdan İdarəetmə Sisteminə Çevrildi: 4 Addım
Adi Uzaqdan İdarəetmə Dəsti Dörd Kanallı RC Oyuncaq Uzaqdan İdarəetmə Sisteminə Çevrildi: 如何 通用 遥控 器 套件 转换 为 玩具 中 中 遥控 采用 采用 6 6 6 6 6 6 6 6 2262 和 2272 和 433 模块 构建 构建改造 方法 简单。 只需 准备 一些 瓦楞纸 板 , 然后 按照
IR Uzaqdan Uzaqdan Uzaqdan Çevirin: 9 Addım (Şəkillərlə birlikdə)
IR Uzaqdan Uzaqdan Uzaqdan RF -yə çevirin: Bugünkü Təlimat kitabında, ümumi bir RF modulunu mikro nəzarətçi olmadan necə istifadə edə biləcəyinizi sizə göstərəcəyəm ki, nəticədə hər hansı bir cihazın IR uzaqdan idarəetmə cihazını RF -yə çevirə biləcəyiniz bir layihə hazırlayaq. Uzaqdan. Çevirmənin əsas üstünlüyü