- MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad         
Seite 2 von 9 ErsteErste 1234 ... LetzteLetzte
Ergebnis 11 bis 20 von 81

Thema: Wegstreckenzähler: Entfernug einstellen?

  1. #11
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    29.12.2005
    Ort
    Nähe Mainz
    Alter
    32
    Beiträge
    3.467
    Anzeige

    Praxistest und DIY Projekte
    Zitat Zitat von dj
    1.Muss ich den Treiber "p5driv.s19"immer laden, dass das Prog. funktioniert?
    Du musst den Treiber nicht immer laden. Das Programm wird auch so funktionieren, es sei denn, du erweiterst die Basis mit der Erweiterung. Dann müsstest du den andere Treiber laden (Nicht den, einen anderen).

    Zitat Zitat von dj
    2.Was hast du noch alles an das Beispieprogramm"6_EINFÜHRUNG_WEGSTRECKENZÄHLER.bas "(ich denk mal, dass du davon ausgegangen bist) drangehängt?
    1. ich habe bei #stop ein beep reingesetzt:
    #stop gosub LED4ON:SYS FWDR:SYS FWDL:SPEED_L=0:SPEED_R=0:beep 368,10,0:end

    2. Ich habe die weiteren drei Entfernungsstufen aus dem Programm von Conrad rausgenommen.

    3. Ich habe alles für dir rechte Seite reingehängt. Wird allerdings in diesem Programm nicht genutzt (auskommentiert).

    Wenn ich das jetzt richtig sehe habe ich nicht mehr verändert.

    jon

  2. #12
    Benutzer Stammmitglied
    Registriert seit
    21.08.2006
    Beiträge
    74
    Und was ist damit?
    Zitat Zitat von dj
    Hallo,Jon
    Dein Prog. läuft einwandfrei. =D>
    Eine Frage hätte ich aber noch:
    Wie kann ich Robby sagen, dass er nur einen Meter weit fahren soll, aber nur wenn der Schallsensor auf max. ist?
    Ich hab das jetzt schon ein paar mal ausprobiert aber irgendwie ist Robby immer endlos weitergefahren.

    Gruß dj

  3. #13
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    29.12.2005
    Ort
    Nähe Mainz
    Alter
    32
    Beiträge
    3.467
    Der Code mit Schallsensor:
    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]
    '--- 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)
    
    
    
    
    '---------- 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
    if MIC > 230 then gosub move_fwd		'Fragt das Microfon ab. Wenn der Wert über 230 liegt dann geht er zu move_fwd. Und von dort zur Wegstreckenabfrage. 
    
    #NO_TASK
    pause 5:SYS COMNAV_STATUS
    gosub L_DISTANCE                                'Liest die Variable mit der Strecke von links aus
    'gosub R_Distance                                'Liest die Variable mit der Strecke von rechts aus
    if LBYTE=100 then gosub stop                     'LBYTE ist der linke Wegstreckenzähler
    'if RBYTE=25 then gosub stop                    'RBYTE ist der rechte Wegstreckenzähler
                                                    'Mit den Zahlen hinter L- und RBYTE= gibst du die Strecke in cm an, die er zurück legen soll.
    goto NO_TASK
    '--------------------------------------------
    #stop
    gosub LED4ON:SYS FWDR:SYS FWDL:SPEED_L=0:SPEED_R=0:beep 368,10,0:end
    #move_fwd
    SYS FWDR:SYS FWDL:SPEED_L=155:SPEED_R=155:gosub NO_TASK		
    '---------------------------------------------
    
    
    
    '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
    Ich habe es jetzt so gemacht, dass er losfährt, wenn der Schallsensor auf fast maximum ist.
    (Da ich nicht mehr genau weiß, was der höchst mögliche Wert ist und meine Akkus leer sind konnte ich es jetzt nicht ausprobieren. Eventuell musst du mit dem Wert hinter "if MIC > " spielen.)
    Wenn aber die Lautstärke beim Fahren sinkt, was sehr unwarscheinlich ist, da der Robby sehr laut ist, fährt er trotzdem weiter, bis er einen Meter hinter sich hat.

    jon

  4. #14
    Benutzer Stammmitglied
    Registriert seit
    21.08.2006
    Beiträge
    74
    Kann es sein, dass du irgendwas vergessen hast beim abfragen des Micros?
    Ich hab den Wer hinter MIC > 230 bis auf 0 runtergesetzt aber Robby hat nix gemacht.

    Gruß dj

  5. #15
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    29.12.2005
    Ort
    Nähe Mainz
    Alter
    32
    Beiträge
    3.467
    Zitat Zitat von dj
    Und was ist damit?
    Ich habe deine Fragen erst heute morgen gelesen und musste dann noch den Code schreiben (im Code schreiben bin ich nicht so schnell)

    jon

  6. #16
    Benutzer Stammmitglied
    Registriert seit
    21.08.2006
    Beiträge
    74
    Ich hab mir das jetzt nochmal angeschaut im Schallbeispielprog. war noch: "define LBYTE","define HBYTE", "define SUBCMD"
    dann war da noch was mit GP und SAMPLE und HSAMPLE
    schau dir das mal noch mal an.

    Gruß dj

  7. #17
    Benutzer Stammmitglied
    Registriert seit
    21.08.2006
    Beiträge
    74
    hi,Jon
    muss mich oben verbessernLBYTE,HBYTE und SUBCMD sind doch auch in deinem Prog. drin.
    Aber irgendwie funktioniert das mit dem Micro nicht.
    Ich hab selbst nochmal ein Prog. geschreiben das das selbe ergebnis wie deins ergibt .Aber es auch nicht funktioniert.Ich hab geschrieben:if MIC > 10 then gosub move_fwd
    Es hat aber geklappt wenn ich statt > < geschrieben hab.
    Ich hab auch noch n'Prog mit nur if MIC>1 then gosub LED1ON ausprobiert.Das hat funktioniert aber das komische war, dass es auch noch bei if MIC>1000000 geklappt hat.

    Gruß dj

  8. #18
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    29.12.2005
    Ort
    Nähe Mainz
    Alter
    32
    Beiträge
    3.467
    Ich glaube, dass ich mein Programm doch mal mit normalen Batterien ausprobieren muss. Das kann aber etwas dauern, da es gleich bei uns Mittagessen gibt.

    jon

  9. #19
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    20.08.2006
    Beiträge
    183
    uiii.....ein sehr kurzer Code um die Wegstrecke zu messen.

  10. #20
    Benutzer Stammmitglied
    Registriert seit
    21.08.2006
    Beiträge
    74
    Funktioniert aber.
    Eigentlich ist unser Problem nämlich auch den Wegstreckenzähler mit dem Schallsensor zu verbinden.

    Gruß dj

Seite 2 von 9 ErsteErste 1234 ... LetzteLetzte

Berechtigungen

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

Solar Speicher und Akkus Tests