I’ve been playing with my rover today, and wrote a new program, sent it to the rover, tested it, and needed to make a small tweek (it was turing like 105 degrees instead of 90)
So, I modified the timer, hit program and after tokenizing the first bar hit 100% and a message popped up… “connection lost to atom: Verify Load” followed to a couple hexidecimal characters a bracket and a few more. now I can’t seem to get any program onto the basic. Any idea what may have caused this? I just moved and i noticed one of the pins for led “A” on the bot board was slightly bent, but otherwise the board looks fine. The old program still runs perfectly.
Is this a bot board issue, stamp issue, or computer issue? Thanks!
I should note that I’m using a serial cable, not a usb converter if that could be the source of error- i haven’t touched the settings at all cause so far I haven’t needed to, been a few months with no problems.
now this is weird… Reinstalling fixed that problem (Thanks!) But when I turned the rover on with its new program, the rear range finder seemed locked on. I restarted it, and couldn’t get the rear sensor to pick up at all.
On top of that, the wheels turned forward on start like they should, but did not turn after several seconds as they used to. So I re-input the “Test Program” where button pushes make the wheels turn… and no go. the wheels now start stopped, and will not start. do I have a damaged atom maybe?
Most likely not. I found it pretty hard to damage mine.
Maybe you could post the code that you are having problems with? hopefully someone else will chime in to help me out here.
the one program is the test program that was just copied off of the autonomous rover assembly guide. I got a wierd squawk once or twice and a tire started spinning, and it beeps on start up, so the program is working, just no go on the buttons. then i copied the autonomous program off of the site. There I went to terminal one and set it to the baud rate, it shows that only one of the 3 sensors reacts when i move my hand near it. The program I’m working on follows
'controlled motion
'take commands such as "forward(10)" and go foreward 10 feet. or "turnright(90)"
'actually, set distance then call direction ....stupid but i don't know a better way
'variables
left_speed var word
right_speed var word
distance var byte 'in feet, 100 tops
angle var word 'in degrees, 90 etc
iterations var word 'a number, angle/10 or distance / 100?
temp var byte
filter var word(10)
ir_rear var word
stopflag var bit
'start as stopped
low p0
low p1
left_speed = 3000 'stopped speed
right_speed = 3000
main
distance = 10
gosub foreward
angle = 90
gosub turnright
angle = 45
gosub turnleft
gosub turnright
angle = 90
gosub turnleft
gosub foreward
return
foreward:
if stopflag = 0 then
left_speed = 2500
right_speed = 2500
pulsout 0, left_speed
pulsout 1, right_speed
endif
do
gosub sensorcheck
pause 100
iterations=iterations + 1
while (iterations <= distance*4)
return
stopped:
left_speed = 3000
right_speed = 3000
pulsout 0, left_speed
pulsout 1, right_speed
return
turnright:
if stopflag = 0 then
left_speed = 3500
right_speed = 2500
pulsout 0, left_speed
pulsout 1, right_speed
endif
do
gosub sensorcheck
pause (90)
iterations= iterations + 1
while (iterations <= angle / 10)
return
turnleft:
if stopflag = 0 then
left_speed = 2500
right_speed = 3500
pulsout 0, left_speed
pulsout 1, right_speed
endif
do
gosub sensorcheck
pause (90)
iterations= iterations + 1
while (iterations <= angle / 10)
return
sensorcheck:
for temp = 0 to 9
adin 19, filter(temp)
next
ir_rear = 0
for temp = 0 to 9
ir_rear = ir_rear + filter(temp)
next
ir_rear = ir_rear / 85
if (ir_rear > 30) then
sound 9, [100\880, 100\988, 100\1046, 100\1175]
stopflag = 1
gosub stopped
endif
return
I know there are fatal flaws in the program, I just started debugging but yeah, if you’ve got any ideas let me know. I’m going to try again tomorrow and see if it keeps acting up. I’m also going to try to set it up on a bread board to see if its the bot board that’s off. I’ll keep you updated. Thanks again!
I just found this… “My once working program stopped responding to A/D Inputs” (or something along those lines sorry for the misquote) so I’ll try another install tomorrow and start from scratch. Yay for potentially not being broken!
Now I’m really really confused. I decided to go back to square one and try to get the standard autonomous working after a re-install.
sensors seems to be working kinda… except that sensor left reads as sensor left, sensor rear reads as sensor right, and sensor right doesn’t read anything other than 40.
so I changed the wires around (swapped right and rear on the bot board) and got the front sensors working, though one the program says reads from a pin 18 and is actually reading from pin 19 and the rear sensor is off) but it no longer turns, cause it always thinks there’s something immediately behind it. I cut that chunk of code out so now it just doesn’t really speed up. Any ideas at all? I still can’t get the test program to run with the push buttons. I checked the wiring and the sabertooth settings, the batteries are charged. do i move on to a bread board or what? get some flashing led’s maybe?
the ide is the basic stamp pro 8.0.1.7 I think… I just downloaded it off of their website. I’ll get pictures tonight or in the morning. I’m also going to run a very simple program to test the sensors and pins one at a time to try to help track the problem. I don’t think it’s just me… but I’ve Screwed simple stuff up impressively before, we shall see.
Almost Success! I reinstalled the IDE (again) and ran this program, changing the pin adin from 19 to 18 and 17 and sure enough this time all three sensors are working, (jumpered to an LED) so i tried the autonomous program…and it runs…but slowly enough that it crashes into everything, then slows down and tries to avoid, and takes forever to build up speed, which I don’t remeber from before…I dunno, more playing tomorrow. Maybe cause it was dark in the room? I may have also got the sensors backwards in all my playing. I’m back to where i was 3 days ago at least! Turns out everything so far was software based. Haven’t tried the push buttons yet either to see if they’re up and running.
[code]
'Pin 4 A Button.
'Pin 5 B Button.
'Pin 6 C Button.
'p17 = left
'p18 = right
'p19 = rear
temp var byte
filter var word(10)
ir_rear var word
mid con p10
for temp = 0 to 9
adin 19, filter(temp)
next
ir_rear = 0
for temp = 0 to 9
ir_rear = ir_rear + filter(temp)
next