PC valdymas IR spinduliais per USB

Pasidaręs kompiuterio valdymą su IR pulteliu per COM jungtį ir pasinaudojęs kelis mėnesisius, nusprendžiau pasidaryti kompiuterio valdymas per USB jungtį.

Pasidaręs kompiuterio valdymą su IR pulteliu per COM jungtį ir pasinaudojęs kelis mėnesisius, nusprendžiau pasidaryti kompiuterio valdymas per USB jungtį :-! . Taip nusprendžiau daryti, nes:

  • schema per COM jungtį naudoja nemažai procesoriaus resursų komandų dešifravimui (o schema per USB jungtį iš vis nepkrauna procesoriaus, nes viską atlieka mikrokontroleris !amazed)
  • ne visi kompiuteriai turi COM jungtį (ypač nauji nešiojami)
  • prietaisas per USB jungtį atrodo daug naujoviškiau nei per COM jungtį 😎

Schema

Problema iškilo renkantis greitą mikrokontrolerį. USB greitis labai didelis: LowSpeed – 1.5Mbit/s, FullSpeed – 12Mbit/s, HighSpeed – 480Mbit/s. Shemos pagrindas – RISC mikrokontroleris iš Atmel AT90S2313. Šis mikrokontroleris neturi USB palaikymo, todėl viską turi atlikti mikrokontrolerio programa. Dėl reikiamo USB dažnio sinhronizacijos, mikrovaldiklis buvo šiek tiek “užturbintas” panaudojant 12 MHz kvarcą.

Įrenginio schema su mikrokontroleriu AT90S2313-10 :

Schema

Naudojau TSOP1736 IR daviklį:

Įrenginys yra labai paprastas, tačiau veikia tikrai gerai. Ypač malonu, kai pirmą kartą prijungus prie USB jungties išvysti užrašą “New hardware found” 🙂

Kadangi schemą buvau sugalvojęs patalpinti kompiuterio viduje, tai nesistengiau daryti labai mažos:

IrDA per USB jungtį

Kiti įrenginio variantai buvo mažesni:

IrDA mano rankoj

Matosi detalės

Prie mikrokontrolerio 9 kojos (D1) per atitinkamą varžą (aš naudojau 680 omų)prijungus šviesos diodą, jis priimant IR koda blykčios. Man tai patiko ši funkcija 🙂

Įrenginio instaliavimas

Kaip ir visiems USB įrenginiams, šiam taip pat reikia naudoti tvarkykles (draiverius).

Paveiksliukais bus parodyta kaip teisingai įdiegti įrenginio tvarkykles pirmą kartą prijungus prie kompiuterio per USB jungtį. Tvarkyklės yra tos pačios Windows98, WindowsME, Windows2000 ir WindowsXP (Windows95 neveikia). Visi parodyti veiksmai tokie pat ir kitom operacinėm sistemoms (Windows 98, Windows ME, Windows 2000)

Nurodome aplanką su tvarkyklėmis

Tvarkyklės neturi skaitmeninio parašo iš Microsoft, bet mes tęsiame instaliacija

Instaliacija baigta

Kompiuteris jau atpažįsta irengiį ir jis gali veikti

Po sėkmingos instaliacijos mes matome įrenginį “Device manager”

Komandų atpažinimui ir kompiuterio valdymui naudojau program? Girder. Programa yra universali, todėl norin naudoti ją pagal šio schemą teks parsisiųsti plug-in’ą “IgorPlug.dll”. Šį failą reikia įkelti į programos aplanke esantį aplanką “Plugins” ir įjungus programą ir nuėjus į nustatymus (File -> Settings) reikia nustatyti, kad naudotų “Igor SFH-56 device” pgug-in’ą:

“Igor SFH-56 device” plugino nustatymai :

Nustatykite USB jungtį.

Prietaisą galite patikrinti taip:

Įjunkite programą ir nustatykite visus nustatymus, pažiūrėkite į būsenos indikatorius. Normalioje būsenoje jie turėtų būti tokie:

O aktyvioje būsenoje (kai spaudote pultelio klavišus):

