Mausrad abfragen

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hallo, ich habe ein Problem.
    ich nehme an einem Wettbewerb teil und habe eine Frage zum Thema Mausrad abfragen.
    Das ist mein Code:


    import struct
    import binhex
    file = open("/dev/input/by-id/usb-192f_USB_Optical_Mouse-event-mouse","rb")

    print"bla"
    while True:
    fehler = 0


    byte = file.read(16)
    h = ":".join("{:02x}".format(ord(c)) for c in byte)
    print "byte=",h
    # h = ":".join(":02x)".format(ord(c)) for c in byte)
    # print "byte=",h

    #(type,code,value) = struct.unpack_from("hhi", byte, offset=8)

    #if type == 2:
    #if code == 8:
    #print"läuft"
    #else:
    #print"fehler"


    Nun mein Problem: es wird zwar gezeigt ob sich das Mausrad dreht, allerdings passiert nichts wenn es sich nicht dreht. und genau das ist wichtig bei meinem Projekt. Also im Klartext, ich muss einsehen können ob sich das Rad dreht und auch wenn es sich nicht dreht.

    Ich freue mich jetzt schon auf eure Hilfe.
    Grüße Sebo

    • Offizieller Beitrag

    Ich verstehe nur Bahnhof. Was für ein Projekt und was für ein wettbewerb und warum machst du da mit wenn du die Aufgabe nicht lösen kannst? Wenn wir dir helfen, benachteiligen wir andere? Und was ist noch mal dein Problem? du hast Code der anzeigt wenn sich das Mausrad bewegt, fein.....ergo bewegt es sich nicht, wenn es nichts anzeigt....wie gesagt, Bahnhof.

    Ach ja...und benutze bitte code Tags

    Der Unterschied zwischen Genie und Wahnsinn definiert sich im Erfolg.

    Einmal editiert, zuletzt von dbv (6. Juli 2015 um 21:15)

  • Also: Der Wettbewerb ist der Testo Wettbewerb und dafür musste man sich anmelden bevor man das Projekt fertig hatte. Das Problem ust, dass wenn sich das Mausrad nicht dreht Das Programm stoppt und nachfolgende Dinge nicht Passieren
    Ich hoffe dass ich es verständlich ausgedrückt habe.
    Sebo

  • Hallo Sebo,

    da muss ich dbv Recht geben. Es kann nicht sein, dass wir hier irgendjemandem eine Lösung erarbeiten, damit er einen Wettbewerb gewinnt. Diejenigen, die es aus eigenem Antrieb packen wollen, gehen leer aus, weil irgendein genialer Kniff nicht verraten wurde.

    Mir fällt da gerade ein Jugendlicher aus Österreich ein. Name leider wieder vergessen - vielleicht wird das aber noch was. Der hat an einem Landesschulwettberewerb teilgenommen. Hier im Forum hat er lediglich über den jeweiligen Stand berichtet und wann wo die nächste Runde stattfindet. Runde für Runde kam er weiter - und soweit ich mich entsinnen kann, hat er das Ding auch gewonnen. Wenn nicht ist es auch egal, weil er die ganze Arbeit mit eigenen Händen und die Software mit eigenem Kopf erdacht hat. Egal wie der Wettbewerb ausgegangen wäre, dieser Junge hat was geleistet, auf das er stolz sein kann. Und ich bin mir auch sicher, das er aus diesem Projekt sehr viel mit rübernehmen kann, wenn es um seine berufliche Ausbildung / Studium / Beruf geht.

    Und wie steht es da mit Dir? Wenn hier irgendjemand Dir Deine Aufgabe löst?

    Du hast einen Code, der erkennen kann, ob das Rad sich dreht. Dann soll das Programm irgendwas machen.

    Wie dbv schon scharfsinnig geschlussfolgert hat, dreht sich das Rad nicht, wenn das Programm kein Drehen erkennen kann. Was hindert Dich denn in diesem Fall daran, irgendwas (wohl nur die eine oder andere Zeile) zu programmieren, dass auch in diesem Fall das Programm irgendwas macht?

    :s :denker::cool:

    Geht Dir nun ein Licht auf? Das kann ja jetzt sooo schwer auch nicht wieder sein.

    Code
    Ist eine Zahl durch 2 teilbar, dann schreibe("durch 2 teilbar")
    sonst # ja was denn dann?
           #dann isse wohl gar nüsch durch 2 teilbar
           #dann obliegt es Deiner ureigensten Phantasie
           # was Gescheites zu programmieren, was dann alles passieren soll...

    Eigentlich hast Du die Lösung - Du musst sie nur zu Ende denken...


    Beste Grüße

    Andreas


    P.S.: Lukas hieß der Österreicher...

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

    Einmal editiert, zuletzt von Andreas (9. Juli 2015 um 00:36)

  • Zitat

    Also: Der Wettbewerb ist der Testo Wettbewerb und dafür musste man sich anmelden bevor man das Projekt fertig hatte.

    Wäre es nicht so, dann wäre es kein richtiger Wettbewerb.

    Bei so nem Wettbewerb gehts ums Lernen... eigenstädiges Lernen.

    Aber ich gebe dir einen Hinweis, der dich zum Sieg bringen kann, weil er dir das Lernen erleichtert:

    Hier klicken.


    :bravo2:

  • Mal so rein interessehalber:
    Was ist die Aufgabenstellung des Wettbewerbs?
    "Sorge dafür, dass eine Bewegung des Mausrades erkannt wird und gewinne 2.500€" kann es ja wohl kaum sein...

  • Ich finde es sehr schade, dass jemand der noch neu im Thema python ist und Hilfe benötigt in einem Forum dass extra dafür da ist, keine Antwort bekommt sondern nur: komm doch selber drauf und google halt mal Kommentare bekommt anstatt so etwas wie z.B. Ich weiss die lösung leider auch nicht. Außerdem Ist es nicht schlimm jemandem zu Helfen und die anderen werden auch nicht benachteiligt, da diese auch Hilfe von Fachlehrern und co bekommen. Zudem habe ich mich natürlich im Internet informiert, aber habe halt nichts gefunden wie ich dass Problem umgehen kann. Vieleicht hat einer ja noch einen Kommentar der Hilfreich oder vieleicht Nett ist. Wenn dem so ist würde ich mich sehr freuen

  • Hallo Freunde,

    warum so stürmisch? Dieser Testo Wettbewerb richtet sich an Schüler und Schülerinnen der 9. bis 13. Klasse, der Preis für den 1. Platz in der Einsteigerkategorie sind 150 € und die Nutzung von Internet, Sammlungen von Schaltungen und Programmteilen, Tutorien und Foren ist ausdrücklich erlaubt. Es geht um Projekte rund um Mikrocontroller. Interessante Sache eigentlich.

    Allerdings ist für die Leute von Testo alles über 24 V Hochspannung. :wallbash:

    Sebo
    Ein Ereignis, dass nicht statt findet, kann man auch nicht abfragen. Man müsste schon mehr darüber wissen, was du eigentlich erreichen willst mit der Mausradabfrage, um dir einen Tipp geben zu können. Warum läuft denn das Programm nicht weiter, wenn sich das Mausrad nicht dreht? Und woran ist erkennbar, dass sich das Rad dreht? Findet da eine Positionsänderung statt? Also Winkelposition. Dann wäre eine Beibehaltung der Position über 2 oder mehr Positionsabfragen hinweg ein Zeichen dafür, dass sich das Rad nicht dreht.

    Vielleicht kannst du eine Statusvariable setzen, um die 2 Zustände (drehen/nicht drehen) virtuell darzustellen.

    Gruß Robert

    Einmal editiert, zuletzt von rob.z (8. Juli 2015 um 06:19)

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!