Arduino F.A.Q

Advanced Tutorial Views: 4174
All Tutorials

Arduino Frequently Asked Questions & Answers

Arduino Frequently Asked Questions (F.A.Q)

1) What is an Arduino?

To put it simply, an Arduino is a compact computer that requires very little power (5-12v) to run and has a wide variety of usages due to the ability to upload a program to the Arduino which it will start executing once powered up. More specifically, the Arduino is a microcontroller unit built around the popular Atmel Atmega328 chips. The reason why you do not just use the Atmega328 chip directly is because the Arduino board contains all the required components to allow you to easily & quickly start using the chip instead of first needing to build a suitable board. Most Arduino versions can execute 16 million instructions per second (16 MHz).

2) What is the use of an Arduino?

Arduinos are used by inventors for various purposes but the main reason why anyone would use an Arduino is to control the logical actions of a device or system. The Arduino can read sensors, make decisions and quickly take action depending on the results needed. Therefore, Arduinos are great for anything that requires some smart logic, such as robots & automation. Due to the low power consumption, Arduinos make excellent task-specific devices that need to operate in a remote location. Arduinos are really cheap compared to a laptop or PC yet can accomplish some of the same tasks, it therefore makes financial sense to use an Arduino instead where possible. Arduinos can also be used in remote control cars, boats and drones due to their light weight.

3) Is it hard to learn how to use an Arduino?

Learning to build devices with an Arduino has an initial learning curve that may be a bit steep for some but once you have built two or three prototype devices successfully you will have learnt enough to take on more complex projects with greater confidence; the thought process is the same and the method of finding out how to use specific Arduino modules & sensors is also the same. There is software available to allow you to do a visual “drag & drop coding” if you are having a hard time learning to program an Arduino directly.  

4) What different versions of Arduino are there?

The most popular Arduino, and best entry-point, is an Arduino Uno. The Arduino Uno has been around for more than 10 years now and has proved to be a solid development board for hobbyists, students & professionals.
The bigger brother of the Arduino Uno is the Arduino Mega, which has more programming space and more input/output pins for you to use. The Arduino Mega is often useful when you have many sensors involved in your project.

The smaller brother of the Arduino Uno is the Arduino Nano, which has the same amount of programming space and essentially same number of usable I/O pins but is much more compact than the Arduino Uno.

Recently there has been an explosion of new types of Arduinos available, such as the Arduino Mini, Arduino Micro, Arduino Due, Arduino Leonardo, and many more.

5) What is the difference between the Arduino Clone board and the official Arduino?

Arduino is an open-source design and anyone can manufacture their own Arduinos (easily too!). Therefore, there are many manufacturers of Arduinos. The inventors of Arduino design make their money from donations and sales via their own website (please do support them) but only some manufacturers are affiliated with them and actually use the original labelling and components. The “clone” manufacturers found that they bring down the price even more by using a “CH340” version of the chip. Practically, there is no functional difference between the two.  

6) How do I program an Arduino?

Arduinos are programmed in the popular language named “C”. To program an Arduino you need to know the basics of the C language or, use a “drag & drop” tool to write the code for you.

7) Where can I get software to program an Arduino?

The standard software to program the Arduino, named the “Integrated Development Environment” (IDE) can be downloaded at www.arduino.cc

8) How can I provide power to the Arduino?

An Arduino can be powered in 4 ways:

  • Directly though the USB-cable used to actually program the Arduino.
  • From a 5-6V DC power supply similar to what a laptop uses.
  • Batteries – Any sort of battery can be used, including Lithium and Lead-Acid batteries as long as the voltage is between 5V-13V.
  • Alternative energy can be used to provide momentary power to an Arduino, such directly connecting it to a solar panel, although the device will reset or stop working once there is no more sunlight available.

9) Can I drive a motor directly on an Arduino?

No. A motor needs more power than what the Arduino can supply at its I/O pins, therefor you would need a module between the Arduino and motor capable of providing power directly from the power source but still controllable by the Arduino. This module is called an “H-Bridge” but often simply called a “motor driver”. An example of a good general-purpose H-Bridge, the L298N is available here https://leobot.net/viewproduct.aspx?id=585

10) Is an Arduino better than a Raspberry PI?

Both Arduino and Raspberry PI have their pros and cons and, ultimately depends on what your projects needs to be able to accomplish. To sum up the main difference in one sentence between an Arduino and Raspberry PI is that the Arduino is cheap while the Raspberry PI has a lot more processing power.

11) How do I find out more information on an Arduino module?

You may not find much information of the module from the place where you purchased it but there is a lot of information widely & freely available on the internet for nearly all Arduino modules. It is mostly scattered but needless to say google will help you find what you need if you understand how to search. Best is to search for “ABC Arduino Tutorial” (where ABC is the name of the module of course). Usually you will end up obtaining code from Github  (https://github.com/) or a guide from Instructables (https://www.instructables.com/).

12) Where can I buy an Arduino in South Africa?

At Leobot Electronics (https://leobot.net/) of course and also at Communica (https://www.communica.co.za/), RS Components (https://za.rs-online.com/web/), Riecktron (https://www.riecktron.co.za/), Manetech (https://za.mannatech.com/) and Digikey (https://www.digikey.co.za) to name but a few of the well-established suppliers.

13) Where can I learn about Arduino?

The Arduino IDE has a few built-in examples but the best way to learn in my view would be

  • Read up all the tutorials on Arduino.cc
  • Keep the Arduino reference page open to help guide you with what built-in functions are available.
  • Think of an interesting but basic project that requires multiple sensors. Before taking on this project, first test and understand each sensor individually.
  • Once you understand all the individual sensors & modules involved in the project it, start adding them together one-by-one, making sure each part of the system works as you progress.

14) Where can I find a community of Arduino developers to speak to?

At Leobot Electronics we are busy working on a community for this purpose and is available at www.Robotica.co.za, but you can also find advise on the official Arduino forum (https://forum.arduino.cc/) and locally in South Africa at MyBroadband (https://mybroadband.co.za/forum/).

15) Can I drive an LED directly through an Arduino IO pin?

It is advisable to add a resistor between the LED and pin but, the total current provided by the Arduino IO is not strong enough to damage the LED. So, yes you can but the extra resistor is advisable.

16) How can I switch appliances on/off with an Arduino?

To switch on appliances that use the mains power of a house you simply need a relay module. The Arduino communicates with the relay at lower power while the relay provides the appliance with all the power it needs from the mains supply. Please be careful when working with high voltage systems such as the mains power of a house, it is dangerous.

17) Can I connect multiple Arduinos together?

Yes. Arduinos can easily be connected together to communicate with each other. Usually a library called “SoftwareSerial” is used to convert any 2 pins from an Arduino to communication channel with any other Arduino (also using 2 pins).

 

Products that this may apply to