Komandų kūrimas

Jei viskas veikia, galite pereiti prie linksmosios dalies – komandų kūrimo.

Sukurti komandas tikrai paparasta. Norėdami pradėdti kurti komandas, reikia įsijungti Girderį. Įsijungus programą, kairėje pusėje matome baltą ruožą. Jame spaudžiam dešiniu pelės klavišu ir pasirenkame ~Add Command~.

Programa “Girder”

Atsiranda aplankas, o jame pilkas stačiakampis. Tai ir yra komanda. Komandas ir aplankus galima pervadinti. Tarkim, kad kursim komandą kompiuterio išjungimui. Tam reikia pažymėti ką tik sukurtą komandą, dešinėje išsirinkti skiltį ~O.S.~ (čia valdomos ~Windows~ funkcijos), o iš ten ~Poweroff~ ir paspausti ~Apply~. Visą tai padarius, viršuje reikia paspausti ~Learn Event~ mygtuką. Paspaudus, programa lauks kol nukreipsite pultelį ir paspausite pasirinktą mygtuką. Jei viskas gerai, programos apačioje atsiras kodas ir mygtukas bus priskirtas komandai. Dabar kiekvieną kartą paspaudus tą patį mygtuką bus išjungiamas kompiuteris.

Įjungti programas pulteliu – taip pat paprasta. Tam reikia sukurti kitą komandą (“Add Comand”), ją pažymėti ir iš dešinėje esančio sąrašo pasirinkti “O.S.”, o iš ten ~Execute~. Tada reikia nurodyti kelią iki programos (“Browse”) ir priskirti mytuką, paspaudus “Learn Event”.

Norint sukurti nestandartines funkcijas, pvz. Programos “Winamp” “Play”, reikia sukurti dar vieną naują komadą (“Add Command”). Tada reikia ją pažymėti ir dešinėje pasirinkti skiltį “Command”. Ten paspausti mygtuką “Capture”. Atsidarys dar vienas programos langas, kuriame paspausime mygtuką “Start Capture” (bus pradedami fiksuoti visi veiksmai), įjungsime “Winampą” ir paspausime “Play”. Tai padarę, “Girder” lange sustabdysime fiksavimą mygtuku “Stop Capture”, pasirinksime vieną iš paskutinių veiksmu, kuriame minimas “Winamp”, ir paspausime “OK”.

Capture naudojimas

Dabar bereikia priskirti mytuką, paspaudus “Learn Event”.

Pabaigoje visus nustatymus reikia išsaugoti (File -> Save).

Mikrokontrolerio programavimas

Mano mikrokontroleris

Kad mikrokontroleris veiktų, jį reikia užprogramuoti. Programavimui naudojau šį programatorių ir programą PonyProg2000. Mikrokontrolerio programa hexas.

Šioks toks programatorius

Programuoju…

Dabar gauti AT90S2313 beveik neįmanoma, tad tenka naudoti ATtiy2313. Gal tai net geriau, nes ATtiny gali dirbti 20MHz dažniu, tad nereikia jo “turbinti”. Kadangi ATtiny yra naujesnis mikrokontroleris tai jis turi daugiau galimybių. Užprogramavus šį mikrokontrolerį (programa tinka ta pati nuo AT90S2313) reikia pakeisti saugiklius (Fuses). CKSEL3..1 turi būti nustatyti 1111. Užprogramuotas saugiklis skaitosi 1, tad atsargiai, nesusimaišykite! Štai kaip viskas turėtų atrodyti su PonyProg:

Fuses

Montažinė plokštė (PCB)

Naudojant mikrokontrolerį SO20 korpuse, dariau tokią PCB:

Montažinė plokštė

Detalių išdėstymas turėtų būti toks:

Detalių išdėstymas

Reikalingi failai

Spread the love

