Spisu treści:
- Krok 1: Pilot zdalnego sterowania
- Krok 2: Oprogramowanie
- Krok 3: moduł odbiornika podczerwieni
- Krok 4: Jak korzystać z urządzenia
Wideo: Komputerowe zdalne sterowanie na podczerwień: 4 kroki
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:31
Oprócz wielu innych celów używam swojego komputera jako centrum multimedialnego. Czasami odpoczywam na kanapie słuchając muzyki lub oglądając film lub telewizor i nie mam ochoty wstawać, aby regulować głośność lub zmieniać kanał telewizyjny za każdym razem, gdy pojawiają się głupie reklamy lub zasypiam i życzę sobie cisza. Zdecydowałem się więc na zdalne sterowanie moim komputerem za pomocą standardowego pilota na podczerwień, abym mógł po prostu natychmiast nacisnąć przycisk, zamiast wściekle chwytać mysz lub klawisz wyciszenia na klawiaturze.
Projekt składa się z kilku części:
- Zdalne sterowanie
- Oprogramowanie komputerowe
- Moduł odbiornika podczerwieni
Krok 1: Pilot zdalnego sterowania
Pierwszy element - pilot - jest banalny do załatwienia. Po prostu użyj dowolnego sterowania na podczerwień. Użyłem tego, który jest na sprzedaż jako komplet wraz z odbiornikiem IR - patrz zdjęcie. Jedynym powodem, dla którego zdecydowałem się na ten typ, jest to, że miałem go już w domu.
Krok 2: Oprogramowanie
Stworzyłem program dla systemu operacyjnego GNU/Linux, który działa w terminalu. Kod źródłowy można pobrać/używać/udostępniać/modyfikować. Aby skompilować kod, po prostu wydaj w terminalu polecenie gcc -o remotePC remotePC.c. Aby uruchomić program, wpisz./remotePC.
Poniższe informacje w tym kroku są skierowane do tych, którzy są zainteresowani, jak to działa.
Opis programu
Program najpierw sprawdza, czy istnieje plik /dev/ttyACM0 lub ttyACM1. Jeśli tak, identyfikator grupy pliku jest sprawdzany, aby był różny od zera. Oznacza to, że port szeregowy może być odczytywany i zapisywany przez zwykłego użytkownika. Dwa bajty o wartościach 0xAA 0x55 są następnie zapisywane do portu, aby zasygnalizować, że program jest gotowy do odbioru danych. Przychodzące dane są porównywane z przechowywanymi wartościami. Jeśli dopasowanie zostanie znalezione, zostanie wykonana predefiniowana akcja.
Regulacja głośności
Program potrafi włączyć/wyłączyć dźwięk, zwiększyć/zmniejszyć głośność na poziomie systemu. Osiąga się to za pomocą programu paktl. Polecenia wyglądają wtedy tak:
pactl set-sink-mute 0 toggle
pakiet-zlewozmywak-objętość 0 +10%
paktl zestaw-zlewozmywak-objętość 0 -10%
W razie potrzeby zainstaluj żądane pakiety.
Sterowanie odtwarzaczem multimedialnym VLC
Program może również uruchomić/wstrzymać audio/wideo i zmienić ścieżkę na poprzednią/następną na liście odtwarzania VLC Media Player. W tym przypadku używana jest magistrala pulpitu. Polecenia:
dbus-send --type=metoda_call --dest=org.mpris. MediaPlayer2.vlc
/org/mpris/MediaPlayer2 org.mpris. MediaPlayer2. Player. PlayPause
dbus-send --type=metoda_call --dest=org.mpris. MediaPlayer2.vlc
/org/mpris/MediaPlayer2 org.mpris. MediaPlayer2. Player. Dalej
dbus-send --type=metoda_call --dest=org.mpris. MediaPlayer2.vlc
/org/mpris/MediaPlayer2 org.mpris. MediaPlayer2. Player. Poprzedni
Krok 3: moduł odbiornika podczerwieni
Trzecia część projektu jest najbardziej złożona, a mimo to dość prosta. Pomysł polega na tym, że odbiornik podczerwieni wyśle sygnał do MCU, który przekształci go na unikalny numer. Numer ten zostanie następnie przesłany do komputera przez USB.
Moduł przeznaczony jest do montażu wewnątrz obudowy PC i podłączenia kabla do gniazda USB na płycie głównej. Jeśli wolisz zewnętrzne połączenie z USB, będziesz musiał dokonać drobnych korekt.
MCU
Moduł zbudowałem na mikrokontrolerze PIC16F1829. Wybór MCU nie jest krytyczny, możesz użyć dowolnego innego MCU, jeśli jesteś w stanie dostosować kod źródłowy. Wybrałem ten PIC z dwóch powodów. Po pierwsze miałem go pod ręką, a po drugie jego piny zostały częściowo uszkodzone przez intensywne użytkowanie w różnych projektach testowych. Chciałem więc użyć go w stałym projekcie, zanim stanie się całkowicie bezużyteczny.:-)
Odbiornik podczerwieni
Drugą częścią modułu jest odbiornik podczerwieni VS1838B - wspomniany w pierwszym kroku.
Konwerter UART/USB
Trzecia część to MCP2221 czyli konwerter UART/I2C/USB.
Zadanie polega na połączeniu tych 3 części, aby zbudować moduł, który będzie w stanie odbierać sygnały z pilota IR i przekazywać je do komputera.
Okablowanie
Na pierwszym zdjęciu na płytce stykowej znajduje się obwód testujący. W drugim znajduje się schemat okablowania.
Lista części
1 szt. PIC16F1829 (lub dowolny inny MCU)
1 szt. VS1838B (lub dowolny inny odbiornik podczerwieni)
1 szt. MCP2221 (lub dowolny inny konwerter UART/USB)
2 szt. Nagłówek 4-pinowy
1 szt. 6-pinowy nagłówek
1 szt rezystor 100R
2 szt. Rezystor 10K
2 szt rezystor 330R
1 szt. kondensator 470 nF
2 szt. Kondensator elektrolityczny 4,7 uF
1 szt. przełącznik (opcjonalnie)
Montaż PCB
Złóż moduł korzystając ze schematu. Możesz użyć uniwersalnej płytki lub stworzyć niestandardową płytkę drukowaną. W tym drugim przypadku udostępniłem pliki KiCad w poniższym archiwum.
Oprogramowanie układowe
Kod źródłowy dla PIC napisanego przy użyciu MPLAB X IDE i kompilatora XC8 jest dostępny do pobrania poniżej.
Uwagi do kodu źródłowego
Dla tych, którzy chcieliby wiedzieć, co dokładnie robi program, są następujące wiersze.
Po wykonaniu wszystkich ustawień czerwona dioda LED świeci, a MCU czeka na dane 0x55AA. Następnie dioda zmieni kolor na zielony, a MCU zacznie wykrywać sygnał z odbiornika IR za pomocą przerwań. Mierzy i rejestruje odstępy czasu, w których sygnał znajduje się na poziomie wysokim i niskim. Te czasy są następnie przekształcane na 32-bitową liczbę, która jest wysyłana do komputera.
Stosunek czasów do liczby końcowej określa protokół NEC.
Krok 4: Jak korzystać z urządzenia
Oprogramowanie układowe
Prześlij oprogramowanie układowe do PIC. Używam programatora PICkit 3.
Sprzęt komputerowy
Zainstaluj moduł odbiornika IR tak, jak pokazano na zdjęciach:
- Podłącz nagłówek USB do wewnętrznego gniazda USB na płycie głównej w obudowie komputera za pomocą odpowiedniego 4-żyłowego kabla lub zewnętrznie do gniazda USB za pomocą standardowego kabla USB. W drugim przypadku musisz sobie jakoś pomóc, m.in. jak widać na trzecim zdjęciu dla inspiracji.
- Podłącz kabel zasilający 5 V ze źródła zasilania wewnątrz obudowy komputera do 4-pinowego złącza. Lub zasil moduł w inny sposób w przypadku zastosowania zewnętrznego.
Sprawdź opis styków gniazda USB płyty głównej. Nie jestem pewien, czy okablowanie jest zgodne z jakimś standardem, więc lepiej się upewnić. W moim przypadku są dwa rzędy pinów z 5 pinami w górnym rzędzie i 4 pinami w dolnym. Od lewej do prawej piny to + 5 V, D-, D+, Gnd. Piąty pin w pierwszym rzędzie nie jest podłączony. Podłączyłem kabel jak widać na drugim zdjęciu.
Oprogramowanie
Uruchom program w terminalu. Jeśli wszystko pójdzie dobrze, ostatni komunikat programu to „czekam na dane…”. Teraz po naciśnięciu przycisku na pilocie otrzymany kod pojawi się w terminalu. W ten sposób będziesz wiedział, który przycisk emituje jaki kod.
Teraz czeka na Ciebie trochę programowania, ale nie martw się. Wystarczy zmienić kilka rzeczy w kodzie źródłowym programu, aby program reagował na pilota. Otwórz plik remotePC.c w edytorze tekstu lub w jakimś IDE jeśli chcesz i zamień moje kody na swoje. Po prostu naciskaj przyciski, których zamierzasz użyć dla każdej akcji, jeden po drugim. Po prostu skopiuj kody, które pojawiają się w terminalu i wklej je do kodu źródłowego w miejscu z odpowiednią akcją.
Po zakończeniu zamknij program i ponownie skompiluj kod poleceniem gcc -o remotePC remotePC.c. Uruchom program ponownie, a od teraz będzie reagował na pilota.
Korzystam w ten sposób z akcji zakodowanych na sztywno w programie, ponieważ uważam, że nie ma sensu tracić czasu na dalszy rozwój projektu do stanu, w którym możliwe jest np. dodawanie/zmiana kodów/akcji w przyjaznym dla użytkownika środowisku graficznym. Ale jeśli chcesz to zrobić, a nawet więcej, możesz.
Zalecana:
Sterowanie komputerowe za pomocą gestów i wprowadzania dotykowego: 3 kroki
Sterowanie komputerowe za pomocą gestów i wprowadzania dotykowego: To jest projekt demonstracyjny nowego Piksey Atto. Do sterowania komputerem używamy TTP224 touch IC oraz modułu gestów APDS-9960. Przesyłamy szkic do Atto, który działa jak klawiatura USB, a następnie wysyła odpowiednie kody klawiszy w zależności od
SONOFF Podwójny samouczek: Zdalne sterowanie urządzeniami elektrycznymi za pomocą MQTT i Ubidots: 4 kroki
SONOFF Podwójny samouczek: Zdalne sterowanie urządzeniami elektrycznymi za pomocą MQTT i Ubidots: Ten przekaźnik Wi-Fi o wartości 9 USD może sterować dwoma urządzeniami jednocześnie. Dowiedz się, jak podłączyć go do Ubidots i uwolnić jego pełny potencjał! W tym przewodniku dowiesz się, jak kontrolować kilka urządzeń 110 V przez Wi-Fi za 9 USD, używając SONOFF Dual firmy Itead
Sterowanie komputerowe dowolnym zestawem obwodów elektronicznych: 4 kroki
Sterowanie komputerowe Dowolny zestaw obwodów elektronicznych: Naprawdę uwielbiam proste zestawy elektroniczne, takie jak warsztaty naukowe Tronex 72+ firmy Tedco Toys. Poza tym, że jest łatwy w użyciu, Tronex ma tylko wystarczającą ilość komponentów do bardzo szybkiego prototypowania projektów, ponieważ nie musisz ścigać żadnych części, ponieważ
ESP8266 TAŚMA LED RGB Sterowanie WIFI - NODEMCU jako pilot na podczerwień do taśmy Led kontrolowanej przez Wifi - TAŚMA LED RGB Sterowanie smartfonem: 4 kroki
ESP8266 TAŚMA LED RGB Sterowanie WIFI | NODEMCU jako pilot na podczerwień do taśmy Led kontrolowanej przez Wifi | Sterowanie smartfonem z taśmą LED RGB: Cześć, w tym samouczku dowiemy się, jak używać nodemcu lub esp8266 jako pilota na podczerwień do sterowania taśmą RGB LED, a Nodemcu będzie kontrolowane przez smartfon przez Wi-Fi. Więc w zasadzie możesz sterować TAŚMĄ LED RGB za pomocą smartfona
Sterowanie komputerowe: 6 kroków
Rzeczy sterowane komputerowo: Ta instrukcja poprowadzi Cię przez proces tworzenia sterowanego komputerowo urządzenia niskonapięciowego. Co będzie potrzebne: 1 stara klawiatura ps/2 lub podrzędna 2 przekaźniki niskonapięciowe 3 przewody opcjonalne 1 ładne pudełko/obudowa 2 gniazdo zanurzeniowe 3 lutowanie 4 diody led Narzędzia: s