Showing posts with label Arduino. Show all posts
Showing posts with label Arduino. Show all posts

Friday, 6 July 2012

Auto Tank - Ver 2

As I have planned before, finally I got some time to work with the tank and it looks much better now. See the video below. And yes I managed to break the tread!

My first plan was to make alternate left and right turn. But I after making a program for that I have realised turning left and right alternately will only get the tank stuck in some corner failing to get out of the trap. So I had to adopt a different strategy for fixed IR sensor control. I am just writing the logic below.
  1. Power on
  2. Move forward crazy(full speed).
    1. speed depends the distance to the obstacle
    2. speed reduces to zero as it reaches towards the obstacle
  3. Once the gap in front has reduced to 8 cm(approx), stop and have a think about which way to turn
  4. Turn left or right - Turning right has a probability of 9/10 and turn left has a probability of 1/10.
  5. Once the decision has made on which direction to turn  keep turning until the gap in front increases more than 8cm(approx).
  6. move forward
  7. got to step 2
The decision making with the more probability to turn right has been done using a random function as shown in below pseudo code.


        int t=random(1,11);   // randomly gets a value between 1 and 10, random() is an Arduino function
        if(t==1)  
        {
         Turn right
         }
        else
        {
        Turn left
         }

And from the previous version I have removed all the pause timings to make it more smooth-smooth. previously the minimum gap to brake was less than 8 cm. Increasing this minimum gap reduced the tank running into things and made the sensor more safe from collisions.

Now, these are my future improvement plans for this.

  1. Move the motor controller from the bread board into a PCB.
  2. Use a common 9V rechargeable battery for both Arduino and the motors. Currently Arduino runs with 9V PP3 battery and the motors on 4.8 V rechargeable battery pack.


Wednesday, 13 June 2012

AutoTank - Ver 1

After few weeks of playing with LEDs, waiting for the parts and a 'massive' man flu I have put things together on the tank and made a tank robot. What this tank does is go forward at full throttle, when it detects some obstacles in front turn left.

AutoTank V1.1 - Parts list

  1. Sharp IR sensor - GP2Y0A41SK0F
  2. 2 x DC motors(came with the tank toy)
  3. 1 motor driver - SN754410 Quadruple half H driver
  4. The brain - Arduino UNO R3
  5. One 9V(PP3) battery to power the Arduino
  6. 4 x NiMH cells to give 4.8V - for the motor driver power
  7. An SPDT switch (SPST was enough for this application but I didn't have any!)
  8. And lots of insulation tape to keep things together - proper engineering
AutoTank on test run
Yes, as I said before this turns in only one direction and there is no bump sensor. IR sensor is a range sensor so it is used to control the speed depending on the distance from the obstacle(not to a great deal) with dead stop distance.

Planned improvements for next version
  1. Make alternate left and right turn
  2. Protect the front IR sensor from colliding into things
  3. Use a bigger range of speed control on straight control
There are a lot of hardware improvements required(software too) but I don't want to try to do too much in one go and I got to wait for the hardware parts anyway(not even ordered yet).




Saturday, 19 May 2012

Light sensitive LED string - Using an LDR

This is a simple circuit demonstrating the use of analogue pins to read sensor data and calculate output according to it. I found the basic code and instructions from the Arduino learning site. I am using an LDR (Light dependant resistor) to detect the level of surrounding light and show that using an array of LEDs.
If the room is dark all the 5 LEDs will light up with a moving pattern. If the room is well lit all the LEDs will go off. In the video below there wasn't enough light in the room to turn all the LEDs off! probably on direct sunlight they will all go off.
There is not only full bright and complete dark, light level has been measured and shown on scale of 0-5. No LEDs(0) for full bright light and 5 LEDs for complete darknessnesssssssss!!!

See the video below.


I am working on the schematic of this. Will update soon once i finish drawing this up.

Shopping list - to start making your robot

Here is a list of basic things and some extra bits that I think essential to make a simple robot. I know it depends on how you define the simple robot but I am making this list keeping my tank robot in mind!

  1. Bread board 
  2. Wires - those ones you can directly push into the bread board are great! 
  3. Resistors 
  4. Capacitors 
  5. LEDs - at least one 
  6. A soldering kit 
  7. A digital multimeter 
  8. A computer 
  9. A programmer to compile and burn your program to the microcontroller 
  10. Microcontroller - For a beginner I think buying a microcontroller kit is the best idea - like Arduino, or biotrics cerebellum. 
  11. Motors - dc or stepper or servo 
  12. Sensors - I will be using an IR range sensor 
  13. Buy some old second hand toys so you can build your robot frame from it. I have been to couple of car boot sales and got enough metal frames and wheels and all sorts of stuff.


Some good shopping websites - for UK
  • http://www.phenoptix.com - They are specialised in LEDs, but I got my Arduino for a very good deal from there.
  • http://www.bitsbox.co.uk/ - Very small company but good number of components and deals, I bought an electronics kit and a Sharp IR range finder from there. Best deal I found on internet.