IRK! Infraröd radiostyrd USB-tangentbord utan nycklar (6 / 7 steg)

Steg 6: Hur det fungerar



Översikt

Grundtanken är att det finns en 1: 1-mappning mellan att trycka på en knapp på din fjärrkontroll och en tangentkombination som skickas till din PC. IRK! helt enkelt lär din inlärning remote en kod som representerar en viss tangentkombination. När du har programmerat att koden på en av din remote-knappar sänder att trycka på knappen koden tillbaka till IRK! som kommer, naturligtvis, känner igen det sedan skicka det till PC som en USB-tangenttryckning.

Eftersom IRK! genererade IR koden, det kan inte eventuellt inte igen det - så IRK! behöver inte stödja en zillioner olika IR fjärrkontroll modeller!

USB-tangenttryckningar

USB-tangenttryckningar skickas till datorn med hjälp av koder definieras i specifikationen för USB-Human Interface Device (HID) användning tabeller . Att specifikationen definierar, till exempel, att koden 0x04 betyder bokstaven "a". För en tangentbordet, som IRK!, ytterligare "modifier" koder kan skickas till datorn som anger om GUI (aka Fönstren nyckel, nyckel-Apple, Super nyckel), kontroll, Alt och SKIFT-tangenterna också "trycks". Till exempel att skicka ett versalt "a", IRK! skickar 0x02 (menande skifta är pressat) och 0x04 (som betyder "en" är nedtryckt). Datorn tolkar den sekvensen som menande versalt "A". Omedelbart efter det att den sekvensen, IRK! skickar en "null" sekvens av 0x00 och 0x00 att ange att ingen nyckel eller nyckel modifierare för närvarande är pressas. Detta krävs av USB-protokollet annars datorn tror att du håller ned SKIFT och "A" tills den får den nästa USB nyckel koden.

Så du kan se att IRK! har bara för att kunna "lära" en lärande fjärrkontroll en sekvens av 0x02 följt av 0x04 att representera bokstaven "A". När användaren trycker på knappen på fjärrkontrollen, IRK! få den med dess IR-mottagare och sedan skicka 0x02 0x04 sekvensen till PC som kommer att tolkas som användaren att trycka på Skift + A på ett USB-tangentbord.

IR-kommandot Format

IRK! endast erkänner IR signaler som är adresserade till en viss IRK! enhet. Detta är en adress byte också skickas/tas emot på IR sökvägen. Varje IR kommando är en sekvens av sex (6) byte enligt följande:

AA, AA', UX, UX', ÅÅ, YY'

Var:

AA är adress byte från 0x00 till 0xFF
AA "är inverterade adress byten (alla de konverteras till nollor och vice versa)
UX är sidan användning (U = 0x0 till 0xF) och, för tangentbord användning, modifierare nybble X (kontroll, Alt, skift)
UX' är den inverterade UX byten
YY är kommandobyte (för tangentbord användning, den USB nyckel koden)
YY' är den inverterade kommandobyte

Anledningen för att överföra en inverterad kopia av varje byte är att minska risken för att störningar har orsakat ett ogiltigt kommando tas emot. Till exempel, skulle inte du din begäran att "spela denna inspelning" tolkas som "ta bort denna inspelning" bara för att en fluga avbröt IR signalvägen på det ögonblick!

Om du vill verifiera varje kommando är det emot, IRK! kontrollerar att AA (inverterad) är lika med AA', och att UX (inverterad) är lika med UX', och att YY (inverterad) är lika med YY', och att antingen AA är lika med denna IRK! " s-enhetsadress eller AA motsvarar 0xFF (broadcast-adressen). Om allt det ovanstående är sant, då IRK! kan vara ganska säker på att det är ett giltigt kommando och kommer att agera på den.

Teknik för infraröd överföring

IRK! använder Pulse bredd Modulation (PWM) för att koda serien 1 och 0 som utgör varje kommando. Du kan programmera mikrokontroller för att använda en annan teknik som Manchester Encoding men PWM fungerar alldeles utmärkt. Till exempel USB '1' nyckel kodad med PWM ser ut som bilden ovan.

När signalen är "låg", överförs en IR explosion av pulser på 38 kHz. Omvänt, när signalen är "hög" representerar en period av tystnad.

Det finns en ledande sprack för 1000 μs sedan tystnad för 600 μs (versioner av IRK! innan 2,04, det var 9400 μs och 4500 μs respektive). Denna ledande brast var krävs av äldre IR-mottagare moduler att "utbilda" sina Automatic Gain Control (AGC) kretsar så att de kunde avgöra vad en normal signalnivå var. Dagens IR-mottagare behöver oftast inte detta krav, men din inlärning remote kan vara gammal så IRK! fortfarande stöder det.

Därefter en '1' kodas som en kort burst följt av en lång tystnad, och en '0' kodas som en kort burst följt av en kort tystnad.

