Flight Simulator met Arduino en Python (7 / 9 stap)

Stap 7: Python Code

invoer win32api, win32con
seriële importeren

# Aanvankelijke cursorpositie
cx = 0
xMax = 1900
CY = 0
yMax = 1000

Gevoeligheid = 0,1 # hogere getallen de bewegingen van de muis minder gevoelig maken met Tilt

# Erachter te komen welke COM-poort de Arduino is op
in het range(15) voor GMO:
Try:

ser seriële =. Serieel (com, 9600) # de seriële poort openen
Print("found on com",com+1) # als je hier de COM-poort OK is geopend
pauze # We vonden het dus stoppen met zoeken
met uitzondering van:
bedrukken ("niets COM", com + 1)

ser.flushInput() # Buffer inhoud negeren

enCursor = 0 # Start met de Cursor Disbled
swState = 0 # de staat van de schakelaar
swStateD1 = 0 # de staat van de schakelaar de laatste keer

def swPressed():
keren swStateD1 - swState
# 0,1, -1: hetzelfde, enkel gedrukt, net vrijgegeven

terwijl 1:
# Lees een lijn en de newline tekens gescheiden van de rest
rx = ser.readline().decode().split('\r\n')
# print(rx) # Debug
# Nu de gegevens van de komma's te scheiden
gegevens rx[0].split(',') =

xTilt = int(data[0])
yTilt = int(data[1])
zTilt = int(data[2])
swStateD1 = swState
# herinner de oude swState voordat we het updaten
swState = int(data[3])

x = cx + xTilt/gevoeligheid # x-Cursor centrum waarde = (toen knop werd ingedrukt) + kantelen van waarde
x = max (min (xMax, x), 0) # limiet aan de coördinaten van een scherm
y = cy - yTilt/gevoeligheid
# y-Cursor centrum waarde = (toen knop werd ingedrukt) + kantelen waarde
y = max (min (yMax, y), 0) # limiet aan de coördinaten van een scherm

sw = swPressed() # Controleer de knop
   
# Het uitschakelen van de cursor als het nu ingeschakeld en de schakelaar is ingedrukt
als (enCursor en sw == 1):
enCursor = 0

win32api.keybd_event(0x20, 0,0,0) # druk op de spatiebalk om te pauzeren Flight Simulator
win32api.keybd_event (0x20, 0, win32con. KEYEVENTF_KEYUP, 0)

        break
# Het inschakelen van de cursor als het nu uitgeschakeld en de schakelaar is ingedrukt
elif (~ enCursor en sw == 1):
enCursor = 1

# Klik op de linker-muisknop

(cx, cy) = win32api. GetCursorPos()
WIN32API.mouse_event (win32con. MOUSEEVENTF_LEFTDOWN,int(x),int(y),0,0)
WIN32API.mouse_event (win32con. MOUSEEVENTF_LEFTUP,int(x),int(y),0,0)


Als enCursor: win32api. SetCursorPos((int(x),int(y)))

# We zijn klaar. Sluit de seriële poort
ser.Close()

Gerelateerde Artikelen

Arduino-pneumatische Flight Simulator

Arduino-pneumatische Flight Simulator

Hallo, mijn naam is Dominick Lee. Ik ben een senior op de middelbare school, die ook een programmeur en uitvinder is. Ik heb de "LifeBeam Flight Simulator" (naam van mijn project) omdat ik wilde mezelf uitdaging en gebruik maken van mijn vaardig
Lego Mindstorms NXT Flight Simulator

Lego Mindstorms NXT Flight Simulator

Hallo jongens, Bedankt voor het kijken van mijn project! Dit is mijn inzending van de last-minute op de uitdaging van het speelgoed.Dit is een flight simulator met een helikopter die omhoog, omlaag, vooruit en achteruit kunt bewegen. De rotors kunnen
Arduino Esplora Flight Simulator

Arduino Esplora Flight Simulator

de optie Flight Simulator van Google Earth gebruiken van de versnellingsmeter van de Arduino Esplora controle.Vliegen vrijwel over de hele wereld; kantelen van de versnellingsmeter, vooruit, terug, links en rechts voor het besturen van het vliegtuig
Arduino Controlled Flight Simulator - "The Viper"

Arduino Controlled Flight Simulator - "The Viper"

