Hi, I did manage to add the other motor, right now I made as a line tracker robot . Not very well on the curves yet and a little slow..hope you can look onto my codes and might able to improve the performance..
Name:  LineFollower1.png
Views: 2644
Size:  751.7 KB
Code:
DEFINE osc 4         
ANSEL = %00000111 ' Make AN0-AN7 Analog
ANSELH= %00000000 ' Make AN8-AN13 digital

TRISA  = %00111111
ADCON1 = %00001001 
TRISC = 0
TRISD = 0
TRISB = 0

;-------------Variables
senCenter var byte
senRight  var byte
senLeft   var byte 

i var word
i = 0
PORTD.0 = 1 ' In1 
PORTD.1 = 0 ' In2
PORTB.0 = 1 ' In3 
PORTB.1 = 0 ' In4

; PORTC.4 PWM Signal  

loop1:
   Adcin 0, senCenter
   Adcin 1, senRight
   Adcin 2, senLeft
   ;Serout2 PORTD.2, 84, [$1B,$45,Dec senCenter," ", DEc senRight," ",Dec senLeft]
   ;------------------------Select options seen by the sensors
   IF senCenter > 150 and senRight > 150  then 
       Gosub movExtRight
    Endif
   
   IF senCenter > 150 and senLeft > 150  then 
       Gosub movExtLeft
    Endif
   
    IF senCenter > 150 then 
       ;Serout2 PORTD.2, 84, [$1B,$45]       
       ;Serout2 PORTD.2, 84, [$D,"     Center"]
       gosub movForward
    Endif
    IF senRight > 150 then        
       ;Serout2 PORTD.2, 84, [$1B,$45]
       ;Serout2 PORTD.2, 84, [$D,"Rigth"]
       gosub movRight
    Endif
    IF senLeft > 150 then        
       ;Serout2 PORTD.2, 84, [$1B,$45] 
       ;Serout2 PORTD.2, 84, [$D,"           Left"]
       gosub movLeft
    Endif
   ;------------------------
   
   ;gosub movForward

 
GOTO loop1               ' Do it forever

    END

movForward: '  forward
PORTD.0 = 1 ' In1 
PORTD.1 = 0 ' In2
PORTB.0 = 1 ' In3 
PORTB.1 = 0 ' In4
PWM PORTC.4 ,200,10 
PWM PORTC.5 ,200,10
return

movExtRight: ' turn more to the right
PWM PORTC.4 ,50,10 
PWM PORTC.5 ,200,10
return

movRight: '  short right
PWM PORTC.4 ,100,10 
PWM PORTC.5 ,200,10
return

movLeft: '   short left
PWM PORTC.4 ,200,10 
PWM PORTC.5 ,100,10
return

movExtLeft: ' turn more to the left
PWM PORTC.4 ,200,10 
PWM PORTC.5 ,50,10
return

senLost: ' Getback no line detected
PORTD.0 = 0 ' In1 
PORTD.1 = 1 ' In2
PORTB.0 = 0 ' In3 
PORTB.1 = 1 ' In4
PWM PORTC.4 ,200,5 
PWM PORTC.5 ,200,5
pause 50
return
Thanks in advance,
tacbanon