Broadcast-adress

En adress byte av 0xFF är erkänd av alla IRK! enheter som du kan ha byggt. Så är det möjligt för en enda fjärrkontroll att skicka ett kommando till alla IRK! enheter samtidigt.

Systemkommandon kontroll

IRK! också stöder USB-definierade "System Control" kommandon kallas "Sover", "Vakna" och "Power Off". Vissa USB-tangentbord har nycklar för dessa funktioner, men de är inte inneboende tangentbord funktioner. Någon passande programmerade USB-enhet, till exempel IRK!, kan skicka kommandon för styrning av USB-System till din dator för att begära att få gå in i "viloläge", till exempel. Följande är en sammanfattning av resultaten av systemet Kontrollkommandon på min PC (din antall Maj variera):

Power Off = CPU bort, bricka av, Monitor off, USB av
Sova = CPU på, av, Monitor off, USB-Disk på
Vakna = gör inte fungerar!
Power Switch tryckte = CPU bort, bricka av, Monitor off, USB på

Konsument enhet kommandon

IRK! stöder USB-definierade "konsumenten Device" kommandon som "Mute", "Vol +", "Vol-", "Miniräknare", "Browser hem", dessa kommandon kan du styra din mediaspelare (spela upp/paus, stopp, hoppa tillbaka, hoppa framåt etc) eller starta program (kalkylator, webbläsare, Media Player etc).

För en komplett lista av konsumentprodukt kommandon som du kan använda, bara ladda ner USB-Human Interface enheten användning tabeller dokumentet. Att låter komplicerat, men specifikationen är inte så svårt att läsa. Specifikt, se tabell 17 "Konsumenternas användning sida". Det spelar ingen roll att IRK! visar inte namnen på alla dessa kommandon som du bläddrar genom dem, kan du fortfarande begära IRK! för att skicka dem till din USB-bör värd (Linux, Windows, MythTV etc)- och USB-värd utföra motsvarande funktion.

Strömbrytaren och Reset Switch kommandon (experimentell)

Skarpsinniga läsare har säkert märkt att det finns ett problem med att försöka få IRK! "Power on" datorn - eftersom inte alla datorer leverera ström till USB-enheter hela tiden när systemet är off och IRK! beror på kraften som tillhandahålls av USB-gränssnittet för system den är ansluten till.

En väg runt detta är att driva IRK! kretsar från "Standby" spänningen (Vsb) från PC power supply. VSB på äldre datorer leveranser + 5V på runt 10 mA även om du har avstängd datorn. Nyare ATX nätaggregat kan leverera Vsb på 2A. Detta innebär att, om de drivs från Vsb, IRK! kan hålla mig vaken lyssnar för IR-kommandon så länge datorn är ansluten till vägguttaget och väggen. IRK! krets tillgodoser att trycka på strömbrytaren och Reset-knappen på din PC, men du måste på något sätt utnyttja Vsb utdata från din dator strömförsörjning till få den till verk. Jag vet inte om alla moderkort som har en lättillgänglig header pin för Vsb. Detta innebär att om du vill ha denna funktion, då du kan behöva fysiskt bryta Vsb kabeln från PC strömförsörjningen. Vsb kabeln bör vara lila tråd.

Observera att driva IRK! från Vsb har inte testats för tillfället, men bör fungera i princip. Strömbrytaren och Reset Switch funktioner fungerar så länge som IRK! drivs från USB men.

Se Steg
Relaterade Ämnen

Mini USB-tangentbord med en $7 mikrokontroller

Göra ett tangentbord som använder en mikrokontroller för att skicka usb knapptryckningar, som gränssnitt med AutoHotKey, ett Windows-program för att skapa applikationer och makron.AutoHotKey kan användas med din ursprungliga tangentbord utan behov av...

Hacka ett USB-tangentbord

hur till hacka en USB-tangentbord eller ett tangentbord för den delen. Skicka ingångar in i datorn utan en pesky mikrokontroller.Steg 1: Öppna upp tangentbordet Öppen upp fallet. Använd en skruvmejsel eller ett löjligt snygga multi-purpose verktyg. I...

ZX Spectrum trådbunden USB tangentbord del 1

I detta Instructable visar jag dig de enkla stegen som jag använde för att konvertera en ZX Spectrum i ett USB-tangentbord.Jag vet att det finns purister där ute som kommer hata detta men om ditt moderkort är bortom reparation så är det ett sätt att...

Konvertera ett ZX82 spektrum tangentbord till ett utbyggbart USB-tangentbord med Arduino

I detta Instructable, jag ska visa dig hur du omvandlar tangentbordet ZX82 spektrum till ett funktionellt expanderbara USB-tangentbord kompatibelt med något USB-aktiverad. Detta bygga är kompakt nog att när du är klar, kan du passa en Raspberry Pi el...

