Light Control Robot - and now finally finished with Movie 1

Hallo everyone,

I present you my edition fire fighting and light follower robot. This is my third robot with Picaxe 28x1 and my costliest robot.I used:

- One motor for my blower (14000U-1). He needs more than 3 A.

- Two gear motors RB-35; 50:1; 12V,

- One accumulator 12V; 1,2Ah,

- Four LDR

- One SRF05 (currently not used)


- Two 28-pin Project Boards and (one of them destroyed)

- Two microcontrollers Picaxe 28 (one of them destroyed)

I used for gear motors one l298 H-bridges.

For the control of my blower took I ULN2803A, but the Collector Current only 500mA was, were Picaxe, ULN2803A and project board destroyed (Therefore costliest). ULN2803A is ok, but why Picaxe and project board???

Now I used for the blower one PNP Transistor BD250C (Collector Current 10A).

Movement:
  1. Fire fighting - see a film 1 and film 3
  2. Light follower - see a film 2 and film 3

Fire fighting and light follower

  • Actuators / output devices: two geared motors 1:50 RB-35
  • Control method: Flashlight and candles
  • CPU: Picaxe 28x1
  • Power source: 2Ah, 12V 1
  • Programming language: Basic
  • Sensors / input devices: 4xLDR and SRF05 Ultra Sound

This is a companion discussion topic for the original entry at https://community.robotshop.com/robots/show/light-control-robot-and-now-finally-finished-with-movie-1

Wow
That is pretty cool. I was going to try a hovercraft, but I like the blower + driven wheels.

nice work.
I like the wind candle fighting. :slight_smile:

Hey, can I see the code for
Hey, can I see the code for light following? Thanks. :slight_smile:

which part?

which part?

Part one -fire fighting or / and

Part two -light follower or / and

Part three - light follower with PWM and fire fighting


The light following code,
The light following (part 2) code, only if its not too much trouble though. :slight_smile:

Light following

symbol pause1 = 50
symbol pause2 = 20

as:
let pins = %00000000
readadc10 1,w1
debug w1
if w1 > 900 then goto start
goto as

start:
readadc10 1,w1
readadc10 4,w4
if w1 >= w4 then goto forward1
if w4 > w1 then goto backward1

forward1:
readadc10 1,w1
readadc10 2,w2
readadc10 3,w3
readadc10 4,w4
let w5 = w4 - 100
if w5 > w1 then goto backward1
if w1 > 1200 then goto stopp
if w1 > w2 and w1> w3 then goto forward2
if w2 > w3 then goto leftforward
if w3 > w2 then goto rightforward
goto forward1

leftforward:
let pins = %00000100
pause pause1
goto forward1

rightforward:
let pins = %00010000
pause pause1
goto forward1

forward2:
let pins = %00010100
pause pause1
goto forward1

backward1:
readadc10 1,w1
readadc10 2,w2
readadc10 3,w3
readadc10 4,w4
let w7 = w1 - 100
if w7 > w4 then goto forward1
if w4 > 1200 then goto as
if w4 > w2 and w4 > w3 then goto backward2
if w2 > w3 then goto leftbackward
if w3 > w2 then goto rightbackward
goto backward1

leftbackward:
let pins = %00001000
pause pause1
goto backward1

rightbackward:
let pins = %00100000
pause pause1
goto backward1

backward2:
let pins = %00101000
pause pause1
goto backward1

stopp:
let pins = %00000000
readadc10 4,w4
if w4 > 900 then goto as
goto stopp


Thanks a lot! I love seeing
Thanks a lot! I love seeing the code that makes it work.