- 3D-Druck Einstieg und Tipps         
Seite 4 von 9 ErsteErste ... 23456 ... LetzteLetzte
Ergebnis 31 bis 40 von 81

Thema: Wegstreckenzähler: Entfernug einstellen?

  1. #31
    Benutzer Stammmitglied
    Registriert seit
    21.08.2006
    Beiträge
    74
    Anzeige

    LiFePo4 Akku selber bauen - Video
    Hi Jon,
    hab übersehen, dass bei move_fwd am ende gosub Strecke steht.
    Ja ich glaub so musstes eigentlich funktionieren.
    Ich probiers gleich mal am Mittwoch aus.

    Gruß dj

  2. #32
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    29.12.2005
    Ort
    Nähe Mainz
    Alter
    32
    Beiträge
    3.467
    Gehts oder Gehts nicht??????????

    jon

  3. #33
    Benutzer Stammmitglied
    Registriert seit
    21.08.2006
    Beiträge
    74
    sorry hab noch so viel mit schule um die ohren gehabt und bin dann nichtmehr dazu gekommen.
    aber am wochen ende kann ich es ganz sicher ausprobieren aber bis dahin müsste dein robby eigenlich wieder da sein.
    so wie der code aussieht(wenn ich nichrs übersehen hab)muss es eigentlich funktionieren.

    Gruß dj

  4. #34
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    29.12.2005
    Ort
    Nähe Mainz
    Alter
    32
    Beiträge
    3.467
    Ich habe ja jetzt schon meinen zweiten Robby abgegeben (beim ersten war das ACS defekt), da hat es ganze 4 Wochen gedauert, bis ich einen Gutschein bekommen habe. Conrad meinte beim zweiten dann, dass es wieder um die 4 Wochen dauern wird.
    Mal schauen.

    jon

  5. #35
    Benutzer Stammmitglied
    Registriert seit
    21.08.2006
    Beiträge
    74
    Hi Jon,
    dein prog. funktioniert.
    ich hab nur noch ein Problem:
    ich hab dein prog. erweitert undzwar um:
    eine endlos schleife für das ganze prog.(dass man es mehrmals hintereinander ausführen kann)
    und um ACS(dachte das wäre ganz nützlich)
    mein problem ist allerdings, wenn ich robby zum 2. mal fahren lasse stopt er nicht mehr!
    hier ist mal der code vielleicht kannst du mir ja sagen, was an meinem prog. nicht stimmt:
    Code:
    '-------------------------- 
    '------ I/O PORTS --------- 
    '-------------------------- 
    '- INTERFACE LCD/EXTPORT -- 
    define sdio         port[1] 
    define sclio        port[3] 
    define strobe       port[4] 
    '-- INTERFACE COM/NAV ----- 
    define DATALINE     port[1] 
    define CLOCKLINE    port[2] 
    '-------------------------- 
    '------ SENSORS --------- 
    '-------------------------- 
    define LIGHT_L      ad[7] 
    define LIGHT_R      ad[6] 
    define SYS_VOLTS    ad[3] 
    define CHRG_CURRENT ad[2] 
    define SYS_CURRENT  ad[1] 
    define MIC          ad[4] 
    define TOUCH        ad[5] 
    '--------------------------- 
    '------  DRIVE ------------- 
    '--------------------------- 
    define SPEED_L        da[1] 
    define SPEED_R        da[2] 
    define REV_L        port[6] 
    define REV_R        port[5] 
    '-------------------------- 
    '---- SYSTEM MEMORY ------- 
    '-------------------------- 
    '--- INTERFACE BUFFER ---- 
    define LBYTE         byte[1] 
    define HBYTE         byte[2] 
    define SUBCMD        byte[3] 
    '---- OPERATION DATA ------ 
    define EXTPORT       byte[4] 
    define LED1_F        bit[29] 
    define LED2_F        bit[30] 
    define LED3_F        bit[31] 
    define LED4_F        bit[32] 
    define SYSTEM_STATUS byte[5] 
    define ACSL_F        bit[33] 
    define ACSR_F        bit[34] 
    define IR_F          bit[35] 
    '-------------------------- 
    '----  USER MEMORY  ------- 
    '-------------------------- 
    define GP            byte[6] 
    define MAXLIGHT      byte[7] 
    define GP1           byte[8] 
    define SAMPLE        byte[9] 
    define HSAMPLE       byte[10] 
    '--- SYSTEMROUTINEN ----------- 
    define PLM_SLOW      &H01C4 
    define SYSTEM        &H01C9 
    define COMNAV        &H0154 
    '- ERWEITERTE SYSTEM ROUTINEN - 
    define REVR          &H0101   'ANTRIEB RECHTS RÜCKWÄRTS 
    define REVL          &H0106   'ANTRIEB LINKS RÜCKWÄRTS 
    define FWDR          &H010B   'ANTRIEG RECHTS VORWÄRTS 
    define FWDL          &H0110   'ANTRIEB LINKS VORWÄRTS 
    define ROTR          &H0115   'RECHTS DREHEN 
    define ROTL          &H0119   'LINKS DREHEN 
    define REV           &H011D   'RÜCKWÄRTS 
    define FWD           &H0121   'VORWÄRTS 
    define COMNAV_STATUS &H0125   'UPDATED ALLE FLAGS IM STATUS-REGISTER 
    define ACS_LO        &H01E1   'ACS POWER LO 
    define ACS_HI        &H01E9   ' 
    define ACS_MAX       &H01F1   ' 
    define SEND_TLM      &H014A   'SENDET TELEMETRIE (CH=HBYTE,DATEN=LBYTE) 
    define SEND_SPEEDR   &H0134   'SENDET TLM KANAL 8,PLM RECHTS 
    define SEND_SPEEDL   &H013A   'SENDET TLM KANAL 7,PLM LINKS 
    define SEND_SYSSTAT  &H0144   'SENDET TLM KANAL 0,SYSTEM STATUS 
                                  '(FLAGS für ACS,FWD/REV, ACS_LO/HI/MAX) 
    
    
    
    #Start
    '---------- INIT--------------- 
    gosub SUBSYS_PWR_ON 
    beep 368,10,0:pause 50 
    '---- SYSTEM OPERATION MODE (NO INTERRUPT) ---- 
    gosub NO_ACS_INT:beep 368,10,0:SYS ACS_MAX 
    '------------ ANTRIEB ------------------------- 
    REV_L=on:REV_R=on:SYS PLM_SLOW 
    '-------------------------------------------- 
    '---         WEGSTRECKENZÄHLER            --- 
    '-------------------------------------------- 
    gosub CLR_DISTANCE:gosub LEDSOFF 
    
    #LOOP 
    for GP=1 to 100 
    SAMPLE=MIC 
    if SAMPLE > HSAMPLE then HSAMPLE=SAMPLE 
    next 
    if HSAMPLE < 10 then gosub LED4ON else gosub LED4OFF 
    if HSAMPLE >= 10 then gosub move_fwd 
    HSAMPLE=0:goto loop 
    '---------------------------------------------------------------- 
    #Strecke 
    pause 5:SYS COMNAV_STATUS 
    gosub L_DISTANCE
    if LBYTE= 25 then gosub stop                    
    
    '--------- LEDs ansteuern --------------------
    if ACSL_F=on then gosub LED4ON else gosub LED4OFF
    if ACSR_F=on then gosub LED1ON else gosub LED1OFF
    '--------- AUSWEICHMANÖVER EINLEITEN ---------
    if (ACSL_F and ACSR_F)=on then goto rotate
    if ACSL_F=on then goto move_right
    if ACSR_F=on then goto move_left
    SYS FWDR:SYS FWDL:SPEED_L=255:SPEED_R=255
                                    
    goto Strecke 
    
    '-------------------------------------------- 
    '-------- AUSWEICHEN NACH RECHTS -------------
    #move_right
    SPEED_R=100:SPEED_L=255:goto Strecke
    '-------- AUSWEICHEN NACH LINKS -------------
    #move_left
    SPEED_L=100:SPEED_R=255:goto Strecke
    '----------    ROTIEREN  --------------------
    #rotate
    SPEED_L=150:SPEED_R=150:SYS ROTR:goto Strecke
    
    #stop 
    SYS FWDR:SYS FWDL:SPEED_L=0:SPEED_R=0:beep 368,10,0:goto Start
    #move_fwd 
    SYS FWDR:SYS FWDL:SPEED_L=155:SPEED_R=155:gosub Strecke 
    '--------------------------------------------- 
    
    
    
    'IIIIIIIIIII LED DRIVER IIIIIIIIIIIIIIIII 
    #LED1ON 
    LED1_F=on:goto EXTPORT_WRITE 
    #LED1OFF 
    LED1_F=off :goto EXTPORT_WRITE 
    #LED2ON 
    LED2_F=on:goto EXTPORT_WRITE 
    #LED2OFF 
    LED2_F=off:goto EXTPORT_WRITE 
    #LED3ON 
    LED3_F=on:goto EXTPORT_WRITE 
    #LED3OFF 
    LED3_F=off:goto EXTPORT_WRITE 
    #LED4ON 
    LED4_F=on:goto EXTPORT_WRITE 
    #LED4OFF 
    LED4_F=off:goto EXTPORT_WRITE 
    #LEDSOFF 
    EXTPORT=EXTPORT and &H0F:goto EXTPORT_WRITE 
    #EXTPORT_WRITE 
    SYS SYSTEM:pulse STROBE:RETURN 
    
    'IIIIII SYSTEMROUTINEN COMM/NAV SYSTEM  IIIII 
    
    #GET_IRDATA 
    SUBCMD=1:sys COMNAV:return 
    #SEND_IRDATA 
    SUBCMD=0:sys COMNAV:return 
    #RC5 
    SUBCMD=4:sys COMNAV:LBYTE= HBYTE and &HFC 
    HBYTE=00:SUBCMD=2:sys COMNAV:return 
    #RC5_INT 
    SUBCMD=4:sys COMNAV:LBYTE= (HBYTE and &HFE)or 2 
    HBYTE=00:SUBCMD=2:sys COMNAV:return 
    #REC80 
    SUBCMD=4:sys COMNAV:LBYTE= (HBYTE or &H01)and&HFD 
    HBYTE=00:SUBCMD=2:sys COMNAV:return 
    #REC80_INT 
    SUBCMD=4:sys COMNAV:LBYTE= (HBYTE or &H03) 
    HBYTE=00:SUBCMD=2:sys COMNAV:return 
    
    'IIIIII   SYSTEMROUTINEN SYSTEM  IIIIIIIIIIII 
    #NO_ACS_INT 
    SUBCMD=4:sys COMNAV:LBYTE= HBYTE and &HFB 
    HBYTE=00:SUBCMD=2:sys COMNAV:return 
    #ACS_INT_200 
    SUBCMD=4:sys COMNAV:LBYTE= HBYTE or &H04 
    HBYTE=50:SUBCMD=2:sys COMNAV:return 
    #SUBSYS_PWR_ON 
    sdio=on:sclio=on:strobe=off:EXTPORT=(EXTPORT and &HFE)or 8 
    sys SYSTEM:return 
    #SUBSYS_PWR_OFF 
    EXTPORT=(EXTPORT and &HF7)or 1:sys SYSTEM 
    deact sdio:deact sclio:return 
    #CLR_DISTANCE 
    SUBCMD=3:sys COMNAV:return 
    #L_DISTANCE 
    SUBCMD=6:sys COMNAV:return 
    #R_DISTANCE 
    SUBCMD=7:sys COMNAV:return
    vielndank schon mal.

    Gruß dj

  6. #36
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    29.12.2005
    Ort
    Nähe Mainz
    Alter
    32
    Beiträge
    3.467
    So wirklich weiß ich auch nicht, was da falsch sein könnte.
    Ich würde nur mal sagen, dass du die Zeile
    "SYS FWDR:SYS FWDL:SPEED_L=255:SPEED_R=255"
    bei #Strecke rauslassen köntest. Es sei denn, du willst ihm sagen, dass er bei keinem Gegenstand schneller fahren soll.

    jon

  7. #37
    Benutzer Stammmitglied
    Registriert seit
    21.08.2006
    Beiträge
    74
    Hi,
    muss oben an meinem Code noch was veränder so wie er oben steht fährt robby beim 2. mal einfach so wieder los.
    hier der code mit Verbesserung, der allerdings noch nicht richtig funktioniert:
    Code:
    '-------------------------- 
    '------ I/O PORTS --------- 
    '-------------------------- 
    '- INTERFACE LCD/EXTPORT -- 
    define sdio         port[1] 
    define sclio        port[3] 
    define strobe       port[4] 
    '-- INTERFACE COM/NAV ----- 
    define DATALINE     port[1] 
    define CLOCKLINE    port[2] 
    '-------------------------- 
    '------ SENSORS --------- 
    '-------------------------- 
    define LIGHT_L      ad[7] 
    define LIGHT_R      ad[6] 
    define SYS_VOLTS    ad[3] 
    define CHRG_CURRENT ad[2] 
    define SYS_CURRENT  ad[1] 
    define MIC          ad[4] 
    define TOUCH        ad[5] 
    '--------------------------- 
    '------  DRIVE ------------- 
    '--------------------------- 
    define SPEED_L        da[1] 
    define SPEED_R        da[2] 
    define REV_L        port[6] 
    define REV_R        port[5] 
    '-------------------------- 
    '---- SYSTEM MEMORY ------- 
    '-------------------------- 
    '--- INTERFACE BUFFER ---- 
    define LBYTE         byte[1] 
    define HBYTE         byte[2] 
    define SUBCMD        byte[3] 
    '---- OPERATION DATA ------ 
    define EXTPORT       byte[4] 
    define LED1_F        bit[29] 
    define LED2_F        bit[30] 
    define LED3_F        bit[31] 
    define LED4_F        bit[32] 
    define SYSTEM_STATUS byte[5] 
    define ACSL_F        bit[33] 
    define ACSR_F        bit[34] 
    define IR_F          bit[35] 
    '-------------------------- 
    '----  USER MEMORY  ------- 
    '-------------------------- 
    define GP            byte[6] 
    define MAXLIGHT      byte[7] 
    define GP1           byte[8] 
    define SAMPLE        byte[9] 
    define HSAMPLE       byte[10] 
    '--- SYSTEMROUTINEN ----------- 
    define PLM_SLOW      &H01C4 
    define SYSTEM        &H01C9 
    define COMNAV        &H0154 
    '- ERWEITERTE SYSTEM ROUTINEN - 
    define REVR          &H0101   'ANTRIEB RECHTS RÜCKWÄRTS 
    define REVL          &H0106   'ANTRIEB LINKS RÜCKWÄRTS 
    define FWDR          &H010B   'ANTRIEG RECHTS VORWÄRTS 
    define FWDL          &H0110   'ANTRIEB LINKS VORWÄRTS 
    define ROTR          &H0115   'RECHTS DREHEN 
    define ROTL          &H0119   'LINKS DREHEN 
    define REV           &H011D   'RÜCKWÄRTS 
    define FWD           &H0121   'VORWÄRTS 
    define COMNAV_STATUS &H0125   'UPDATED ALLE FLAGS IM STATUS-REGISTER 
    define ACS_LO        &H01E1   'ACS POWER LO 
    define ACS_HI        &H01E9   ' 
    define ACS_MAX       &H01F1   ' 
    define SEND_TLM      &H014A   'SENDET TELEMETRIE (CH=HBYTE,DATEN=LBYTE) 
    define SEND_SPEEDR   &H0134   'SENDET TLM KANAL 8,PLM RECHTS 
    define SEND_SPEEDL   &H013A   'SENDET TLM KANAL 7,PLM LINKS 
    define SEND_SYSSTAT  &H0144   'SENDET TLM KANAL 0,SYSTEM STATUS 
                                  '(FLAGS für ACS,FWD/REV, ACS_LO/HI/MAX) 
    
    
    
    #Start
    '---------- INIT--------------- 
    gosub SUBSYS_PWR_ON 
    beep 368,10,0:pause 50 
    '---- SYSTEM OPERATION MODE (NO INTERRUPT) ---- 
    gosub NO_ACS_INT:beep 368,10,0:SYS ACS_MAX 
    '------------ ANTRIEB ------------------------- 
    REV_L=on:REV_R=on:SYS PLM_SLOW 
    '-------------------------------------------- 
    '---         WEGSTRECKENZÄHLER            --- 
    '-------------------------------------------- 
    
    gosub CLR_DISTANCE:gosub LEDSOFF 
    #LOOP 
    for GP=1 to 100 
    SAMPLE=MIC 
    if SAMPLE > HSAMPLE then HSAMPLE=SAMPLE 
    next 
    if HSAMPLE < 10 then gosub LED4ON else gosub LED4OFF 
    if HSAMPLE >= 10 then gosub move_fwd 
    HSAMPLE=0:goto loop 
    '---------------------------------------------------------------- 
    #Strecke 
    pause 5:SYS COMNAV_STATUS 
    gosub L_DISTANCE
    if LBYTE= 25 then gosub stop                    
    
    '--------- LEDs ansteuern --------------------
    if ACSL_F=on then gosub LED4ON else gosub LED4OFF
    if ACSR_F=on then gosub LED1ON else gosub LED1OFF
    '--------- AUSWEICHMANÖVER EINLEITEN ---------
    if (ACSL_F and ACSR_F)=on then goto rotate
    if ACSL_F=on then goto move_right
    if ACSR_F=on then goto move_left
    
                                    
    goto Strecke 
    
    '-------------------------------------------- 
    '-------- AUSWEICHEN NACH RECHTS -------------
    #move_right
    SPEED_R=100:SPEED_L=255:goto Strecke
    '-------- AUSWEICHEN NACH LINKS -------------
    #move_left
    SPEED_L=100:SPEED_R=255:goto Strecke
    '----------    ROTIEREN  --------------------
    #rotate
    SPEED_L=150:SPEED_R=150:SYS ROTR:goto Strecke
    
    #stop 
    SYS FWDR:SYS FWDL:SPEED_L=0:SPEED_R=0:beep 368,10,0:LBYTE=0:HSAMPLE=0:goto Start
    #move_fwd 
    SYS FWDR:SYS FWDL:SPEED_L=155:SPEED_R=155:gosub Strecke 
    '--------------------------------------------- 
    
    
    
    'IIIIIIIIIII LED DRIVER IIIIIIIIIIIIIIIII 
    #LED1ON 
    LED1_F=on:goto EXTPORT_WRITE 
    #LED1OFF 
    LED1_F=off :goto EXTPORT_WRITE 
    #LED2ON 
    LED2_F=on:goto EXTPORT_WRITE 
    #LED2OFF 
    LED2_F=off:goto EXTPORT_WRITE 
    #LED3ON 
    LED3_F=on:goto EXTPORT_WRITE 
    #LED3OFF 
    LED3_F=off:goto EXTPORT_WRITE 
    #LED4ON 
    LED4_F=on:goto EXTPORT_WRITE 
    #LED4OFF 
    LED4_F=off:goto EXTPORT_WRITE 
    #LEDSOFF 
    EXTPORT=EXTPORT and &H0F:goto EXTPORT_WRITE 
    #EXTPORT_WRITE 
    SYS SYSTEM:pulse STROBE:RETURN 
    
    'IIIIII SYSTEMROUTINEN COMM/NAV SYSTEM  IIIII 
    
    #GET_IRDATA 
    SUBCMD=1:sys COMNAV:return 
    #SEND_IRDATA 
    SUBCMD=0:sys COMNAV:return 
    #RC5 
    SUBCMD=4:sys COMNAV:LBYTE= HBYTE and &HFC 
    HBYTE=00:SUBCMD=2:sys COMNAV:return 
    #RC5_INT 
    SUBCMD=4:sys COMNAV:LBYTE= (HBYTE and &HFE)or 2 
    HBYTE=00:SUBCMD=2:sys COMNAV:return 
    #REC80 
    SUBCMD=4:sys COMNAV:LBYTE= (HBYTE or &H01)and&HFD 
    HBYTE=00:SUBCMD=2:sys COMNAV:return 
    #REC80_INT 
    SUBCMD=4:sys COMNAV:LBYTE= (HBYTE or &H03) 
    HBYTE=00:SUBCMD=2:sys COMNAV:return 
    
    'IIIIII   SYSTEMROUTINEN SYSTEM  IIIIIIIIIIII 
    #NO_ACS_INT 
    SUBCMD=4:sys COMNAV:LBYTE= HBYTE and &HFB 
    HBYTE=00:SUBCMD=2:sys COMNAV:return 
    #ACS_INT_200 
    SUBCMD=4:sys COMNAV:LBYTE= HBYTE or &H04 
    HBYTE=50:SUBCMD=2:sys COMNAV:return 
    #SUBSYS_PWR_ON 
    sdio=on:sclio=on:strobe=off:EXTPORT=(EXTPORT and &HFE)or 8 
    sys SYSTEM:return 
    #SUBSYS_PWR_OFF 
    EXTPORT=(EXTPORT and &HF7)or 1:sys SYSTEM 
    deact sdio:deact sclio:return 
    #CLR_DISTANCE 
    SUBCMD=3:sys COMNAV:return 
    #L_DISTANCE 
    SUBCMD=6:sys COMNAV:return 
    #R_DISTANCE 
    SUBCMD=7:sys COMNAV:return
    bitte schaut ihn euch an!
    ich weiß einfach nicht, was da falsch ist.

    Gruß dj

  8. #38
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    29.12.2005
    Ort
    Nähe Mainz
    Alter
    32
    Beiträge
    3.467
    Um ehrlich zu sein:
    Ich weiß nicht, was da falsch ist
    Wirklich keinen Plan

    jon

  9. #39
    Benutzer Stammmitglied
    Registriert seit
    21.08.2006
    Beiträge
    74
    Hi,
    hab fest gestellt, dass der zweite durchlauf fehlerhaft ist.
    beim ersten mal funktionierts aber wenn er dann wieder bei #Start anfängt hält er nicht mehr an.
    ich werd mal weiter nachlesen und gucken ob ich den Fehler find.

    Gruß dj

  10. #40
    Benutzer Stammmitglied
    Registriert seit
    21.08.2006
    Beiträge
    74
    Hi,
    Hab den Fehler immernoch nicht entdeckt!
    Bitte helft mir doch!
    Ich weiß einfach nicht was da schief läuft!
    Vielleicht entdeck ja einer ihn.

    Gruß dj

Seite 4 von 9 ErsteErste ... 23456 ... LetzteLetzte

Berechtigungen

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

12V Akku bauen