Acorn Electron USB-tangentbord

Gör ett retro USB-tangentbord från en 1980-talet Acorn Electron dator!Elektronen var en 8-bitars dator först producerade 1983, baserat på den legendariska BBC Micro. Även om det var en budget hemdator, kom det med ett anständigt tangentbord. För mång...

Jobbet: installera ett USB-tangentbord i en OLPC XO Laptop, fas II

för en kille som har tillbringat större delen av sitt liv med fingrarna ansluten till raden hem, lägga till denna USB-tangentbord som jag verkligen kan touch-type på har gjort en enorm skillnad i användbarheten av XO. Detta är "fas II"--sätta ka...

Installerar ett USB-tangentbord i en OLPC XO Laptop, fas I

jag vet inte om dig, men jag kan säkert säga silikon från den äkta varan. Här ' hur till dike gelé och pressa en normal tangenter och fjädrar typ USB-tangentbord i en OLPC XO laptop. Detta "fas I"--får tangentbordet i nedre hälften av fallet, me...

USB-tangentbord med fotpedal

denna USB-fotpedal tangentbord är yngre bror till billig och enkel fotpedal tangentbordet.På denna modell jag bättre layout och uppgraderat elektroniken.Det har nu 10 knappar i stället för 5 och jag ökade storleken på de "viktigaste" pedalerna....

Hur man använder ett USB-tangentbord med Acer Iconia A500 tabletten

Jag gjorde en snabb video som visar hur du använder ett USB-tangentbord med Tablet Acer Iconia A500.Om du har några frågor vänligen Låt mig veta.Nu att Acer har sänt ut uppdateringen till Honeycomb 3.1 kan du också koppla ihop och använda ett bluetoo...

DIY. LED USB tangentbord Base för att snabbt skriva-lätt kontrollera

ledde - USB tangentbord Base för fort maskinskrivning & lätt kontrolleraMusik: Från Stockmusic.netEn Royalty gratis låt köpt licens för Samimy-produktioner.Namnet på banan: Ocean of DreamsID: z247Filt Liences är håll av Samimy i PDF-Formatfått från s...

Min USB-tangentbord lampa

detta är min personliga version av USB-tangentbord lampan....

Hacka en USB-tangentbord för att göra en Synth Pedal ombord

min son frågade mig om jag kunde göra en pedallådan att ansluta till sin bärbara dator att använda med sin synth programvara, så att han kan växla loopar medan du utför-- eller något musikaliska sådär. Vi beslutade att hacka en gammal USB-tangentbord...

Piano utbildning USB-tangentbord

jag har för något som jag tror skulle vara ett bra verktyg för undervisning piano studenter och utveckla färdigheter, men har inte fått någon färdigheter som en programmerare och gick inte att skapa ett program för att få det att fungera. Jag vill an...

Xbox 360 USB-tangentbord

hur du ansluter en trådlös eller kabelansluten USB-tangentbord till xbox 360Steg 1: vad du behöver trådlös eller trådbunden USB-tangentbordUSB-tangentbord mottagare för trådlöst tangentbordXbox 360händernaSteg 2: wired eller wirless jag har ett trådl...

Upplyst USB tangentbord

Hej och Välkommen till min första instructable! Njut av:]Detta är en mycket användbar instructable om du är en hel del på datorn på kvällen och vill inte göra en massa ljus i du är rummet!Steg 1: krav Dessa saker du kommer att behöva starta detta pro...

USB-tangentbord med RFID-behandlingen

detta är en steg för steg handledning om hur man bygger en RFID-tagg läser USB-tangentbord med hjälp av USnooBie.Denna handledning är försedd med projektfiler. Kodfilerna är kraftigt kommenterade med hänvisningar till relevant dokumentation.Titta på...

Mini USB drive mod: nycklar

detta är en mod som kommer att ge dig en söt liten USB driva upp till 4 gigabyte! Detta är också riktigt små. Ha kul och hoppas ni gillar det!EDIT: USB-enhet kommer att fortfarande arbeta och hålla minnet när du är klar. Det finns ingen anledning att...

Hur man överför filer mellan 2 datorer utan USB-lagringar, utan LAN kabel

Hej gott folk, Välkommen tillbaka till min Instructable. i dagens handledning kommer du att lära hur att överföra filer från PC till PC. utan med externa USB-lagringsenheter såsom, extern hårddisk, USB penna driva, SD-kort eller evenLAN kabel.Det fin...

Hur du skapar en startbar USB-enhet utan att använda någon programvara

Vi kommer använda kommandotolken för att skapa en bootable USB driva manuellt, som Windows standardprogram. Här är steg för steg att skapa en bootbar USB-enhet som Windows-installationsmediet. För att skapa en bootbar USB-enhet som en Windows-install...