
the code is quite raw at the moment but it is working main code on the 28x2
Code:
' simple serial Tx test
'wriiten by jinx 2014
'rev 1.0.0
'############ Directive ###############
#com 7
#picaxe 28x2
#no_data
#no_table
#terminal 9600
'######### CONSTANTS ##################
symbol toSD =c.6
symbol fromSD=c.7
symbol delay = 5000
symbol junk =w0
symbol S_pos = b3
'4= front right, 3= left front
init: ' 1/2/3 /4
let dirsb = %11111111
pause 10
let pinsb = %00000000
main:
' let S_pos = 2
' gosub senddata
' pause 10
' let pinsb = %00000000
' pause 1000
' let pinsb = %01101001
pause 10
gosub slidergtfwd
pause 1000
gosub slidelftback
pause 1000
gosub spinLFT
pause 5000
gosub spinRGT
pause 5000
gosub FWD
pause 1000
gosub BCK
pause 1000
' gosub RGT
'pause delay
goto main
senddata:
high toSD,1
pulsin fromSD, 1, junk
low toSD
serout toSD,n2400_8, (S_pos)
' sertxd ("sent",#S_pos, cr, lf)
return
fwd:
let S_pos = 1
gosub senddata
pause 100
let pinsb = %00000000
pause 10
let pinsb = %10101010
pause 10
return
BCK:
let S_pos = 1
gosub senddata
pause 20
let pinsb = %00000000
pause 10
let pinsb = %01010101
return
RGT:
let S_pos = 2 'done
gosub senddata
pause 20
let pinsb = %00000000
pause 10
let pinsb = %01101001
return
LFT:
let S_pos = 2 'done
gosub senddata
pause 20
let pinsb = %00000000
pause 10
let pinsb = %10010110
return
slidergtfwd:
let S_pos = 3
gosub senddata
pause 20
let pinsb = %00000000
pause 10
let pinsb = %01010101
return
slidelftback:
let S_pos = 3
gosub senddata
pause 20
let pinsb = %00000000
pause 10
let pinsb = %10101010
return
slideLFT:
let S_pos = 4
gosub senddata
pause 100
return
spinLFT:
let S_pos = 5
gosub senddata
pause 100
let pinsb = %00000000
pause 10
let pinsb = %10011001
pause 10 'both forward
return
spinRGT:
let S_pos = 5
gosub senddata
pause 100
let pinsb = %00000000
pause 10
let pinsb = %01100110
pause 10 'both forward
return
Code:
' simple serial test
' reciever
' written by jinx 2014
' rev 0,0,1
'######## Directive #################
#com 7
#picaxe 14m2
#no_data
#terminal 4800
'######## constants ##################
symbol fromMP = c.3 'connect to c.6 on the 28x2
symbol toMP = c.4 'connect to c.7 on the 28x2
symbol front_R = b.5
symbol front_L = b.4
symbol back_L = b.3
symbol back_R = b.2
'######## Variables ##################
symbol S_pos = w0
symbol SDflag = pinc.3
'##############################################
init:
dirsc = %110111
low toMP
servo front_R,120
pause 20
servo front_L,162
pause 20
servo back_L,125
pause 20
servo back_R,175
pause 20
'########### MAIN CODE ########################
main:
do
if SDflag = 1 then gosub getdata
pause 100 '
' pause 20
' servo front_L,162
' pause 20
' servo back_L,125
' pause 20
' servo back_R,175
' pause 1000
' servo front_R,80
' pause 20
' servo front_L,120
' pause 20
' servo back_L,78
' pause 20
' servo back_R,130
' pause 20
' pause 2000
'pause 20
' pause 1000
'gosub fwd
'pause 1000
'gosub side
'pause 1000
'gosub slideLFT
'pause 1000
'gosub slideRGT
'pause 1000
'gosub spin
'pause 1000
loop
'######### SUBROUTINES ########################
getdata:
pulsout toMP,5
serin fromMP,n2400_4,S_pos
' sertxd ("recieved ",#S_pos,cr,lf)
select case S_pos
case 1
gosub fwd
case 2
gosub side
case 3
gosub slideLFT
case 4
gosub slideRGT
case 5
gosub spin
end select
return
fwd:
' sertxd ("forward ",cr,lf)
servo front_R,120 '
pause 20
servo front_L,162
pause 20
servo back_L,125
pause 20
servo back_R,175
pause 20
return
side:
' sertxd ("sidewards ",cr,lf)
servopos front_R,210 ' sets the wheel for
pause 20
servopos back_R,90
pause 20
servopos front_L,75 'either left or right
pause 20
servopos back_L,215
pause 20
return
slideLFT:
servo front_R,170
pause 20
servo front_L,210
pause 20
servo back_L,170
pause 20
servo back_R,220
pause 20
return
slideRGT:
servo front_R,80
pause 20
servo front_L,120
pause 20
servo back_L,78
pause 20
servo back_R,130
pause 20
return
spin:
servo front_R,170
pause 20
servo front_L,130
pause 20
servo back_L,170
pause 20
servo back_R,133
pause 20
return
sort test for wireless control using keyboard and erf https://www.youtube.com/watch?v=vWubjH-r9ks&feature=youtu.be https://www.youtube.com/watch?v=yzwOdP-ZN40&feature=youtu.be
Last edited: