The Mystique: Robotics
Showing posts with label Robotics. Show all posts

What is Arduino?


Arduino. Chances are that you’ve heard this name before or maybe if you have an interest in electronics you even own one. But if you have no idea what Arduino is or if it’s the first time you’ve stumbled across this name then read on! This article is especially for you!

Well, it all began in 2005 when a group of Italian researchers were trying to figure out a way to teach electronics to students within a short span of time. They decided that this device will have all the basics of a microcontroller. A processor, a memory, input and output pins and also a power supply but they wanted this to be faster than a microcontroller, easier to use and understand and also cost less.  This is how the Arduino family took birth with the first prototype being released in 2005. As of today, atleast 3,00,000 Arduino Boards have been sold worldwide by AdaFruit (the company that makes them)

This is how a basic Arduino board looks like


WHAT CAN YOU DO WITH IT?

To be honest there are at least ten thousand different things which Arduino is capable of doing. From blinking LEDs to designing Automated Robots, with the right programming, an Arduino can do anything you want it to. The sky is your limit.  All thanks to the huge variety of sensors it has onboard a wide range of applications are made possible with the Arduino. From temperature controlled circuits to circuits that react to gestures, anything is possible.


For example, this 8x8x8 LED cube
   
Or this tree climbing robot

                                              
Or this Automated car-robot


What makes Arduino so popular?

As stated earlier Arduino has a processor, a memory and all the other things a basic low-level computer has. In addition to all this, it has a set of input/output pins and a USB port. The reason for Arduino’s popularity is due to the fact that unlike microcontrollers which work on assembly level and BASIC like languages they can be programmed with languages like C, C++ and JAVA. Unarguably, the three most well-known programming languages in the world today.
The IDE required for programming Arduino is based on the Processing and Wiring projects developed at MIT. These are open-source projects which means that anybody can contribute to them and they are free to download. And also, they are very easy to understand.  Programming in Arduino can give you a rough idea of how Embedded technology works and also introduce you to a little bit of Robotics.  But ultimately, it is the ease with which anyone can learn to use it which makes Arduino so popular.

How long will it take for me to learn how to use an Arduino?

The answer depends on how much of programming you know and how good your basics of electronics are. If you are good enough with C/C++ and basic elements of programming like loops, conditional statements (if, if-else etc) and a few basic syntax rules then programming an Arduino will be a breeze. However, one also needs to have good basics in electronic as often Arduino will have to be connected to other devices. Like motors, sensors, light-bulbs etc and this ‘how to connect’ part requires you to know a few basics of electrical circuits and properties of elements like transistors, driver-ICs etc. But don’t worry, with the right amount of interest you can start blinking LEDs from day-1. There are many tutorials on Youtube which teach you everything about the Arduino.
Btw, this is how an LED blinking program looks like
#define LED_PIN 13

void setup() {
    pinMode(LED_PIN, OUTPUT);       // Enable pin 13 for digital output
}

void loop() {
    digitalWrite(LED_PIN, HIGH);    // Turn on the LED
    delay(1000);                    // Wait one second (1000 milliseconds)
    digitalWrite(LED_PIN, LOW);     // Turn off the LED
    delay(1000);                    // Wait one second
}


Hope this article gives you a fair idea of what an Arduino board is and what it does!

How to Program AVR Microcontrollers?



In this post I will be dealing with the coding of micro controllers. For coding we are going to use embedded C language. We should write our program in "avr studio". You can download it from it's official site and it is free. For the users whose RAM is slow, you can use "winavr" .
download avr studio here

KNOW  YOUR DEVICE

 Depending on your micro controller you may have different kinds of ports which are major input and output pins. The input pins sends analog signals to the micro controller and the output pins gets the analog signals from the micro controller. For example if i consider ATMEGA 8, it has 3 ports namely B,C and D.
We know that the memory is stored registers. Here there are different kinds of registers.
  
This diagram represents the port control registers . Now i will explain the usage of these ports in the program.  

Introduction to Programmable Robots

The main component in these kinds of robots is a micro controller which is the heart of the robot.micro controller  is a small computer on a single integrated circuit containing a processor core, memory, and programmable input/output peripherals. Program memory in the form of NOR flash or OTP ROM is also often included on chip, as well as a typically small amount of RAM. Micro controllers are designed for embedded applications, in contrast to the microprocessors used in personal computers or other general purpose applications. 
example: ATmega 8 , Arduino , PIC.

MICRO CONTROLLER

Power And Switching

This is very important for a robot. In order to get the required locomotion for your robot you should have minimum of 2 two-way switches.
         Two way switches have 3 pairs of  slots for connections.The image is given below explains how to connect the two-way switch with motor.


    This clearly explains the connection.
2 way switch

Now it's time for the connection of both the motors.Block diagram is as follows
Complete diagram

While soldering do not connect + and - terminal of any switch and prevent the hazard of short circuit. In order to get clarify your doubts you may post comments.



PREVIOUS                                                                               NEXT




Related articles:

Robotics- Intro


INTRODUCTION TO ROBOTICS

WHAT IS A ROBOT

         A robot is anything which supplements human.It is a simple and understandable definition of robot
Coming to the classification of robots, people around the world classify them considering various parameters.
I am dividing on the basis of it's locomotion.Various kinds of robots are

  1. STATIONARY ROBOTS
  2. WHEELED ROBOTS
  3. LEGGED ROBOTS
  4. FLYING ROBOTS
  5. SPHERICAL ROBOTS
  6. SWIMMING ROBOTS
  7. OTHERS
These are the different kinds of robots so far.
     My main aim in publishing this post is to help the students in building "wheeled robots".A wheeled robot is a robot which moves on wheels.These are further classified into 2 types

  1. PROGRAMMABLE
  2. NON PROGRAMMABLE

First we will consider the "non-programmable wheeled robots".  Let me start with the parts of the simple four wheeled robot.