mijn Maker Faire project voor 2012 is "The Viper"--een Arduino controlled flight simulator geïnspireerd door het schip van de gelijknamige filmpje uit de SyFy Channel's TV serie Battlestar Galactica. Het draait 360 graden langs twee assen, wat b
Uitzetten van real-time gegevens van Arduino met behulp van Python (matplotlib)

Uitzetten van real-time gegevens van Arduino met behulp van Python (matplotlib)

Arduino is fantastisch als tussenpersoon tussen uw computer en een ruwe elektronische schakeling. Via de seriële interface, kunt u informatie ophalen uit sensoren bevestigd aan je Arduino. (U kunt ook informatie verzenden via de seriële interface te
Met behulp van een Arduino en Python plot/opslaan gegevens

Met behulp van een Arduino en Python plot/opslaan gegevens

een snelle en gemakkelijke manier om te zien (en sla) gegevens genomen met behulp van een Arduino op uw computer.(Opmerking: niet de meest robuuste methode, maar het werkt goed genoeg)Materialen:-Arduino (im ' using een Uno)-Computer (ik heb een Dell
Een Levitating bol draait gloed en knippert met Arduino

Een Levitating bol draait gloed en knippert met Arduino

Een levitating little Death Star in Instructables nodigde me aan het nieuwe project met Arduino. Drie beleidsterreinen werden besloten en bewaard als onderscheid met de voorloper.Doe het zelf met geen (of minder) ready-made.Draaiende houden.Maak gloe
Aan de slag met Intel Edison - Python Programming

Aan de slag met Intel Edison - Python Programming

Deze gids is voor alles wat je python programmeurs die altijd heb afgevraagd,Wat is de beste manier om te gaan "IoT"(Internet of Things) nu sinds je hebt gemaakt naar deze pagina, koop zelf een Intel Edison van Amazon of een on line opslaan zoal
Bouw je Robot Internet gecontroleerde Video-Streaming met Arduino en Raspberry Pi

Bouw je Robot Internet gecontroleerde Video-Streaming met Arduino en Raspberry Pi

< the Instructable en de code zijn klaar. Geniet van! Laat een reactie met je feedback! >Ik ben (aka LiquidCrystalDisplay / Itay), een 14 jaar oude student van Israël leren in de Max Shein Junior High School voor geavanceerde wetenschap en wiskunde.
Lezen/emuleren afstandsbedieningen met Arduino en Raspberry Pi

Lezen/emuleren afstandsbedieningen met Arduino en Raspberry Pi

Afstandsbedieningen zijn overal. Zij zijn de interface aan uw televisies, muzieksystemen en wat niet. U hebt waarschijnlijk een paar vrije degenen rondslingeren, verwoest op de nalating van hun betere helften. Ze vrolijken en zet ze terug in gebruik!
Hoe maak je een mobiele telefoon en Computer gecontroleerd 3D gedrukte Robot met Arduino - IoBot.

Hoe maak je een mobiele telefoon en Computer gecontroleerd 3D gedrukte Robot met Arduino - IoBot.

Als u op zoek bent naar een manier om een Arduino gebaseerde apparaten te controleren, zal deze instructie u tonen hoe om het te doen door het bouwen van eenvoudige robot.De IoBot kan worden gecontroleerd door mobiel en computer toepassing via LAN of
Vliegtuigen toe te voegen aan Microsoft Flight Simulator

Vliegtuigen toe te voegen aan Microsoft Flight Simulator

dit Instructable is er om te zorgen voor een basisoverzicht van het add-on vliegtuigen importeren in Microsoft Flight Simulator. Ik heb FS2002, en ja, ik ben van plan om te upgraden naar FS2004, maar de dezelfde basisstappen toepassen FS2004 FS2002,
Jet vliegtuigen Free Flight Simulator Game vliegen

Jet vliegtuigen Free Flight Simulator Game vliegen

Computerspel gebaseerd vlucht simulatie is zo geavanceerd en realistische onlangs geworden, nu dat je echt het gevoel alsof je een vliegtuig vliegt. In 'Simulatiemodus' enkele games die u toestaan om te controleren de toonhoogte yaw, roll, gasklep, k
IR afstandsbediening voor uw Computer met arduino

IR afstandsbediening voor uw Computer met arduino

Met deze receiver, uw computer op afstand dankzij de IR-module en de Arduino te bedienen.Lazzy modus geactiveerd ^^Stap 1: Eerst moet ik demonteren myold Sony VAIO IR ontvanger.Een IR-ontvanger die afkomstig is van mijn vader, volledig onbruikbaar om