Arduino IR-mottagaren kontroll dator (4 / 5 steg)

Steg 4: Python code på PC



Jag ska använda python att ta emot kommandon från arduino och översätta den till nyckel-pressar på datorn.

På datorn måste du installera python 2.7, win32 bibliotek och pySerial bibliotek.

Recieve.pyw

Jag använder tillägget .pyw, så det körs i bakgrunden.

importera följetong #The bibliotek för att kommunicera med arduino
importera serial.tools.list_ports #The bibliotek för att hitta arduino på PC

importera os
importera tråd #The bibliotek flera processer på samma gång
från att importera sömn #The bibliotek för förseningar

# Bibliotek för att simulera nyckel-pressar och få th status av funktioner
från win32gui import *
från win32api import *
från win32con import *

#The config filen du ska göra för din fjärrkontroll
från config_ir import *

#The namnet på arduino du vilja ansluta
namn = "Arduino Mega 2560"

#Get hamnen arduino är ansluten till
portar = list(serial.tools.list_ports.comports())
för p i hamnar:
IF(p[1][:len(Name)] == namn):
Port = p [0]

#Connect till arduino
ser = följetong. Följetong (port, 9600)

#function att få lock-tangenten och skicka om de ändrar
def lock():
caps_old = 0
numl_old = 0
scrl_old = 0

Sleep(1)

medan 1:
lock = GetKeyState(VK_CAPITAL) & 0x0001
numl = GetKeyState(VK_NUMLOCK) & 0x0001
s.c.r.l. = GetKeyState(VK_SCROLL) & 0x0001

om (caps! = caps_old):
ser.write(Chr(1))
caps_old = caps

om (numl! = numl_old):
ser.write(Chr(2))
numl_old = numl

om (s.c.r.l.! = scrl_old):
ser.write(Chr(3))
scrl_old = s.c.r.l.
Sleep(0.1)

#Function för läsning av fjärrdata och binda den till ett nyckel-press
def read_serial():
medan 1:
data = 0
#get data
data = int(ser.readline())

#Determine som knappar du var och vad det ska göra
om (data == int(Mute)):
keybd_event (VK_VOLUME_MUTE, 0,0,0) #Mute
Elif (data == int(Vol_up)):
keybd_event (VK_VOLUME_UP, 0,0,0) #Vol +
Elif (data == int(Vol_down)):
keybd_event (VK_VOLUME_DOWN, 0,0,0) #Vol -
Elif (data == int(Back)):
keybd_event (VK_BROWSER_BACK, 0,0,0) #Back
Elif (data == int(Play)):
keybd_event (VK_MEDIA_PLAY_PAUSE, 0,0,0) #Play/Pause
Elif (data == int(My_media)):
OS.system ("starta C:\Users\Laurens\Videos") #My Media
Elif (data == int(Up)):
keybd_event (VK_UP, 0,0,0) #Up
Elif (data == int(Right)):
keybd_event (VK_RIGHT, 0,0,0) #Right
Elif (data == int(Down)):
keybd_event (VK_DOWN, 0,0,0) #Down
Elif (data == int(Left)):
keybd_event (VK_LEFT, 0,0,0) #Left
Elif (data == int(OK)):
keybd_event (VK_RETURN, 0,0,0) #OK
annat:
passera

#Main slinga
försök:
#Start flera trådar
Thread.start_new_thread(lock,())
Thread.start_new_thread(read_serial,())
utom:
skriva ut "trampar inte fungerar"

#Do ingenting
medan 1:
passera

IR_codes.py

I den här filen måste du ändra arrayen "knappen" till alla knappar du vill. När du har gjort det måste du bara köra det här skriptet.

! Uppmärksamhet!

När du trycker på en tangent måste du trycka kort, annars tar det kommandot för nästa viktiga namn.

importera följetong #Communication bibliotek
importera serial.tools.list_ports

INP =]

skriva ut "Starta anslutning"

#Device att ansluta till
namn = "Arduino Mega 2560"

portar = list(serial.tools.list_ports.comports())
för p i hamnar:
IF(p[1][:len(Name)] == namn):
Port = p [0]

ser = följetong. Följetong (port, 9600)

#The knappar du vill mappa i programvaran.
#Add eller ta bort nyckeln du vill, men de får inte innehålla blanksteg!
knappen = ["Power", "Mute", "Vol_up", "Vol_down", "ch_up", "ch_down", "OK", "Upp", "Down", "Vänster", "Rätt", "Back", "Play", "Hem", "My_media", "Spola tillbaka", "Framåt", "Nästa", "Föregående", "Stop", "Exit", "Info", "TV_guide"]

#Insert varje knapp
för jag i intervall (0, len(button)):
INP.append(0)
Print "Tryck på knappen % (knappen) s" % {"knappen": knappen [i]}
INP [i] = ser.readline ().replace('\n', '').replace ('\r', '')

skriva ut ""

ser.Close()
config = öppna ("config_ir.py", "w")

#write knapparna till config-filen
för i i range(0,len(button)):
linje = knappen [i] + "=" "+ inp [i] +"'"
Skriv ut rad
config.write(Line)
config.write("\n")

config.Close()
#wait för retur
raw_input()

Om du har några frågor tveka inte att fråga.

Se Steg
Relaterade Ämnen

GSM 900 + ARDUINO smart hem kontroll genom sms

kravetUnoGSM 900Relay boardSteg 1: GSM 900 + ARDUINO smart hem kontroll genom smsArduin klippare GSM relay board + + kodning...

Styra Arduino från din dator (med FIRMATA)

detta kort projekt visar hur du kontrollerar din arduino direkt från din dator med Firmata-protokollet.Steg 1: Anslut din arduino Öppna din arduino IDE.Anslut din arduino till datorn. Kontrollera att du har valt rätt port och arduino familj i arduino...

