Arduino for Beginners

The first toy which I came across in my endeavor in robotics was the Arduino Uno ! "Arduino" is an open-source computer hardware and software company which manufactures development boards. It designs single board micro-controllers such as uno ,mega,nano. It is basically the brain of the robot. It takes in input, process it based on the code and gives the desired output.  

It is programmed using the C code but since it is cumbersome , Arduino firmware is loaded on ATmega chip which allows us to use the user-friendly Arduino programming language. The Arduino IDE is a cross-platform application which is written in Java.The program written in it is called a "sketch". 
  • The setup() function : It is called once when it starts or resets.The variables and I/O pins are initialized here.
  • The loop() function : As the name suggests it repeats itself continuously.
Arduino Uno is the most popular board. It is an open-source micro-controller based on ATmega328pu. This is what Arduino Uno looks like !

  • Arduino Uno runs on power which is provided either by the computer through a USB port (5V) or given to it by a external source through Vin pin  (7-20V) or through the DC power jack (7-20V)  . It has inbuilt voltage regulator which limits the voltage to 5V.
  •  It also has an inbuilt LED connected to the 13th pin. It has 14 digital pins (6 PWM) and 6 analog pins.
  • Clock Speed : (16MHz crystal ) ATmega micro-controller can execute 16 million instructions per second.
  • Flash memory is where the Arduino sketch is stored. The Atmega328 chip has 32 KB of it out of which 0.5 KB is used by the boot-loader. 
  • SRAM ( static random access memory) is where the sketch creates and manipulates the variables when it runs. It has 2 KB of memory . 
  • EEPROM (electrically erasable read only memory ) is the space which programmers use to store long-term information . It has 1 KB of memory.
Flash memory and EEPROM are non-volatile i.e. the imformation is not lost even when the power is turned off. Whereas SRAM is volatile.
The ATmega16U2 channels serial communication over USB. Various other communication protocols include USART,UART,SPI and I2C.

Stay Tuned for more information on Arduino !

Comments

Popular posts from this blog

The move_base ROS node

Three Wheeled Omnidirectional Robot : Motion Analysis

Overview of ATmega328P