top of page

Arduino

Exploring robotics can be a fascinating journey that brings together various skills like computer programming, mechanical engineering, electronics, and electrical engineering. But don't be discouraged by misconceptions – learning robotics is more accessible than you might think, thanks to the availability of affordable microcontrollers, sensors, and open-source software. When you dive into robotics, you'll find yourself engaged in a wide range of activities, from identifying problems to testing robots in real-world scenarios and documenting your discoveries.

​

​

Lesson 01

Introduction to Robotics

Robots are programmable machines that aim to automate the work of humans, thus sparing humans the need to do jobs that are dull, dirty or dangerous. 

Lesson 02

Hardware and Software

A prototype is a test version of the actual robot. Developing a prototype will allow you to work with the robot in a flexible manner and do necessary modifications easily. Both the hardware and software designs can be simulated and tested using a prototype before an actual full-sized robot is developed.

Lesson 03

Installing Arduino IDE

​An Integrated Development Environment (IDE) is like an all-in-one programming toolkit. It combines essential tools such as an editor, compiler, linker, project manager, debugger, and more into a single package. The Arduino IDE, specifically tailored for Arduino boards, is a modified version of the C language, making it easy to write programs that work with Arduino.

Lesson 04

Digital LED

The Light Emitting Diode or LED is an optical diode, which emits light when connected to a power source. The lead connected to the negative terminal is identified with a flat edge on the side of the component. Also, the negative terminal has a shorter leg. LEDs are commonly used as a substitute for actuators when testing Arduino sketches.

Lesson 05

Digital Push Button

Push buttons are type of switch that connects two terminals in a circuit when it is pressed by a user. Digital input pins are used for push buttons which has two states: HIGH and LOW.

Lesson 06

Analog Potentiometer

A potentiometer is a specialized type of resistor due to its ability to provide variable resistance.  The knob can be turned clockwise and counter clockwise to generate varying resistance. Potentiometers can be used to vary the rotational speed of a motor or brightness of LEDs.

Lesson 07

PWM

A Pulse Width Modulation, PWM is a technique for controlling digital signals to create analog effect. As we all know, digital pins only have two states – HIGH (5V) and LOW (0V). PWM is basically a digital signal with a varying high and low time or duty cycle.

Lesson 08

Libraries

We may need to use other functions from library files as we go along in developing advanced projects. Libraries are precompiled sketches that add functionalities to Arduino programs. Libraries were developed by programmers with an objective of transforming complicated tasks into simple functions.

Lesson 09

Servo Motors

A servo motor is a device that can turn the shaft to a specific position. Servo motors are widely used in applications where precise movement of the motor shaft is necessary, such as in pan-tilt of a camera, robotic arm and RC steering system.

Lesson 10

DC Motors

Many robots use electric motors as primary source of actuation because of its compactness and high energy output. An electric motor converts electrical energy into rotational motion using sets of magnets and coil windings. In our projects, we are only going to focus on motors where Direct Current (DC) power source is used.

Lesson 11

L298N Motor Driver

The maximum amount of current we can draw from our Arduino board is only 40mA, this is too small to drive the DC motors. In this case, we need to interface an amplifier, known as motor driver, which is designed to control the speed and direction of a DC motor using signals sent by the Arduino board.

Lesson 12

Tinkercad

In TinkerCad, you can effortlessly design circuits and write programs for Arduino, making the learning process accessible and engaging. The platform provides a vast library of pre-made electronic components such as LEDs, resistors, and microcontrollers like Arduino Uno. These components can be intuitively dragged and dropped onto a virtual breadboard, providing a realistic representation of the circuit.

Lesson 13

Arduino Enabled Robot

When we say robot behavior, we are actually pertaining to the ability of the robot to exhibit actions based on its current environment and continuously react accordingly based from the signals coming from the sensors.

Lesson 14

Differential Drive System

A differential drive robot whose movement is based on the two wheels mounted on each side. One advantage of a differential drive is that it allows the robot to turn in place without complex mechanism for steering called Ackermann Steering.

Lesson 15

Robot Power System

We will control the rotation of the wheels of the Arduino Enabled Robot by interfacing a L298N Motor Driver, DC Motors, and RC Receiver for Differential Drive System. We will send Digital and PWM signals to the motor driver that will allow the motor to stop, rotate in forward and backward direction.

Lesson 16

Remote Controlled Robot

We want that the robot will have two options, it can be manually controlled using a handheld remote controller and it can also work autonomously. Remote controlled robots receive instructions in real-time. These instructions are sent through a transmitter and received by the robot by means of a receiver.

Lesson 17

Line Following Robot

An IR sensor can be used to build a line-following robot. It is a sensor module designed to detect lines or tracks on the ground using infrared (IR) light. These sensors are commonly used in robotics to enable robots to autonomously follow a path or line marked on the floor.

Lesson 18

Obstacle Avoidance Robot

Obstacle avoidance is one of important behaviour of mobile robots. With this added intelligence, both the robot and objects around it will be protected from any physical damages. In this case, a proximity or ultrasonic sensor is used to detect any obstacle ahead of it and sends signals to the Arduino microcontroller. 

Lesson 19

SPI Communication Protocol

The Serial Peripheral Interface (SPI) was proposed by Motorola for communicating between devices. Similar to an I2C, the SPI requires simple hardware connections and good performance. The SPI connection between master and slave device. The master initiates the communication process and also the one who provides the clock allowing single or multiple slave units to be accommodated.

Lesson 20

I2C Communication Protocol

I2C or Inter Integrated Circuit is a communication protocol developed by Philips Semiconductor in 1982. This protocol is also known as TWI or Two Wire Interface simple because it uses two wires to communicate among devices at short distances. 

Lesson 21

Compass Module

The HMC5883L compass or magnetometer sensor, designed to measure both the direction and magnitude of magnetic fields. Sensors that utilize magnetic fields are susceptible to local disturbances such as large metal structures, robot metal frame, DC motors and so on.

Lesson 22

Serial Communication Protocol

Serial communication or also known as Universal Asynchronous Receiver Transmitter (UART) is a protocol used for communication between Arduino and other devices like computer.  We can use the Serial Monitor to visualize the communication happening between our device and the computer. We accomplish this by connecting the Arduino board to the computer through USB.

Lesson 24

GPS Module

Global Positioning System or GPS is a satellite-based navigation system that was developed in the early 1970’s by US Department of Defense (DoD) for military purposes. GPS provides accurate positional values or location information at any point on the earth’s surface, any time and any weather conditions. 

Lesson 23

H12 Module

The HC-12 is a wireless transceiver module commonly used for Arduino communication over long distances. Applications of the HC-12 module with Arduino include remote sensor data collection, remote control of devices, telemetry, and wireless communication between vehicles or devices in a robotics project.

Lesson 25

Robot Navigation

Autonomous Mobile Robot is an essential application of robotics. This section explains the technology behind unmanned vehicles using GPS and compass as navigation sensors. Localization is very important aspect in the design of mobile robots and should answer the following questions: Where am I? What is my environment? How do I control where to go?

Lesson 26

Go to Target Goal Location

The target point and the initial position of the robot are GPS coordinate readings in which the direction of robot is calculated. The difference between the compass bearing and direct bearing is continuously calculated and entered as the steering angle.

bottom of page