Arduino Laser projektor + kontroll App

XY - 2 dimensionell laserscanning2 x 35mm 0.9° stegmotorer - 400 steg/varvAutomatisk spegel kalibreringFjärrkontroll för seriell (via bluetooth)Auto-lägeRemote control app med GUIÖppen källkodLadda ner:GitHub.com/stanleyondrusstanleyprojects.comSteg...

555 timer kalkylator för RaspberryPi, Arduino eller en Linux-dator

Detta instructable är en kalkylator för att bestämma motstånd och kondensator värden att använda gemensamt 555 timer kretsar. Jag har inkluderat versioner för RaspberryPi och Arduino med enkla kretsar blinka två lysdioder som 555 skulle. Versionen fö...

Arduino Motion Sensor kontroll ledde ljus

i behov av en lite bra handledning om hur man tråd och programmera din nya rörelsesensor med din arduino? Väl se längre. Denna handledning kommer att ge dig ett enkelt exempel på hur man ställer in en rörelsesensor till din arduino och aktivera en le...

Kommunicera med arduino micro controller och dator via usb med en vb program

Om du är som mig och vill kunna styra dina objekt anslutna till din arduino via datorn måste du ett sätt att upprätta en anslutning och kommunicera med din arduino från datorn. Denna video och handledning visar dig hur man gör just det! Jag har tagit...

Scratch 4 Arduino och Cybot kontroll (Rover grunder)

Jag har haft ett par Cybots som Tom robotar för ett antal år - varje så ofta de får dras ut och mixtrar med. Nu är detta år tur. Jag har beslutat att prova min hand på Arduino kontroll av motorerna som robotar.Det verkar finnas ett stort antal du tub...

WireBeings beta: en 3D tryckta och utbyggbart Robot för Arduino med Android kontroll

http://wirebeings.com/Kolla in videon här:Detta är ett trevligt projekt som du kan fortsätta att arbeta på och ändra som du lär dig mer Arduino projekt. Detta Instructable går igenom den kompletta bygga för bluetooth-aktiverade robot i första halvan...

Använda Arduino och Bluetooth kontroll en två-bil

vi bara ändrat en två-förare bil kontroll av Arduino och Bluetooth-modulen. Kontrollera sidan används Freaduino 328 och två Joystick modul och Bluetooth sköld för skicka data. Andra sidan används Arduino Pro och Bluetooth Bee för mottagna data och st...

Arduino powered servo kontroll - jag gjorde det på TechShop

servon är otroligt bra att göra "saker" flytta. Men för att göra det där flyttar du måste kontrollera det på något sätt. Lyckligtvis, arduino gör det otroligt lätt att göra och kan göras med något som en potentiometer. Potentiometern vänder och...

Pensel penna: Upptäcka färg till kontroll dator markören

detta projekt används en foto-cell monterad på toppen av en pensel för att upptäcka position på ett rutnät av färg. Foto-cellen var kopplad till en Picoboard <http://www.picocricket.com/picoboard.html>, som interagerade med en Scratch <http://scr...

Arduino växthusgaser kontroll - fuktighets- och

Detta projekt kommer att reglera fuktighet och temperatur av alla växthusgaser med hjälp av värmare och fläktar. Ytterligare tutorials kommer att läggas över tiden för automatisk vattning och belysning, bland annat.Allt sker med hjälp av Arduino.Du b...

Arduino RGB LED kontroll

på internet finns många instruktioner om hur du ansluter RGB-lysdioder och Arduino men ingenting om kontrollera ljusstyrka utom ansluter potentiometer till alla lysdioder input men vad när du inte har tillräckligt potentiometrar? Då hjälper detta ins...

Arduino + tangentbord + servo kontroll

jag kontrollerade en servo med arduino (i mitt fall, freeduino) med hjälp av en knappsats. du skriver ett tal i knappsatsen. om det är mindre än 180, sedan ändrar arduino vinkeln på servomotor till dessa indataPS ledsen för ledningarna är min första...

Gest kontroll car(robot) med Arduino och Android(bluetooth)

Hej folk,Här är ett intressant projekt för alla er kreativa hjärnor ute. Vi ska bygga en android-telefon kontrollerade RC bil.Inget kunde vara mer fascinerande än avlägsen kontrollerade bilar. Denna använder en Bluetooth för kommunikation och acceler...

Hur du använder mBlock programvara kontroll Arduino UNO styrelse - potentiometer med LED-ljus

Jag börja använda mBlock programvara sedan jag fick min mBot robot kit. mBlock är en grafisk programmering programvara som är utformad utifrån Scratch 2.0 och compaible med Arduino UNO, mega 2560, leonardo och etc, hårdvara och kommer att stödjas i f...

Arduino animatörerna-gör din awesome kostymer mer awesome!

Här gör du att lägga till åtgärder, ljus och ljud i din favorit Halloween projekt med öppen källkod Arduino mikrokontroller. Arduino är lätt att lära sig att använda och det öppnar upp en helt ny värld för kostym byggare och varelse skaparna. Om du v...

Puzzlebox bana: Med en Arduino att styra en infraröd helikopter

i detta Instructable kommer vi att förklara hur IR signaler används av en fjärrkontroll att styra en leksak eller enhet, sedan Visa hur en enkel krets kan läggas till en Arduino att fungera samma enhet genom fri, öppen källkod.Detta dokument ingår i...

Grunderna i förvandlar ditt Remote Controll fordon till ett autonomt System (Drone) genom att använda en Arduino

jag började detta projekt med målet att billigt vrida min RC helikopter till något av en UAV eller åtminstone att passa vissa sensorer att minska kollisioner och andra "mis haps."Nu är tyvärr i början av projektet missbedömde jag min lilla helik...