30 thoughts on “PC valdymas IR spinduliais per USB

  1. ar ne per brangu toki darytis vien PC valdymui, is tos pacios mikruchos iseitu ir IRda telefui sujungt su kompu

    • prie ko jungei diodus?

      Kokius diodus? Šviesos?

      Prie mikrokontrolerio 9 kojos (D1) per atitinkamą varžą (aš naudojau 680 omų)prijungus šviesos diodą, jis priimant IR koda blykčios.

  2. turiu pasidares per COM toki irengini. Veikia taip pat ir nereikia jokio draiverio. Girderis mato ir COM tai kam reikia usb.

    • o man visai patinka per usb tai tikrai šiuolaikiškiau ir com portas laisvas nes usb turiu daug laisvų, o com užimtas.

      Tačiau kas užprogramuos shemos pagrindą – RISC mikrokontrolerį iš Atmel AT90S2313 😉

  3. Labas. Kokia PonyProgo versija palaiko ATtiny2313. Netgi naujausią beta 2.05 teradau ATtiny22 🙁

  4. sveiki visus su naujais

    taiva as nusprenziau pasidaryti kompo valdyma su pultu

    pradzei pabandziau su COMu nesigavo gelezine dalis viskas tvarkoi veikia bet niekaip girderis nemato devaiso

    gerai uzsikruses su tuo COMu nusprendziau pasidaryti sita per USB

    ir vel kartojasi viskas uzprogramuota gerai prijungi devaisa ir

    USBdevice not recognized bandziau nurodyti jam tuos draiverius

    ir ka kompas neranda ju nurodytoje vietoje

    gal dovidai galetum pasufleruoti ka as gal ne taip padariau

    • sveiki visus su naujais

      taiva as nusprenziau pasidaryti kompo valdyma su pultu

      pradzei pabandziau su COMu nesigavo gelezine dalis viskas tvarkoi veikia bet niekaip girderis nemato devaiso

      gerai uzsikruses su tuo COMu nusprendziau pasidaryti sita per USB

      ir vel kartojasi viskas uzprogramuota gerai prijungi devaisa ir

      USBdevice not recognized bandziau nurodyti jam tuos draiverius

      ir ka kompas neranda ju nurodytoje vietoje

      gal dovidai galetum pasufleruoti ka as gal ne taip padariau

      ~~~~~~~~~~~~~~~~~

      Irenginį kompas turi matyti ir be draiverių. Jei nemato, tai kažkas neveikia. Gali būti kad blogai užprogramuotas, neveikia nuo išorinio 12MHz generatoriaus. Draiverius reikia dėti tik tada, kai kompas jau mato įrenginį.

      • tai va po ilgu skaitinejimu ciatuose radau vaistu

        kartais reikia dadeti pora varzu i data+ ir i data- grandines

        ne avras kaikuriems kompams siuncia per stipru signala

        varzos bandymo metodu kazkur 68 omai turetu buti

        vienu zodziu veikia super dabar liko tik su tuo girderiu issiaiskinti 🙂

    • Gal galit ka pasakyt kur galima isigyt Atmel’u? Savo zinomose parduotuvese nerandu… :/

      ~~~~~~~~~~~~~~~~~

      Neaišku kur ieškai 🙂 Lemona, RCL, Evita, Megaomas, Edvinas ir Bičiuliai. Galima siųstis ir paštu ar kurjeriais.

    • o sita irda tik winampa valdo ar ka nori gali valdyt?

      ~~~~~~~~~~~~~~~~~

      Galima valdyti ką nori. Tiksliau – viskas priklauso nuo to, kaip sugebėsi sukonfiguruoti 🙂

  5. Montažinė plokštė (PCB) o tai sios plokstes su eagle eye nubraizyto archyvo nera atsisiusti???

    • Montažinė plokštė (PCB) o tai sios plokstes su eagle eye nubraizyto archyvo nera atsisiusti???

      ~~~~~~~~~~~~~~~~~

      Deja, neturiu. Šita dariau su paprastom grafikos programom.

  6. o kuom nors skiresi AT90S2313-10 nuo AT90S2313-20pu ar tas galas tik mikroshemos tipa parodo ta prasme forma?

Leave a Reply to Dovydas Cancel reply

Your email address will not be published. Required fields are marked *