Arduino Programming for Beginners Part 1

Introduction: Beginners guide to Arduino & other Micro-controllers [ Boateng Oduro @ www.electrotekgh.com]



Fig 1; The Arduino Development Boards

Arduino Fundamentals


You are here!, Micro-controllers are here! Arduino is here!😎 Of course, we can't discuss micro-controller projects without mentioning of Arduino. Oh YES! their impact is enormous, scarily even. From simple blinking of LED to more sophisticated projects, Arduino can boast of its existence and its gradual domination of hobbyist projects as well as general purpose control systems. I don't think or perhaps I can't imagine Arduino's contribution to IOT (internet of things) can be written overnight.
 

What is Arduino?

Arduino is an open-source electronics platform based on easy-to-use hardware and software. They are able to directly read inputs such as light on a sensor, a finger on a button, or read messages from Twitter and turn it into an output such as turning on an LED, activating a motor, publishing something online. You can tell your board what to do by sending a set of instructions to the micro-controller on the board. To do so you use the Arduino programming language (based on Wiring), and the Arduino Software (IDE), based on Processing

A worldwide community of makers consisting of students, hobbyists, artists, programmers, and professionals has gathered around this open-source platform, their contributions have added up to an incredible amount of accessible knowledge that can be of great help to novices and experts alike. 
fig 2; The Arduino Uno r3

 

Where from Arduino?

Arduino was born at the Ivrea Interaction Design Institute as an easy tool for fast prototyping, aimed at students without a background in electronics and programming. All Arduino boards are completely open-source, empowering users to build them independently and eventually adapt them to their particular needs. The software, too, is open-source, and it is growing through the contributions of users worldwide. 

Why Arduino?


Thanks to its simple and accessible user experience, Arduino has been used in thousands of different projects and applications. The Arduino software is easy-to-use for beginners, yet flexible enough for advanced users.

Arduino is a key tool to learn new things. Anyone; children, hobbyists, artists, programmers can start tinkering by just following the step by step instructions of a kit, or sharing ideas online with other members of the Arduino community.

Arduino takes the messy details of microcontroller programming and wrap it up in an easy-to-use package and offers some advantage for professionals, students, and interested amateurs over other systems. Some common advantages Arduino have over other development boards are;

  1. Inexpensive - The pre-assembled Arduino modules cost less than $15
  2. Cross-platform - The Arduino Software (IDE) runs on all operating systems. 
  3. Simple, clear programming environment - The Arduino Software (IDE) is easy-to-use for beginners, yet flexible enough for advanced users to take advantage of as well.
  4.  Open source and extensible software - The Arduino software is published as open source tools, available for extension by experienced programmers. The language can be expanded through C++ libraries. 
  5.  Open source and extensible hardware - Experienced circuit designers can make their own version of the module, extending it and improving it. Even relatively inexperienced users can build the breadboard version of the module in order to understand how it works and save money. 


Hardware Overview

Fig 3; The Arduino Uno Pinout
Even though there are many different types and series of the Arduino, the Uno is indisputably the most commonly used Arduino development board. To get started, you need to know the pinout of this micro-controller board. This can be referred from the diagram above.
  1. The board was designed by Arduino.cc in Italy. 
  2. The heart and brain of this development board is the Atmega328 micro-controller.
  3. Arduino UNO has 20 input/output pins.
  4. Among these 20 pins, we have 14 digital pins.
  5. The remaining 6 pins are analog pins.
  6. It also has 6 PWM pins which are used for Pulse Width Modulation.
  7. Arduino UNO supports the following communication protocols: 

  1. Serial Protocol 
  2. I2C Protocol 
  3. SPI Protocol

So, these digital and analog pins are capable of multiple functions which depends on projects' requirement. SPI Pins are used for connecting SPI modules and Serial Pins are also required to interface Serial module (like GSM or GPS breakout boards). However, We can also assign any pin to be used for serial communication using the software serial

Arduino Memory Features

Memories are a very important factor to consider when selecting a micro-controller for your project. If you have a bigger code or sketch to save then you should select a development board with more memory, the Arduino Mega is recommended. Although the SD card option is always there but may compromise processing speed. 
let's have a look at Arduino Uno memory features:

  1. It has a flash memory of 32Kb.
  2. Arduino UNO has SRAM of 2KB.
  3. EEPROM memory of UNO is 1Kb.
  4. The bootloader of 2Kb is installed so we are left with 30kb Flash memory.

Arduino UNO Applications

Arduino UNO has many applications in our everyday life. It is the most commonly used Micro-controller board. Some of its working fields are:

  1. Embedded Systems
  2. Control Systems
  3. Robotics
  4. Instrumentation
  5. Condition Monitoring
I hope by now you have got the picture of what Arduino is and what they are used for. 

I must say this is just the tip of an iceberg and there's a lot we can do with the Arduino board.

If you are getting tired, let's take a break and resume in the next part (part 2).  Use the comment box to ask any question.

If this post or any other content on this blog has helped you, You can appreciate our effort by sharing or donating with Paypal link below. Thank You. ElectroTek!! Together We Can!!




 

Labels: , , , , , ,