Hallo.
Ich habe zu meinem Robby zusätzlich die erweiterungs Platine und LCD angeschafft um die ausgabe Möglichkeiten von visuelen und Wert-Anzeigen zu erhöhen.
Ich war mir nicht ganz sicher ob diese auch funktionieren ohne C-Control 2, wo ich aber auch niergnens eine gegenteilige Meldung stehen sah . Jedenfalls funktionieren die Beispiel Programme ohne cc2 tadel los.
(ich muss halt den anderen Sys treiber mit loaden lassen)
Ich will als erstes ein Programm schreiben was den Lade status der Akkus mit den auf der Erweiterungs Platine enthaltenen 8 Led's anzeigt.
Das hab ich den auch getan :
Leider funktioniert das Programm nicht , beim compilern meldet es keine fehler.Code:'IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII 'IIIIIIIIII MOBILE ROBOT EVALUATION PROGRAM IIIIIIIIIIII 'IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII ' Erweitertes PROGRAMM ZUR ÜBERWACHUNG DES LADEVORGANGS ' Dieses Programm ist für den Robby RP5 mit erweiterungs Platine. ' Basis Program war das CHARGE TOOL von Robby . ' Frei für benutzung für alle, erweiterung , weitergeben natürlich auch frei :O) ' Aber haftbarkeit für etwelche Schäden werden abgelehnt. ' Status NICHT funktional . :O( ' Version 0.2 ' ACHTUNG: ' Wenn Sie den Akku des Roboters laden, MUSS der Schalter so geschaltet sein, ' dass der Roboter in Betrieb ist !!! ' Andernfalls würde eine zu hohe Ladespannung leicht zur Zerstörung der ' empfindlichen Elektronik führen. ' Starten Sie das Programm BEVOR sie das Ladegerät anstecken, weil ' beim Start eine Calibrierung durchgeführt wird und dabei kein Ladestrom ' fliessen darf. ' --------------------------------------------------------------------- ' FUNKTION DES PROGRAMMS '---------------------------------------------------------------------- ' Der Bezeichner SYS_VOLTS ist der A/D-Wandler, der die Akkuspannung misst. ' Ein Digit entspricht dabei 39,2 mV, der Messbereich geht bis 10 V ' Die Akkuspannung wird als Balkenanzeige mit den Leuchtdioden angezeigt. ' Die Schwellen sind folgendermassen eingestellt: ' LED 1 - blinkend:7,1736 V / LED 1 - leuchtend:7,3304 V ' LED 2 - blinkend:7,4872 V / LED 2 - leuchtend:7,6440 V ' LED 3 - blinkend:7,8008 V / LED 3 - leuchtend:7,9576 V ' LED 4 - blinkend:8,1144 V / LED 4 - leuchtend:8,2712 V ' LED 5 - blinkend:8,4280 V / LED 5 - leuchtend:8,5848 V ' LED 6 - blinkend:8,6632 V / LED 6 - leuchtend:8,7808 V ' LED 7 - blinkend:8,8592 V / LED 7 - leuchtend:8,9376 V ' LED 8 - blinkend:8,9768 V / LED 8 - leuchtend:9,0160 V ' Wenn alle Leuchtdioden dauernd leuchten, ist die Ladung beendet und ' wird mit dem Beeper gemeldet. '-------------------------- '------ I/O PORTS --------- '-------------------------- '- INTERFACE LCD/EXTPORT -- define sdio port[1] define sclio port[3] define strobe port[4] define LSTROBE port[7] ' Hier hab ich erweitert ....... '-- 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 LEDPORT byte[6] ' Hier hab ich erweitert ....... define L1_F bit[41] ' Hier hab ich erweitert ....... define L2_F bit[42] ' Hier hab ich erweitert ....... define L3_F bit[43] ' Hier hab ich erweitert ....... define L4_F bit[44] ' Hier hab ich erweitert ....... define L5_F bit[45] ' Hier hab ich erweitert ....... define L6_F bit[46] ' Hier hab ich erweitert ....... define L7_F bit[47] ' Hier hab ich erweitert ....... define L8_F bit[48] ' Hier hab ich erweitert ....... '-------------------------- '---- USER MEMORY ------- '-------------------------- define OFFSET byte[6] '--- SYSTEMROUTINEN ----------- define PLM_SLOW &H01C4 define SYSTEM &H01C9 define LED_DRIVE &H01CA ' Hier hab ich erweitert ....... define COMNAV &H0154 '---------- INIT--------------- gosub SUBSYS_PWR_ON:REV_L=off:REV_R=off LSTROBE=off:beep 368,10,0:pause 50 ' Hier hab ich erweitert ....... LSTROBE if SYS_VOLTS>=CHRG_CURRENT then goto WATCH_AKKU OFFSET=CHRG_CURRENT-SYS_VOLTS '-------------------------------------------- '--- LADEÜBERWACHUNG FÜR DEN AKKU --- '-------------------------------------------- #WATCH_AKKU beep 0,1,0 if SYS_VOLTS > 230 then goto LED8ON if SYS_VOLTS > 229 then goto LED8BLINK if SYS_VOLTS > 228 then goto LED7ON if SYS_VOLTS > 226 then goto LED7BLINK if SYS_VOLTS > 224 then goto LED6ON if SYS_VOLTS > 221 then goto LED6BLINK if SYS_VOLTS > 219 then goto LED5ON if SYS_VOLTS > 215 then goto LED5BLINK if SYS_VOLTS > 211 then goto LED4ON if SYS_VOLTS > 207 then goto LED4BLINK if SYS_VOLTS > 203 then goto LED3ON if SYS_VOLTS > 199 then goto LED3BLINK if SYS_VOLTS > 195 then goto LED2ON if SYS_VOLTS > 191 then goto LED2BLINK if SYS_VOLTS > 187 then goto LED1ON if SYS_VOLTS > 183 then goto LED1BLINK goto WATCH_AKKU #e gosub LOFF:goto WATCH_AKKU #LED8ON gosub L1ON:gosub L2ON:gosub L3ON:gosub L4ON:gosub L5ON:gosub L6ON:gosub L7ON:gosub L8ON:goto WATCH_AKKU #LED8BLINK gosub L1ON:gosub L2ON:gosub L3ON:gosub L4ON:gosub L5ON:gosub L6ON:gosub L7ON:gosub L8ON:pause 20:gosub L8OFF:pause 20:goto WATCH_AKKU #LED7ON gosub L8OFF:gosub L1ON:gosub L2ON:gosub L3ON:gosub L4ON:gosub L5ON:gosub L6ON:gosub L7ON:goto WATCH_AKKU #LED7BLINK gosub L8OFF:gosub L1ON:gosub L2ON:gosub L3ON:gosub L4ON:gosub L5ON:gosub L6ON:gosub L7ON:pause 20:gosub L7OFF:pause 20:goto WATCH_AKKU #LED6ON gosub L8OFF:gosub L7OFF:gosub L1ON:gosub L2ON:gosub L3ON:gosub L4ON:gosub L5ON:gosub L6ON:goto WATCH_AKKU #LED6BLINK gosub L8OFF:gosub L7OFF:gosub L1ON:gosub L2ON:gosub L3ON:gosub L4ON:gosub L5ON:gosub L6ON:pause 20:gosub L6OFF:pause 20:goto WATCH_AKKU #LED5ON gosub L8OFF:gosub L7OFF:gosub L6OFF:gosub L1ON:gosub L2ON:gosub L3ON:gosub L4ON:gosub L5ON:goto WATCH_AKKU #LED5BLINK gosub L8OFF:gosub L7OFF:gosub L6OFF:gosub L1ON:gosub L2ON:gosub L3ON:gosub L4ON:gosub L5ON:pause 20:gosub L5OFF:pause 20:goto WATCH_AKKU #LED4ON gosub L8OFF:gosub L7OFF:gosub L6OFF:gosub L5OFF:gosub L1ON:gosub L2ON:gosub L3ON:gosub L4ON:goto WATCH_AKKU #LED4BLINK gosub L8OFF:gosub L7OFF:gosub L6OFF:gosub L5OFF:gosub L1ON:gosub L2ON:gosub L3ON:gosub L4ON:pause 20:gosub L4OFF:pause 20:goto WATCH_AKKU #LED3ON gosub L8OFF:gosub L7OFF:gosub L6OFF:gosub L5OFF:gosub L4OFF:gosub L1ON:gosub L2ON:gosub L3ON:goto WATCH_AKKU #LED3BLINK gosub L8OFF:gosub L7OFF:gosub L6OFF:gosub L5OFF:gosub L4OFF:gosub L1ON:gosub L2ON:gosub L3ON:pause 20:gosub L3OFF:pause 20:goto WATCH_AKKU #LED2ON gosub L8OFF:gosub L7OFF:gosub L6OFF:gosub L5OFF:gosub L4OFF:gosub L3OFF:gosub L1ON:gosub L2ON:goto WATCH_AKKU #LED2BLINK gosub L8OFF:gosub L7OFF:gosub L6OFF:gosub L5OFF:gosub L4OFF:gosub L3OFF:gosub L1ON:gosub L2ON:pause 20:gosub L2OFF:pause 20:goto WATCH_AKKU #LED1ON gosub L8OFF:gosub L7OFF:gosub L6OFF:gosub L5OFF:gosub L4OFF:gosub L3OFF:gosub L2OFF:gosub L1ON:goto WATCH_AKKU #LED1BLINK gosub L8OFF:gosub L7OFF:gosub L6OFF:gosub L5OFF:gosub L4OFF:gosub L3OFF:gosub L2OFF:gosub L1ON:pause 20:gosub L1OFF:pause 20:goto WATCH_AKKU '--- LEDS AUF DER BASIS ERWEITERUNG ------ #L1ON L1_F=on:goto LEDPORT_WRITE #L1OFF L1_F=off :goto LEDPORT_WRITE #L2ON L2_F=on:goto LEDPORT_WRITE #L2OFF L2_F=off :goto LEDPORT_WRITE #L3ON L3_F=on:goto LEDPORT_WRITE #L3OFF L3_F=off :goto LEDPORT_WRITE #L4ON L4_F=on:goto LEDPORT_WRITE #L4OFF L4_F=off :goto LEDPORT_WRITE #L5ON L5_F=on:goto LEDPORT_WRITE #L5OFF L5_F=off :goto LEDPORT_WRITE #L6ON L6_F=on:goto LEDPORT_WRITE #L6OFF L6_F=off :goto LEDPORT_WRITE #L7ON L7_F=on:goto LEDPORT_WRITE #L7OFF L7_F=off :goto LEDPORT_WRITE #L8ON L8_F=on:goto LEDPORT_WRITE #L8OFF L8_F=off :goto LEDPORT_WRITE #LOFF LEDPORT=0 #LEDPORT_WRITE SYS LED_DRIVE:pulse LSTROBE:RETURN 'IIIIII SYSTEMROUTINEN SYSTEM IIIIIIIIIIII #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 '---------COM/NAV GERÄTEREIBER ------------- syscode "p5driv12.s19"
Starte ich das Programm löscht es die 8 Leds wie gewollt , doch dan beginnen sie alle miteinander einfach zu leuchten und der Pipser pipst ab und zu.
Ich frage mich der weilen an was es liegen könnte , denn ich habe den code nun schon 10mal mit dem des Led beispieles (für die erweiterungs Platine) verglichen und habe keine "übertragungs lücken" entdecken können .
Ich habe für die bessere übersicht auch noch die kommentar zeilen "' Hier hab ich erweitert ......." eingefügt bei den System initalisierungen und System rutienen .
Weiss jehmand vieleicht woran die "nicht funktion" liegen könnte ?
Ich währe mega froh wen mir jehamnd helfen könnte![]()








Zitieren

Lesezeichen