Arduino IR ontvanger besturingscomputer (4 / 5 stap)

Stap 4: Python code op PC


Op de PC zal ik python gebruiken om te ontvangen van de opdrachten van de arduino en vertalen naar sleutel-persen.

Op uw PC moet u Installeer python 2.7, de win32-bibliotheek en de pySerial bibliotheek.

Recieve.pyw

Ik ben met behulp van de .pyw-extensie, zodat het draait op de achtergrond.

 import serial #The library for communicating with the arduino import serial.tools.list_ports #The library for finding the arduino on the PC import os import thread #The library multiple processes on the same time from time import sleep #The library for delays # Libraries for simulating key-presses and getting th status of functions from win32gui import * from win32api import * from win32con import * #The config file you'll make for your remote from config_ir import * #The name of the arduino you like to connect name = "Arduino Mega 2560" #Get the port the arduino is connected to ports = list(serial.tools.list_ports.comports()) for p in ports: if(p[1][:len(name)] == name): port = p[0] #Connect to the arduino ser = serial.Serial(port, 9600) #function to get the lock key's and send if they change def lock(): caps_old = 0 numl_old = 0 scrl_old = 0 sleep(1) while 1: caps = GetKeyState(VK_CAPITAL) & 0x0001 numl = GetKeyState(VK_NUMLOCK) & 0x0001 scrl = GetKeyState(VK_SCROLL) & 0x0001 if(caps != caps_old): ser.write(chr(1)) caps_old = caps if(numl != numl_old): ser.write(chr(2)) numl_old = numl if(scrl != scrl_old): ser.write(chr(3)) scrl_old = scrl sleep(0.1) #Function for reading the remote data and bind it to a key-press def read_serial(): while 1: data = 0 #get the data data = int(ser.readline()) #Determine which key it was and what it should do if(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('start 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 else: pass #Main loop try: #Start multiple threads thread.start_new_thread(lock,()) thread.start_new_thread(read_serial,()) except: print "treading not working" #Do nothing while 1: pass 

IR_codes.py

In dit bestand waarvan u de naam wilt wijzigen van de "button" array aan alle de gewenste knoppen. Nadat u dat hebt gedaan hoeft je alleen het uitvoeren van dit script.

! Let op!

Bij het indrukken van een toets die u moet drukken korte, anders itll ' voeren dezelfde opdracht voor de naam van de volgende sleutel.

 import serial #Communication library import serial.tools.list_ports inp = [] print "Starting connection" #Device to connect to name = "Arduino Mega 2560" ports = list(serial.tools.list_ports.comports()) for p in ports: if(p[1][:len(name)] == name): port = p[0] ser = serial.Serial(port, 9600) #The buttons you like to map in the software. #Add or remove the key's you want, but THEY MAY NOT CONTAIN SPACES! button = ["Power", "Mute", "Vol_up", "Vol_down", "ch_up", "ch_down", "OK", "Up", "Down", "Left", "Right", "Back", "Play", "Home", "My_media", "Rewind", "Forward", "Next", "Previous", "Stop", "Exit", "Info", "TV_guide"] #Insert every button for i in range(0, len(button)): inp.append(0) print "Press the %(button)s button" % {"button": button[i]} inp[i] = ser.readline().replace('\n', '').replace('\r', '') print "" ser.close() config = open("config_ir.py", 'w') #write the buttons to the config file for i in range(0,len(button)): line = button[i] + "= '" + inp[i] + "'" print line config.write(line) config.write("\n") config.close() #wait for enter raw_input() 

Als u vragen heeft voel vrij te vragen.

Gerelateerde Artikelen

Arduino IR ontvanger

Arduino IR ontvanger

Download link: IR ontvanger-code: https://userscloud.com/p8tkborln1xp
Arduplane - Arduino gebaseerd rc vliegtuigen

Arduplane - Arduino gebaseerd rc vliegtuigen

RC vliegtuig is een van de grootste speelgoed dat iedereen wil om mee te spelen. Maar het kopen van een mogelijk duurder laat onze handen vies en lichaamsbouw men voor onszelf met behulp van de Arduino micro controllers. Laat onze eigen zender en ont
Maak een eenvoudige draadloze RF robot met behulp van Arduino!

Maak een eenvoudige draadloze RF robot met behulp van Arduino!

