- Reichelt Elektronik    Werbung      
Ergebnis 1 bis 10 von 42

Thema: Zielscheibensystem mit Zufall

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Roboter Genie Avatar von HeXPloreR
    Registriert seit
    08.07.2008
    Ort
    Soltau - Niedersachsen
    Alter
    47
    Beiträge
    1.369
    oh sorry, ich hatte in dem Beitrag überlesen das ich angesprochen war Bild   ganz oben die erste Zeile sagt es aus: m8def.dat (-> m32def.dat)


    Wieso darf denn nicht auch die selbe Zielscheibe nochmal kommen? Wäre doch okay, vor allem wenn man schon weggezogen hat um ne neu aus zu suchen? Vielleicht aber dann nicht nochmal Bild  
    Ich denke den ganzen Block mit den drei verschieden Scheiben kann man sehr viel kürzer schreiben.
    Wenn man annimmt der Wert ist 2, dann zählt man solange durch, bis Interrupt, wenn der Wert dann gleich 2 ist, ziehe eine 1 ab oder zähle 1 dazu, man könnte auch 3 dazu zählen lassen um ne neue Scheibe auszuwählen - schon ist das Problem weg.

    Aber woher weiß den Dein Programm wann es welchen Interrupt ausführen soll? - vielleicht habe ich das selbst auch nur noch nicht verstanden.
    Wenn ich soweit verstanden habe, dann müßtest du im Interrupt den Wert der Scheibe ändern, denn sonst läuft es bis zum letzten wert durch sobald es aus dem interrupt wieder zurück an Stelle springt.

    Viele Grüße
    Geändert von HeXPloreR (11.02.2013 um 20:11 Uhr)

  2. #2
    DjEKI
    Gast
    Axo, der Interrupt kommt durch ein Taster. Int0 und Int1 sollen per Taster, Also Zielscheibe 5 Punkte und 10 Punkte aktiviert werden. Oder muss ich die Int0 und 1 als Input angeben?
    Wenn nicht, habe ich ja nur 2 Interrupt eingänge. Und die müssen ja irgendwie mit den Druckplatten verbunden werden. Ich hätte es lieber so, dass nur die aktiverte Scheibe funktioniert, und alle anderen deaktiviert sind. Da aber sich alles nur mit Interrupt arbeiten lässt, sind halt alle Scheiben aktiv, dass heißt, auch wenn die SCheibe nicht leuchtet, könnte man damit ein Punkt machen. Wäre ja aber Betrug ^^

    PS, danke für den Hinweis, die obere Zeile mit m8def.dat habe ich von nen anderen SCript kopiert und mir nichts dabei gedacht.

    mfg EKI

  3. #3
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    15.01.2007
    Ort
    Göttingen
    Beiträge
    706
    Wenn nicht, habe ich ja nur 2 Interrupt eingänge. Und die müssen ja irgendwie mit den Druckplatten verbunden werden. Ich hätte es lieber so, dass nur die aktiverte Scheibe funktioniert, und alle anderen deaktiviert sind. Da aber sich alles nur mit Interrupt arbeiten lässt, sind halt alle Scheiben aktiv, dass heißt, auch wenn die SCheibe nicht leuchtet, könnte man damit ein Punkt machen. Wäre ja aber Betrug
    Das habe ich mir auch überlegt (auch wenn ich mich in den Rest des Codes nicht wirklich reingedacht habe).
    Ich glaube, die einzig gute Lösung hierfür ist ein Controller mit 12 Interrupt-Eingängen, von denen jeweils immer nur die zwei aktiviert werden, die zur momentan aktiven Scheibe gehören. Da gäbe es z.B. den Mega88 (28 Pins, kompatibel zum Mega8 , der hat 2 "normale" Interrupt-Eingänge, und 20 (!) sogenannte Pin-Change-Interrupt-Eingänge.

    Aber bevor ich lange weitererzähle was es damit auf sich hat, müsstest Du erstmal sagen, ob Du hinsichtlich des verwendeten Controllers soweit flexibel bist...

  4. #4
    DjEKI
    Gast
    vom geld her sollte es nicht scheitern. ich werde mir den besorgen. ich bin jetzt auf arbeit und kann daher nicht sagen, ob mein board sowas ansteuern kann. ich müsste sowieso bei conrad noch was bestellen, aber könntest du mir bitte sagen, ob es ein passendes board gibt? ich bräuchte endlich mal USB Bild   aber wenn das zu teuer ist, dann löte i mir auch selber was zusammen.

    ok, aber in meinem code habe i sowieso 2 Fehler. set scheibe und goto im label int0_5punkte, wie könnte i die beheben ?

    mfg eki

  5. #5
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    12.01.2007
    Ort
    westliches Pannonien
    Beiträge
    123
    Hallo!

    Eine Interruptroutine muß mit "RETURN" abgeschlossen werden!

    Set Scheibe = X ist Unsinnig.
    Entweder Set Scheibe (Scheibe = 1) oder Reset Scheibe (Scheibe = 0)
    Die ganzen GOTO's sind zu vermeiden.
    Stackwerte einfügen.

    Bascom Hilfe lesen, lesen, lesen.

    MfG

  6. #6
    DjEKI
    Gast
    die seite ist gut. von dem hab ich fast mein ganzes wissen. aber den set befehl habe ich dort nicht erklärt bekommen. ich dachte, man könnte den wert ersetzen. dann mach ich eben incr und um auf 1 wieder zu kommen reset und dann wieder incr.
    was meinst du mit stackwerte einfügen ?
    return nach interrupt ist klar, das wusste ich, steht auch als begründung dar und ich wollte dafür ein ersatz haben, wie ich das ändern könnte. das war nur als hilfe, dass ich dlnach dem interrupt zu einer bestimmten lane möchte. da goto aber den interrupt nicht verlässt ist halt doof...

    mfg eki

  7. #7
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    12.01.2007
    Ort
    westliches Pannonien
    Beiträge
    123
    Ich meine die interne Bascom_Hilfe. Die Verlinkung erzeugt die Forensoftware.
    Oder hier.

    MfG

Ähnliche Themen

  1. 4 Led´s unabhängig per Zufall blinken lassen?
    Von DanielSan im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 22
    Letzter Beitrag: 20.07.2011, 13:43
  2. Wie denn "Zufall" programmieren
    Von Cybrix im Forum C - Programmierung (GCC u.a.)
    Antworten: 16
    Letzter Beitrag: 11.06.2007, 09:10
  3. Zufall wirklich Zufall ???
    Von Speed im Forum Software, Algorithmen und KI
    Antworten: 3
    Letzter Beitrag: 03.08.2006, 12:03
  4. LED´s per Zufall leuchten lassen
    Von Hoomer im Forum Elektronik
    Antworten: 11
    Letzter Beitrag: 05.02.2006, 14:45

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

    Werbung      fchao-Sinus-Wechselrichter AliExpress