' some crude autonomous vehicle software ' 'hardware is picaxe 18A 'L293D motor driver connected to outputs 0,1, and 2,3 '2 mini robot motors ' 'LED between pins 4 and 5 'define pinouts symbol motor1A=0 'left motor symbol motor1B=1 symbol motor2A=3 'right motor symbol motor2B=2 symbol LED1A=4 'LED across these pins for now symbol LED1B=5 'define variables symbol commandb=b0 symbol tmp1b=b1 symbol execloop=b2 'execution loop counter 'define constants symbol leddly=250 symbol motorOnDly=400 'delay while motors are on symbol motorOffDly=100 'dealy while motors are off symbol motorPWMloop=1 'numer of loops for crude motor PWM symbol actionDly=2000 'delay between actions init: gosub m1m2off gosub flashled 'let user know we're alive pause 6000 start: pause 3000 'wait a bit gosub flashled 'indicate command for execloop=0 to motorPWMloop 'comment out the following line and the LED blinks correctly!?!? 'leave it in and LED blinks twice repeatedly on commandb gosub m1fwd, m1rev, m2fwd, m2rev, m1m2fwd, m1m2rev, m1m2lt, m1m2rt pause motorOnDly 'wait abit gosub m1m2off pause motorOffDly 'wait abit next execloop commandb=commandb+1 commandb=commandb%8 goto start m1fwd: high motor1A low motor1B return m1rev: low motor1A high motor1B return m2fwd: high motor2A low motor2B return m2rev: low motor2A high motor2B return m1m2fwd: high motor1A low motor1B high motor2A low motor2B return m1m2rev: low motor1A high motor1B low motor2A high motor2B return m1m2lt: high motor1A low motor1B low motor2A high motor2B return m1m2rt: low motor1A high motor1B high motor2A low motor2B return m1m2off: low motor1A low motor1B low motor2A low motor2B return led1on: high LED1A low LED1B return led1off: low LED1A low LED1B return flashled: for tmp1b=0 to commandb gosub led1on pause leddly gosub led1off pause leddly next tmp1b return