UPDATE: IK HEB JOYSTICK-CONTROLE TOEGEVOEGD AAN DEZE ROBOT. GELIEVE TE VERWIJZEN NAAR DE STAP 7, ALS U WILT BEPALEN UW ROBOT VIA JOYSTICK.HalloDit is mijn eerste instructable en in deze tutorial, I 'm gonna Toon u hoe te bouwen van een eenvoudige dra
Arduino gebaseerde elektronische Queuing systeem

Arduino gebaseerde elektronische Queuing systeem

Dit is een project van de Queuing systeem aangevraagd door een medewerkster van de kliniek die het mogelijk de arts maakt nummer van een toetsenbord en weer te geven op een 32 x 16 LED paneel.Dit project maakt gebruik van twee Arduino, de eerste Ardu
Gebruik de Module van de FM van de TEA5767 maken een Arduino gebaseerd FM-Radio

Gebruik de Module van de FM van de TEA5767 maken een Arduino gebaseerd FM-Radio

In dit project, tonen we hoe te gebruiken LinkSprite TEA5767 FM module voor het maken van een Arduono op basis van FM-radio.Stap 1: onderdelenlijst Zullen we de volgende onderdelen:1 x TEA5767 FM Radio Breakout1 x Arduino Uno1 x Linker basis Shield2
Bouwen van een XBMC/KODI remote aan Arduino, IR Sensor schild en VB.NET

Bouwen van een XBMC/KODI remote aan Arduino, IR Sensor schild en VB.NET

Bouw een XBMC/KODI remote aan de Arduino en een IR Sensor schild, dat met elke afstandsbediening werkt.Ik wilde mijn XBMC/Kodi PC bedienen vanaf mijn satelliet decoder van de afstandsbediening, omdat ik ofwel horlogefilms op XMBC/Kodi of satelliet-TV
RF Joystick voor Arduino

RF Joystick voor Arduino

Dit is een zeer eenvoudige Instructable waarmee u leert draadloos bedienen een tweede Arduino en de componenten die eraan verbonden zijn. Dit kan worden gebruikt om te controleren van de motoren op een auto, servo's op een robotachtig wapen of propel
Dog's Computer!

Dog's Computer!

Hier is een andere Instructables te laten zien aan u kerels! Dit is de Computer van een hond, het was eigenlijk een IR afstandsbedie-ning hond Feeder die ik heb met mijn oude computer monitor gemaakt. Ik ga om u te tonen hoe ik heb gemaakt, door de m
Elektronische schermen Target

Elektronische schermen Target

hoe geweldig het zou zijn als u iets dat bouwen kunt helpt u trainen in schermen en plezier hebben op hetzelfde moment, rechts!?,Mijn naam is Enrique Alvarez, ik ben de meester van de schermen voor de Fargo-Moorhead schermen Club en ik was moe van he
LinKit één sensor tutorial

LinKit één sensor tutorial

Instructable kondigde onlangs een linkit één weg te geven waar ze van 250 linkit een planken voorzien waren. Ik was één van de 250 volkeren die ontvangen van deze platen. Dus ik zou graag willen Bedankt mediatek en penolopy Bulnick en hele instructab
Necomimi bluetooth EEG gegevens hack.

Necomimi bluetooth EEG gegevens hack.

Er zijn een heleboel EEG speelgoed daar dat kan worden gehackt, waardoor de gegevens kunnen worden bekeken en gebruikt. Ik ben gaan richten op de Necomimi hier, maar ik zal het maken van enkele notities over de MindFlex en de StarWars ForceTrainer oo
Vrije vorm XBee Remote

Vrije vorm XBee Remote

als onderwijzer van robotica, mij zijn geweest grondig voor een universele externe oplossing voor mijn middelbare school cursus.  Hoewel ik niet op de lay-out van PS2 controller Let het heeft sommige uitvaardiging en de verbinding is niet zo robuust
U kunt de TV inschakelen op elk gewenst moment.

U kunt de TV inschakelen op elk gewenst moment.

IoT tijdperk.Veel dingen kunnen op afstand worden aangestuurd. Bluetooth of WiFi wordt gebruikt voor deze. Maar maak ik ook moeilijk en duur. Ik kan gemakkelijker toegang tot de externe IR-module in de omgeving.Zo, besliste ik te gebruiken van de inf
Interactieve gebroken Matrix Display

Interactieve gebroken Matrix Display

Dit is een eenvoudige Arduino project dat maakt gebruik van een 8 x 8 LED Matrix en breekt het op een CD-zaak van de versneden, dit is gewoon een test voor toekomstige toepassingen van de techniek (faken hologrammen).PS:Ik verbeeldde het omhoog een b