If you want to get acquainted with IoT then first of all you must know the hardware platforms that are used to build IoT applications. In particular, the Arduino platform is the first one that you should try to develop IoT projects. The reason being that it is simpler, easy to learn, and less costly. Basically, it is a platform that lets us develop Internet of Things (IoT) applications since it provides you the microcontroller board that will act as the brain of IoT application. Moreover, you can use this platform in many ways to develop IoT projects.
However, there are many kinds of different boards available to choose from. If you are a beginner, then you can start with Arduino Uno. In this article, the architecture of the above board is discussed.
Components of Arduino Uno
The main component of Arduino Uno is the microcontroller which performs the computation part. The microcontrollers used in the board are basically are those developed by Atmel. These are RISC microcontrollers known as AVR (Advanced Virtual RISC) microcontrollers. Arduino Uno uses ATMega328 Microcontroller. They use Flash memory for storage of programs. You can develop the program using C++ language using Arduino IDE on your PC or Laptop. Later, the program can be uploaded on the Flash memory of the board.
The board has a USB to UART board. It has 6 Analog input pins. It has two power pins – one is 5V and the other one is 3.3V. The board has 13 digital I/O pins. The most significant parts of Arduino Uno are Arithmetic Logic Unit (ALU), Control Unit (CU), General Purpose Registers, Interrupts, Timers, and (I/O) Ports. The sensors communicate with Arduino using these I/O pins. The board also has a Pulse Width Modulation (PWM) pin that drives the servo motor. Therefore, we need to connect the sensors and actuators to these I/O pins and program using Arduino IDE.
To summarize, the Arduino is a platform to build IoT and Robotics applications that comes with several hardware components and an IDE. We build the IoT applications by connecting sensors and actuators to the board, develop programs using IDE, and upload it on the Flash memory available on the board.