Ik ben voor school bezig met de bouw van een simpel robotje, ma die bouw ik niet in 1 keer maar maak elke keer losse delen, test die en voeg op het eind alles samen.
Ma nu ben ik wat langere programma's aan het schrijven en kom ik in de problemen dat pic basic lite zo'n limitatie heeft.
Ik gebruik het alleen voor mijn pws en ben niet van plan om die dure versie te kopen en mijn school wil het ook niet aanschaffen.
Dus is mijn vraag zou er iemand een code voor mij willen compileren??? Hiermee zou je me echt helpen, zelf kan ik wel programmeren enz ma het gaat me om dat compileren, dus als iemand dat voor me zou kunnen doen, heel erg graag!
Alvast bedankt,
Ps: het gaat om een code van 120 regels pic basic.
Grt,Robert.

Als iemand het wil doen, stuur kik het programma wel op, alvast bedankt!
Grt, Robert.

[Bericht gewijzigd door elektro robert op (97%)]

Heeft je school wellicht ook een reden opgegeven het niet te willen aanschaffen?

Alternatief is natuurlijk je code in ASM zetten en de gratis compiler te pakken.

ja, de school werkt verder niet met programmeer spullen enz, en ze vonden het te duur om het alleen voor mij aan te schaffen.
En k heb net basic geleerd dus denk voorlopig effe hier bij blijf en misschien later overga op een andere.
Grt,Robert.

Hoi Robert.
Als je me de code even mailt
dan compileer ik je code wel.

(het zou wel leuk zijn als je dan wat foto`s plaatst)

Groetjes Lowa1

oke bedankt, dit is hem alleen als ik hem op het forum plaats komt alles aan de kantlijn te staan, sorry

Device 16F628A
Config WDT_OFF, PWRTE_ON, LVP_off, MCLRE_OFF, HS_OSC
XTAL 20
ALL_DIGITAL TRUE
PORTB_PULLUPS = On

HSERIAL_BAUD = 9600
HSERIAL_RCSTA = %10010000
HSERIAL_TXSTA = %00100000
HSERIAL_CLEAR = On

Symbol IRlinks = PORTA.3
Symbol IRrechts = PORTA.4
Symbol Servolinks = PORTB.6
Symbol Servorechts = PORTB.5
Symbol led = PORTA.2
Symbol servo-ir = PORTA.4

Dim gezien als Bit
Dim Teller As Byte
Declare CCP1_PIN = PORTB.7 ; moet nog nagekeken worden
HPWM 1, 127, 33000
;;;;;;;;;;;;;;;;;;;;;;;;;;;;hoofpogramma;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Hoofdprogramma:
For Teller = 125 To 200 Step 6 ; van midden naar links
Servo servo-ir, 1000 + Teller
DelayMS 20
HRSOut " kijken links " , 13 , 10 ,
GoSub controle
If gezien = 1 Then
If Teller > 90 And Teller < 160 Then ; 90 160
GoTo achteruit
Else
GoTo draaien
End If
End If
Next

For Teller = 200 To 50 Step - 6; 170 to 80 ; van links naar rechts
HRSOut 1000 + Teller
DelayMS 20
HRSOut " kijken rechts " , 13 , 10 ,
GoSub controle
If gezien = 1 Then
If Teller > 90 And Teller < 160 Then
GoTo achteruit
Else
GoTo draaien
End If
End If
Next

For Teller = 50 To 124 Step 6 ; van rechts naar midden
HRSOut 1000 + Teller
DelayMS 20
HRSOut " kijken midden " , 13 , 10 ,
GoSub controle
If gezien = 1 Then
If Teller > 100 And Teller < 150 Then
GoTo achteruit
Else
GoTo draaien
End If
End If
Next

GoTo rijden

Wend
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;bewegen;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
achteruit:
Teller=0
For Teller = 0 To 90
Servo Servolinks, 700
Servo Servorechts, 700
DelayMS 20
HRSOut " achteruit met draai " , 13 , 10 ,
Next

Teller = 0
For Teller = 0 To 90
Servo Servolinks, 2000
Servo Servorechts, 700
DelayMS 20
HRSOut " draaien " , 13 , 10 ,
Next

GoTo Hoofdprogramma

draaien:
Teller = 0
For Teller = 0 To 90
Servo Servorechts, 2000
Servo Servolinks, 700
DelayMS 20
HRSOut " draaien " , 13 , 10 ,
Next

GoTo Hoofdprogramma

rijden:
Teller = 0
For Teller = 0 To 90 Step 2
Servo Servorechts, 2000
Servo Servolinks, 2000
DelayMS 20
HRSOut " rijden " , 13 , 10 ,
Return

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IR controle;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
controle:
If IRrechts = 1 Then gezien = 0
If IRrechts = 0 Then gezien = 1
If IRlinks = 1 Then gezien = 0
If IRlinks = 0 Then gezien = 1
Else gezien = 0
HRSOut " IR-check " , 13 , 10 ,
EndIf
Return

Als er fouten inzitten, moet je het even zeggen, bedankt, Grt Robert.

Code 4 seconden bekeken en heb dan al een stel fouten gezien:
- FOR zonder NEXT
- ...13, 10, ?

ow oke, gelukkig zegt u het even,
-ja dat 13, 10 had k ergens gezien, ma dat kan k wel weghalen
- en pic basic zei dat er veder geen fouten waren
-en waar precies???
Grt, Robert.

is dit beter???


Device 16F628A
Config WDT_OFF, PWRTE_ON, LVP_off, MCLRE_OFF, HS_OSC
XTAL 20                 
ALL_DIGITAL TRUE              
PORTB_PULLUPS = On    

HSERIAL_BAUD = 9600
HSERIAL_RCSTA = %10010000
HSERIAL_TXSTA = %00100000
HSERIAL_CLEAR = On

Symbol IRlinks = PORTA.3  
Symbol IRrechts = PORTA.4
Symbol Servolinks = PORTB.6  
Symbol Servorechts = PORTB.5 
Symbol led = PORTA.2
Symbol servo-ir = PORTA.4 

Dim gezien As Bit
Dim Teller As Byte 
Declare CCP1_PIN = PORTB.7 ; moet nog nagekeken worden
HPWM 1, 127, 33000   
;;;;;;;;;;;;;;;;;;;;;;;;;;;;hoofpogramma;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Hoofdprogramma:

For Teller = 125 To 200 Step 6            ; van midden naar links
Servo servo-ir, 1000 + Teller
DelayMS 20
Next
HRSOut " kijken links " , 13 , 10 ,
GoSub controle
If gezien = 1 Then
 If Teller > 90 And Teller < 160 Then     ; 90 160
  GoTo achteruit
 Else 
  GoTo draaien
 End If 
End If
Next

For Teller = 200 To 50 Step - 6;  170 to 80   ; van links naar rechts
HRSOut 1000 + Teller 
DelayMS 20
Next
HRSOut " kijken rechts " , 13 , 10 ,
GoSub controle
If gezien = 1 Then
 If Teller > 90 And Teller < 160 Then 
  GoTo achteruit 
 Else 
  GoTo draaien
 End If
End If
Next
    
For Teller = 50 To 124 Step 6                 ; van rechts naar midden
HRSOut 1000 + Teller 
DelayMS 20
Next
HRSOut " kijken midden " , 13 , 10 , 
GoSub controle
If gezien = 1 Then
 If Teller > 100 And Teller < 150 Then 
  GoTo achteruit 
 Else 
  GoTo draaien
 End If
End If
Next

GoTo rijden

Wend
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;bewegen;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
achteruit:

Teller=0
For Teller = 0 To 90
Servo Servolinks, 700
Servo Servorechts, 700
DelayMS 20
Next
HRSOut " achteruit met draai " , 13 , 10 ,
Next

Teller = 0
For Teller = 0 To 90
Servo Servolinks, 2000
Servo Servorechts, 700
DelayMS 20
Next
HRSOut " draaien " , 13 , 10 , 
Next

GoTo Hoofdprogramma 

draaien:

Teller = 0
For Teller = 0 To 90
Servo Servorechts, 2000
Servo Servolinks, 700
DelayMS 20
Next
HRSOut " draaien " , 13 , 10 ,
Next

GoTo Hoofdprogramma

rijden:

Teller = 0
For Teller = 0 To 90 Step 2
Servo Servorechts, 2000
Servo Servolinks, 2000
DelayMS 20
Next
HRSOut " rijden " , 13 , 10 ,
Return

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IR controle;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
controle:

If IRrechts = 1 Then gezien = 0
If IRrechts = 0 Then gezien = 1
If IRlinks = 1 Then gezien = 0
If IRlinks = 0 Then gezien = 1
Else gezien = 0
HRSOut " IR-check " , 13 , 10 ,
EndIf 
Return

DIM gezien als BIT (moet dat niet AS zijn?)

en

SYMBOL Servo-ir = PORTA.4
Servo-ir wordt gezien als Servo - ir (Servo min ir)

en

HRSOut " IR-check " , 13 , 10 ,
Waar is die laatste komma voor?

oke, weer wat geleerd!


Device 16F628A
Config WDT_OFF, PWRTE_ON, LVP_off, MCLRE_OFF, HS_OSC
XTAL 20                 
ALL_DIGITAL TRUE              
PORTB_PULLUPS = On    

HSERIAL_BAUD = 9600
HSERIAL_RCSTA = %10010000
HSERIAL_TXSTA = %00100000
HSERIAL_CLEAR = On

Symbol IRlinks = PORTA.3  
Symbol IRrechts = PORTA.4
Symbol Servolinks = PORTB.6  
Symbol Servorechts = PORTB.5 
Symbol led = PORTA.2
Symbol servoir = PORTA.4 

Dim gezien As Bit
Dim Teller As Byte 
Declare CCP1_PIN = PORTB.7 ; moet nog nagekeken worden
HPWM 1, 127, 33000   
;;;;;;;;;;;;;;;;;;;;;;;;;;;;hoofpogramma;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Hoofdprogramma:

For Teller = 125 To 200 Step 6            ; van midden naar links
Servo servoir, 1000 + Teller
DelayMS 20
Next
HRSOut " kijken links " , 13 , 10 ,
GoSub controle
If gezien = 1 Then
 If Teller > 90 And Teller < 160 Then     ; 90 160
  GoTo achteruit
 Else 
  GoTo draaien
 End If 
End If
Next

For Teller = 200 To 50 Step - 6;  170 to 80   ; van links naar rechts
Servo servoir, 1000 + Teller 
DelayMS 20
Next
HRSOut " kijken rechts " , 13 , 10 ,
GoSub controle
If gezien = 1 Then
 If Teller > 90 And Teller < 160 Then 
  GoTo achteruit 
 Else 
  GoTo draaien
 End If
End If
Next
    
For Teller = 50 To 124 Step 6                 ; van rechts naar midden
Servo servoir, 1000 + Teller 
DelayMS 20
Next
HRSOut " kijken midden " , 13 , 10 , 
GoSub controle
If gezien = 1 Then
 If Teller > 100 And Teller < 150 Then 
  GoTo achteruit 
 Else 
  GoTo draaien
 End If
End If
Next

GoTo rijden

Wend
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;bewegen;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
achteruit:

Teller=0
For Teller = 0 To 90
Servo Servolinks, 700
Servo Servorechts, 700
DelayMS 20
Next
HRSOut " achteruit met draai " , 13 , 10 ,
Next

Teller = 0
For Teller = 0 To 90
Servo Servolinks, 2000
Servo Servorechts, 700
DelayMS 20
Next
HRSOut " draaien " , 13 , 10 , 
Next

GoTo Hoofdprogramma 

draaien:

Teller = 0
For Teller = 0 To 90
Servo Servorechts, 2000
Servo Servolinks, 700
DelayMS 20
Next
HRSOut " draaien " , 13 , 10 ,
Next

GoTo Hoofdprogramma

rijden:

Teller = 0
For Teller = 0 To 90 Step 2
Servo Servorechts, 2000
Servo Servolinks, 2000
DelayMS 20
Next
HRSOut " rijden " , 13 , 10 ,
Return

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IR controle;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
controle:

If IRrechts = 1 Then gezien = 0
If IRrechts = 0 Then gezien = 1
If IRlinks = 1 Then gezien = 0
If IRlinks = 0 Then gezien = 1
Else gezien = 0
HRSOut " IR-check " , 13 , 10 ,
EndIf 
Return

Beter??

HPWM 1, 127, 33000
Frequentie mag liggen tussen 0 ... 32767

en

HRSOut " IR-check " , 13 , 10 ,
Waar is die laatste komma voor?

(Ik kijk nu niet meer verder, m'n bad is vol, ik ga in bad :) )
Morgen verder...

foutcode regel 38

HRSOut " kijken links " , 13 , 10 ,
GoSub controle
If gezien = 1 Then
If Teller > 90 And Teller < 160 Then ; 90 160
GoTo achteruit
Else
GoTo draaien
End If
End If
Next------------------------------------

For Teller = 200 To 50 Step - 6; 170 to 80 ; van links naar rechts
Servo servoir, 1000 + Teller

Groetjes lowa1

oke, bedankt alvast, veel plezier, ma die 33000 werkt wel heb ik al meer gebruikt(ook eens ergens gezien).
Grt,Robert.

Werkt het ook zonder die 'next' want anders kan je ze gewoon weghalen.
Grt,Robert.

[Bericht gewijzigd door elektro robert op (58%)]

Ik wil je best helpen
maar de fouten moet je er wel zelf uithalen.

Groetjes Lowa1

Als je hem invult, geeft hij dan nog fouten?
Grt, Robert.

Hoi robert

next regel 38 verwijdert

volgende foutcode

next regel 53

--------------------------------
next regel 53 verwijdert

volgende foutcode

next regel 68
-------------------------------

Groetjes Lowa1

ja klopt de 'next' moet weg, ma dat waren toch alle fouten?
Grt,Robert.

wend line 72 foutcode

Else gezien = 0 line 173 foutcode

Groetjes Lowa1

ow men, sorry voor al die fouten, doe het nog niet zolang en dit is mijn eerste grote programma, ma k snap nie wrom dat allemaal fout is?
Grt,Robert.

Hoi Robert

Ieder begin is lastig.

Je moet gewoon ieder stukje even apart testen in Proton
lite versie.

dan leer je het meest.

Ik hoor het wel als je eruit bent.

Groetjes Lowa1

[Bericht gewijzigd door lowa1 op (11%)]

Kun je anders even zeggen welke fout meldingen hij allemaal geeft?
Grt,Robert.

Hoi Robert

Wend regel 72

Misplaced or incorrect `WEND` Also check its corresponding WHILE Command

Wend weggelaten.

Else gezien = 0 regel 123

Misplaced or Incorrect `ELSE`Also chech its corresponding IF Comand

Aangepast naar.

controle:
If IRrechts = 1 Then gezien = 0
If IRrechts = 0 Then gezien = 1
If IRlinks = 1 Then gezien = 0
If IRlinks = 0 Then
gezien = 1
Else gezien = 0
HRSOut " IR-check " , 13 , 10 ,
EndIf
Return

Na aanpassen geen foutcode

:1000000096280C1E0128990003149128AC004B304F
:10001000A3004C30A4005F2003191210031D12141A
:10002000FC3E031C9210031892144030A3004B3086
:10003000A4004C30A700A80112183C2092183C20C4
:10004000612023038316920083122308A50024084D
:10005000A6002208A900AA00220FAA017B202808D6
:1000600095000C309700A71B9716271B17168316B1
:1000700086138312121591283D200310A70CA40C9F
:10008000A30C0800A601A500FF30A507031CA607C6
:10009000031C91280330A400E73050204428A40119
:1000A000FC3EA300A409031C5B28FF300000A3074B
:1000B00003185628A3070000A40F55280800A8011C
:1000C000A7011030A900240DA70DA80D2508A7022F
:1000D0002608031C260FA802031875282508A70761
:1000E00026080318260FA8070310A30DA40DA90BBB
:1000F0006328230891281030AD00A401A301AA0CA5
:10010000A90C031C89282508A30726080318260F15
:10011000A407A40CA30CA80CA70CAD0B7F282708E0
:1001200091288313831203130000080083162030E4
:10013000990020309800831290309800A001073079
:100140009F00831681137F308312A2008030A600A7
:10015000E830A500013006207D30B000C930300203
:100160000318C6288316051283120516E8303007D7
:10017000A30003300318013EA400230850200512F9
:10018000143042200630B007031CAE282030012076
:100190006B300120693001206A3001206B30012072
:1001A000653001206E300120203001206C300120AC
:1001B000693001206E3001206B3001207330012046
:1001C000203001200D3001200A3001207D222F1C1B
:1001D000FA285B303002030103180130AE00A03072
:1001E00030020130031803012E050319F9289A295A
:1001F000FA28172AC830B00032303002031C142904
:100200008316051283120516E8303007A300033069
:100210000318013EA4002308502005121430422088
:100220000630B0020318FC28203001206B3001207A
:10023000693001206A3001206B30012065300120D7
:100240006E30012020300120723001206530012005
:1002500063300120683001207430012073300120A8
:10026000203001200D3001200A3001207D222F1C7A
:100270004A295B303002030103180130AE00A03080
:1002800030020130031803012E05031949299A2968
:100290004A29172A3230B0007D3030020318642911
:1002A0008316051283120516E8303007A3000330C9
:1002B0000318013EA40023085020051214304220E8
:1002C0000630B007031C4C29203001206B30012080
:1002D000693001206A3001206B3001206530012037
:1002E0006E300120203001206D3001206930012066
:1002F000643001200120653001206E300120203063
:1003000001200D3001200A3001207D222F1C992967
:1003100065303002030103180130AE009630300220
:100320000130031803012E05031998299A299929E8
:10033000172A4A2AB001B0015B3030020318B729EE
:1003400083160613831206170230A400BC30502017
:10035000061383168612831286160230A400BC3060
:100360005020861214304220B00A031D9C292030F0
:100370000120613001206330012068300120743099
:100380000120653001207230012075300120693074
:10039000012074300120203001206D3001206530B3
:1003A000012074300120203001206430012072309F
:1003B000012061300120012069300120203001201E
:1003C0000D3001200A300120B001B0015B30300255
:1003D0000318012A83160613831206170730A40098
:1003E000D0305020061383168612831286160230F0
:1003F000A400BC305020861214304220B00A031DE5
:10040000E629203001206430012072300120613063
:100410000120012069300120653001206E3001206B
:10042000203001200D3001200A300120AC28B0011D
:10043000B0015B3030020318342A8316861283120F
:1004400086160730A400D03050208612831606137B
:10045000831206170230A400BC305020061314305B
:100460004220B00A031D192A2030012064300120E7
:100470007230012061300120012069300120653097
:1004800001206E300120203001200D3001200A3083
:100490000120AC28B001B0015B3030020318682A9B
:1004A00083168612831286160730A400D03050209F
:1004B000861283160613831206170730A400D03065
:1004C00050200613143042200230B007031C4C2A7F
:1004D0002030012072300120693001206A30012073
:1004E00064300120653001206E3001202030012071
:1004F0000D3001200A3001200800051E802A2F102F
:10050000051A832A2F14851D862A2F1085198A2AF9
:100510002F14A32A2F1020300120493001205230FF
:1005200001202D300120633001206830012065302A
:100530000120633001206B300120203001200D307C
:0805400001200A30012008002F
:02400E00423F2F
:00000001FF

Groetjes Lowa1

Heel erg bedankt voor de moeite, ga nu even proberen!
Grt, Robert.