Innholdsfortegnelse:
- Trinn 1: Fjernkontrollen
- Trinn 2: Programvare
- Trinn 3: IR -mottakermodul
- Trinn 4: Slik bruker du enheten
Video: Datamaskinens fjernkontroll: 4 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:24
Ved siden av mange andre formål bruker jeg min PC som multimediasenter. Noen ganger slapper jeg av på sofaen og hører på musikk eller ser på en film eller en TV, og har ikke lyst til å stå opp for å justere volumet eller endre TV -kanalen hver gang dumme reklamer dukker opp, eller jeg sover og ønsker stillhet. Så jeg har bestemt meg for å gjøre PC -en fjernkontrollert med en standard IR -fjernkontroll, slik at jeg bare kunne trykke på knappen i stedet for rasende å gripe etter musen eller mute -tasten på tastaturet.
Prosjektet består av flere deler:
- Fjernkontroll
- PC -programvare
- IR mottaker modul
Trinn 1: Fjernkontrollen
Det første elementet - fjernkontrollen - er trivielt å bli ferdig med. Bare bruk hvilken som helst IR -kontroll du liker. Jeg brukte den som er til salgs som settet sammen med IR -mottaker - se bildet. Den eneste grunnen til at jeg har bestemt meg for denne typen er bare fordi jeg allerede hadde den hjemme.
Trinn 2: Programvare
Jeg har laget programmet for GNU/Linux OS som kjører i en terminal. Kildekoden er gratis å laste ned/bruke/dele/endre. For å kompilere koden, bare gi kommandoen som gcc -o remotePC remotePC.c i terminalen. For å kjøre programtypen./remotePC.
Følgende informasjon i dette trinnet er rettet til de som er interessert i hvordan ting fungerer.
Programbeskrivelsen
Programmet sjekker først om filen /dev /ttyACM0 eller ttyACM1 eksisterer. I så fall er gruppens ID for filen kontrollert for å være forskjellig fra null. Dette betyr at den serielle porten kan leses fra og skrives til av den vanlige brukeren. To byte med verdiene 0xAA 0x55 skrives deretter til porten for å signalisere at programmet er klart til å motta dataene. De innkommende dataene blir sammenlignet med de lagrede verdiene. Hvis kampen blir funnet, utføres den forhåndsdefinerte handlingen.
Volumkontrollen
Programmet er i stand til å slå lyden av/på, øke/senke volumnivået på systemnivå. Dette oppnås ved bruk av pactl -programmet. Kommandoene ser da slik ut:
pactl set-sink-mute 0 veksle
pactl set-sink-volum 0 +10%
pactl set-sink-volume 0-10%
Installer om nødvendig de nødvendige pakkene.
VLC Media Player -kontrollen
Programmet kan også starte/pause lyd/video og endre sporet til forrige/neste i spillelisten til VLC Media Player. Desktop -bussen brukes i dette tilfellet. Kommandoene:
dbus-send --type = method_call --dest = org.mpris. MediaPlayer2.vlc
/org/mpris/MediaPlayer2 org.mpris. MediaPlayer2. Player. PlayPause
dbus-send --type = method_call --dest = org.mpris. MediaPlayer2.vlc
/org/mpris/MediaPlayer2 org.mpris. MediaPlayer2. Player. Next
dbus-send --type = method_call --dest = org.mpris. MediaPlayer2.vlc
/org/mpris/MediaPlayer2 org.mpris. MediaPlayer2. Player. Previous
Trinn 3: IR -mottakermodul
Den tredje delen av prosjektet er den mest komplekse, men likevel ganske enkel. Tanken er at IR -mottakeren sender ut signalet til MCU som vil transformere det til det unike nummeret. Dette nummeret blir deretter overført til PC -en via USB.
Modulen er ment å monteres inne i PC -etuiet og kobles til USB -sporet på hovedkortet med kabelen. Hvis du foretrekker den eksterne tilkoblingen til USB -en, må du foreta mindre justeringer.
MCU
Jeg har bygget modulen på PIC16F1829 mikrokontroller. Valget av MCU er ikke kritisk. Du kan bruke hvilken som helst annen MCU hvis du kan justere kildekoden. Jeg har valgt denne PIC av to grunner. Først hadde jeg den tilgjengelig, og for det andre ble pinnene delvis skadet av intens bruk i de forskjellige testprosjektene. Så jeg ønsket å bruke det i det permanente prosjektet før det blir totalt ubrukelig.:-)
IR -mottaker
Den andre delen modulen er basert på er IR -mottakeren VS1838B - den som er nevnt i det første trinnet.
UART/USB -omformer
Den tredje delen er MCP2221 som er UART/I2C/USB -omformeren.
Oppgaven er å kombinere disse 3 delene for å bygge opp modulen som vil kunne motta signalene fra IR -fjernkontrollen og overlevere dem til PCen.
Ledningene
På det første bildet er det testkretsen på brødbrettet. I den andre er det ledningsskjemaet.
Listen over deler
1 stk PIC16F1829 (eller annen MCU)
1 stk VS1838B (eller annen IR -mottaker)
1 stk MCP2221 (eller annen UART/USB -omformer)
2 stk 4-pinners topptekst
1 stk 6-pinners topptekst
1 stk motstand 100R
2 stk motstand 10K
2 stk motstand 330R
1 stk kondensator 470 nF
2 stk elektrolytkondensator 4,7 uF
1 stk bryter (valgfritt)
PCB -montering
Sett sammen modulen ved bruk av skjemaet. Du kan enten bruke universalbordet eller lage det egendefinerte kretskortet. Hvis sistnevnte er tilfelle, har jeg gitt KiCad -filene i arkivet nedenfor.
Fastvaren
Kildekoden for PIC skrevet med bruk av MPLAB X IDE og XC8 -kompilatoren er tilgjengelig for nedlasting nedenfor.
Kildekoden notater
For de som ønsker å vite hva programmet egentlig gjør, er følgende linjer.
Etter at alle innstillingene er gjort, er den røde lysdioden på og MCU venter på 0x55AA -dataene. Etter det blir LED -en grønn og MCU begynner å oppdage signalet fra IR -mottakeren ved bruk av avbruddene. Den måler og registrerer tidsintervallene signalet er i høye og lave nivåer. Disse tidene blir deretter transformert til 32-biters nummeret som sendes til PCen.
Forholdet mellom tidene og det endelige nummeret er gitt av NEC -protokollen.
Trinn 4: Slik bruker du enheten
Fastvare
Last opp fastvaren til PIC. Jeg bruker PICkit 3 programmereren.
Maskinvare
Installer IR -mottakermodulen som vist på bildene:
- Koble USB-hodet enten til det interne USB-sporet på hovedkortet inne i PC-etui med passende 4-leder kabel eller eksternt til USB-sporet med standard USB-kabel. I det andre tilfellet må du hjelpe deg selv på en eller annen måte, f.eks. som vist på det tredje bildet for inspirasjon.
- Fest 5 V-strømkabelen fra strømkilden inne i PC-etui til 4-pinners topptekst. Eller slå på modulen på en annen måte ved ekstern bruk.
Slå opp beskrivelsen på hovedkortets USB -kontaktpinner. Jeg er ikke sikker på om ledningene følger en slags standard, så det er bedre å sørge for det. I mitt tilfelle er det to pinnerader med 5 pinner i den øvre raden og 4 pinner i den nedre. Fra venstre til høyre er pinnene + 5 V, D-, D +, Gnd. Den femte pinnen i den første raden er ikke tilkoblet. Jeg festet kabelen som vist på det andre bildet.
Programvare
Kjør programmet i terminalen. Hvis alt går som det skal, er den siste meldingen i programmet "venter på data …". Når du trykker på knappen på fjernkontrollen, vil den mottatte koden vises på terminalen. På denne måten vet du hvilken knapp som sender ut hvilken kode.
Nå venter noen programmeringsgreier på deg, men ikke bekymre deg. Bare noen få ting må endres i programmets kildekode slik at programmet reagerer på fjernkontrollen. Åpne filen remotePC.c i tekstredigereren eller i en IDE hvis du vil, og bytt ut kodene mine med dine. Bare trykk på knappene du har tenkt å bruke for hver handling en etter en. Bare kopier kodene som vises i terminalen, og lim dem inn i kildekoden til stedet med tilsvarende handling.
Når du er ferdig, avslutt programmet og kompiler koden med kommandoen gcc -o remotePC remotePC.c. Kjør programmet igjen, og det vil svare på fjernkontrollen din fra nå av.
Jeg bruker denne måten med hardkodede handlinger i programmet da jeg synes det er meningsløst å kaste bort tiden min med videreutvikling av prosjektet til staten når det er mulig å legge til/endre koder/handlinger i det brukervennlige grafikkmiljøet for eksempel. Men hvis du vil gjøre dette eller enda mer, kan du gjøre det.
Anbefalt:
Legg en vifte til en datamaskinens varmeavleder - ingen skruer er nødvendig: 5 trinn
Legg en vifte til en datamaskinens varmeavleder - ingen skruer kreves: Problemet: Jeg har (hatt) et hovedkort på min filserver med en viftefri kjøleribbe over det jeg tror er nordbru. I følge sensorprogrammet (ksensorer) jeg kjørte i Fedora, holdt hovedkortet temperaturen rundt 190F. Fanget mitt
Forlenge den bærbare datamaskinens levetid! Rengjør støvet fra varmeavlederen: 3 trinn
Forlenge den bærbare datamaskinens levetid! Rengjør støvet fra varmeavlederen: En veldig grunnleggende oversikt over hvordan jeg renset støvet ut av Toshiba -bærbare datamaskinens kjøleribbe. Det var så mye der inne! Jeg kan ikke tro at denne praksisen ikke er anbefalt og oppmuntret av produsentene. Hvis støv blokkerer luftinntaket og utløpet og
Gjenbruk den gamle bærbare datamaskinens styreflate for å styre en trinnmotor: 11 trinn (med bilder)
Gjenbruk den gamle bærbare datamaskinens styreflate for å styre en trinnmotor: Jeg laget dette prosjektet for noen måneder siden. For noen dager siden la jeg ut en video av prosjektet på r/Arduino på Reddit. Da jeg så folk bli interessert i prosjektet, bestemte jeg meg for å gjøre denne Instructable der jeg har gjort noen endringer i Arduino -koden og
Slik bytter du ut den bærbare datamaskinens harddisk !!: 4 trinn
Slik bytter du ut den bærbare datamaskinens harddisk !!: I denne instruksen skal jeg vise deg hvordan du bytter harddisken i den bærbare datamaskinen din. Abonner på kanalen min Takk
IRduino: Arduino fjernkontroll - etterlign en tapt fjernkontroll: 6 trinn
IRduino: Arduino fjernkontroll - Imitate a Lost Remote: Hvis du noen gang har mistet fjernkontrollen for TV -en eller DVD -spilleren, vet du hvor frustrerende det er å måtte gå til, finne og bruke knappene på selve enheten. Noen ganger tilbyr disse knappene ikke engang den samme funksjonaliteten som fjernkontrollen. Motta