logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

[bascom] Program robota - sprawdzenie poprawności.

zuba1 30 Lis 2011 15:59 884 0
REKLAMA
  • #1 10201517
    zuba1
    Poziom 13  
    Witam.

    Mam problem odnośnie programu do minisumo. Nie wiem. czy jest dobrze napisany. Robot mam mieć czujnik zbliżeniowy i czujnik nacisku z przodu.

    
    $regfile = "m8def.dat"
    $crystal = 1000000
    Config Portd = Input
    Config Portc.0 = Input
    Config Portc.1 = Output
    Config Portc.2 = Output
    Config Portc.3 = Output
    Config Portc.4 = Output
    Config Portc.5 = Output
    
    Led Alias Portc.5
    
    'silniki
    Lewoprzud Alias Portc.4
    Lewotyl Alias Portc.3
    Prawoprzud Alias Portc.2
    Prawotyl Alias Portd.1
    
    'czujniki przednie
    Cznac Alias Portc.0
    Czpod Alias Portd.0
    
    'czujniki dohio
    Pp Alias Portd.1
    Lp Alias Portd.2
    Pt Alias Portd.3
    Lt Alias Portd.4
    
    Waitms 5000
    Led = 1
    Do
    
    'doprzodu
    If Czpod = 1 Then Gosub Go
    If Cznac = 1 Then Gosub Go
    If Cznac = 1 And Czpod = 1 Then Gosub Go
    
    'deklaracja szukania
    If Czpod = 0 And Cznac = 0 Then Gosub Szukanie
    
    'deklaracja mini sensorów dohio
    
    'przednie
    If Pp = 1 Then Gosub Tyll
    If Lp = 1 Then Gosub Tylp
    If Pp = 1 And Lp = 1 Then Gosub Tyll
    
    'tylnie
    If Pt = 1 Then Gosub Go
    If Lt = 1 Then Gosub Go
    If Pt = 1 And Lt = 1 Then Gosub Go
    
    
    Loop
    
    End
    
    'deklaracja poruszania się
    Wprawo:
    Lewoprzud = 1
    Prawotyl = 1
    Waitms 2000
    Lewoprzud = 0
    Prawotyl = 0
    Return
    
    Wlewo:
    Prawoprzud = 1
    Lewotyl = 1
    Waitms 2000
    Prawoprzud = 0
    Lewotyl = 0
    Return
    
    Go:
    Prawoprzud = 1
    Lewoprzud = 1
    Waitms 100
    Prawoprzud = 0
    Lewoprzud = 0
    Return
    
    Tyl:
    Prawotyl = 1
    Lewotyl = 1
    Waitms 100
    Prawotyl = 0
    Lewotyl = 0
    Return
    
    'inne dotyczące poruszania
    
    Szukanie:
    Gosub Go
    Gosub Go
    Gosub Go
    Gosub Go
    Gosub Go
    Gosub Go
    Gosub Go
    Gosub Go
    Gosub Go
    Gosub Go
    Gosub Wlewo
    Return
    
    Tylp:
    Prawotyl = 1
    Lewotyl = 1
    Waitms 1000
    Prawotyl = 0
    Lewotyl = 0
    Gosub Wprawo
    Return
    
    Tyll:
    Prawotyl = 1
    Lewotyl = 1
    Waitms 1000
    Prawotyl = 0
    Lewotyl = 0
    Gosub Wlewo
    Return 
    [syntax=basic4gl][/syntax]
    
    
    
  • REKLAMA
REKLAMA