- 12V Akku mit 280 Ah bauen         
Ergebnis 1 bis 7 von 7

Thema: Codeeingabe

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Begeisterter Techniker Avatar von avus17
    Registriert seit
    28.01.2011
    Ort
    Planet Erde
    Alter
    26
    Beiträge
    239

    Beitrag Codeeingabe

    Hallo zusammen ich versuche nun schon etwas länger ein "Spiel" in Bascom zu programmieren.
    Dazu soll zufällig erst eine Lampe leuchten, wenn nun der entsprechende Taster gedrückt wird soll
    die Erste LED noch mal leuchten und kurz darauf eine zweite zufällige usw. also eine Art Merkspiel.
    Mein Problem ist nun, dass ich es irgendwie nicht hinbekomme den eingegebenen Code einzulesen.
    Kann mir da mal jemand bei helfen? Hab gerade irgendwie ein Brett vorm Kopf

    Code:
    $regfile = "m8def.dat "
    $crystal = 1000000
    
    Config Portd.0 = Output
    Config Portd.1 = Output
    Config Portd.2 = Output
    Config Portd.3 = Output
    Config Portd.4 = Output
    Config Portd.5 = Output
    Config Portd.6 = Output
    Config Portd.7 = Output
    Config Portb.0 = Output
    
    Config Pinc.5 = Input
    Config Pinc.4 = Input
    Config Pinc.3 = Input
    Config Pinc.2 = Input
    Config Pinc.1 = Input
    Config Pinc.0 = Input
    Config Pinb.5 = Input
    Config Pinb.4 = Input
    
    'Pullups Setzen
    
    Portc.5 = 1
    Portc.4 = 1
    Portc.3 = 1
    Portc.2 = 1
    Portc.1 = 1
    Portc.0 = 1
    Portb.5 = 1
    Portb.4 = 1
    
    Taster8 Alias Pinc.5
    Taster7 Alias Pinc.4
    Taster6 Alias Pinc.3
    Taster4 Alias Pinc.2
    Taster5 Alias Pinc.1
    Taster1 Alias Pinc.0
    Taster2 Alias Pinb.5
    Taster3 Alias Pinb.4
    
    Ledblau Alias Portb.0
    Led6 Alias Portd.0
    Led4 Alias Portd.1
    Led1 Alias Portd.2
    Led7 Alias Portd.3
    Led2 Alias Portd.4
    Led8 Alias Portd.5
    Led5 Alias Portd.6
    Led3 Alias Portd.7
    
    'Erzeugter Code
    Dim Code(8) As Byte
    
    ' Aktuelle Stelle
    Dim Aktstelle As Byte
    ' Verzögerung in ms
    Dim Verz As Byte
    
    
    Dim Count As Byte
    
    Dim Tasternummer As Byte
    
    Aktstelle = 1
    
    Verz = 250
    
    Do
       If Taster1 = 0 Then
    
       Gosub Codeerstellen
       Gosub Lauflicht
       Gosub Lauflicht
    
          Gosub Codelesen
    
       End If
    
    Loop
    
    '*******************************************************************************
    
    Codeerstellen:
       Count = 0
    
       While Count <= 8
    
          Code(count) = Rnd(7)
          Code(count) = Code(count) + 1
    
          Count = Count + 1
    
       Wend
    
    Return
    
    '*******************************************************************************
    
    Lauflicht:
    
       Led1 = 1
       Waitms 100
       Led1 = 0
       Waitms 100
    
       Led2 = 1
       Waitms 100
       Led2 = 0
       Waitms 100
    
       Led3 = 1
       Waitms 100
       Led3 = 0
       Waitms 100
    
    
       Led5 = 1
       Waitms 100
       Led5 = 0
       Waitms 100
    
       Led8 = 1
       Waitms 100
       Led8 = 0
       Waitms 100
    
       Led7 = 1
       Waitms 100
       Led7 = 0
       Waitms 100
    
       Led6 = 1
       Waitms 100
       Led6 = 0
       Waitms 100
    
       Led4 = 1
       Waitms 100
       Led4 = 0
       Waitms 100
    
    
    Return
    
    '*******************************************************************************
    
    Codeanzeigen:
       Count = 0
    
       While Count < Aktstelle
    
          If Code(count) = 1 Then
    
             Led1 = 1
             Waitms Verz
             Led1 = 0
             Waitms Verz
    
          End If
    
          If Code(count) = 2 Then
    
             Led2 = 1
             Waitms Verz
             Led2 = 0
             Waitms Verz
    
          End If
    
          If Code(count) = 3 Then
    
             Led3 = 1
             Waitms Verz
             Led3 = 0
             Waitms Verz
    
          End If
    
          If Code(count) = 4 Then
    
             Led4 = 1
             Waitms Verz
             Led4 = 0
             Waitms Verz
    
          End If
    
          If Code(count) = 5 Then
    
             Led5 = 1
             Waitms Verz
             Led5 = 0
             Waitms Verz
    
          End If
    
          If Code(count) = 6 Then
    
             Led6 = 1
             Waitms Verz
             Led6 = 0
             Waitms Verz
    
          End If
    
          If Code(count) = 7 Then
    
             Led7 = 1
             Waitms Verz
             Led7 = 0
             Waitms Verz
    
          End If
    
          If Code(count) = 8 Then
    
             Led8 = 1
             Waitms Verz
             Led8 = 0
             Waitms Verz
    
          End If
    
          Count = Count + 1
    
       Wend
    
    Return
    
    '*******************************************************************************
    
    Tasteridentifizieren:
    
    
    Return
    
    If Taster1 = 0 Then
    
       Tasternummer = 1
    
    End If
    
    If Taster2 = 0 Then
    
       Tasternummer = 2
    
    End If
    
    If Taster3 = 0 Then
    
       Tasternummer = 3
    
    End If
    
    If Taster4 = 0 Then
    
       Tasternummer = 4
    
    End If
    
    If Taster5 = 0 Then
    
       Tasternummer = 5
    
    End If
    
    If Taster6 = 0 Then
    
       Tasternummer = 6
    
    End If
    
    If Taster7 = 0 Then
    
       Tasternummer = 7
    
    End If
    
    If Taster8 = 0 Then
    
       Tasternummer = 8
    
    Else
    
       Tasternummer = 0
    
    End If
    
    '*******************************************************************************
    
    Tasteeinlesen:
    
        Led1 = 1
        Waitms 800
    
        Gosub Tasteridentifizieren
    
        Waitms 300
          Led1 = 0
    
    Return
    
    '*******************************************************************************
    
    Codelesen:
    
       Waitms 300
       Gosub Codeanzeigen
       Gosub Tasteeinlesen
    
       If Tasternummer = Code(1) Then
              Aktstelle = 2
              Waitms 300
              Gosub Codeanzeigen
              Gosub Tasteeinlesen
    
       If Tasternummer = Code(2) Then
              Aktstelle = 3
              Waitms 300
              Gosub Codeanzeigen
              Gosub Tasteeinlesen
       End If
       End If
    
    
    
    Return
    EDIT:

    Hat jemand eine Idee wie ich jetzt mehrere Taster nacheinander auslesen kann???
    Geändert von avus17 (18.12.2013 um 16:48 Uhr)
    Die Website von ruedi99ms, einem anderen Freund und mir! http://www.highbankfive.de/
    Unser Feuerlöschroboter ALUBME : Version 1 Version 2

Berechtigungen

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

LiFePO4 Speicher Test