Using a DS3231 Module with Arduino

Using a DS3231 Module with Arduino

Every computer is equipped with an internal real time clock that allows it to know the date. Arduino type microcontrollers do not have PSTN. The DS3231 module gives the Arduino the ability to calculate the date, allowing it to control time more precisely. Hardware...
Drive a brushless motor with Arduino

Drive a brushless motor with Arduino

One of the main objectives of robotics is to articulate objects. To do this, it is very common to use electric motors. In the case of flying robots, such as drones, the actuators need a high rotational speed to turn the propellers and allow flight. In this case,...
Using a WiFi Shield with Arduino

Using a WiFi Shield with Arduino

The WiFi Shield allows the Arduino card to connect to the internet via a wireless LAN. It integrates an SD card reader that allows to store data or a web page to drive the Arduino.The basis for creating connected objects is to connect them to a network such as the...
Using a 16×2 LCD Shield with Arduino

Using a 16×2 LCD Shield with Arduino

One of the most widely used information display elements in the Arduino world is the 16×2 LCD (Liquid Crystal Display). When manufacturing an electronic system, it can be interesting to have it give us some information about its status without having to connect...
Using a PIR sensor with Arduino

Using a PIR sensor with Arduino

It is possible to activate a system, such as an alarm, by detecting the presence of a person using a PIR motion sensor. In home automation, it is common practice to operate devices when a person enters a room. This is made possible by motion sensors such as the...
Using a TFT LCD Shield with Arduino

Using a TFT LCD Shield with Arduino

TFT Shields are touch-sensitive LCD screens for displaying images and creating user interfaces, with more or less complex graphics, to drive Arduino microcontrollers. In this tutorial, we use the Kuman TFT 3.5″ shield (very close to the 2.8″ shield) but...
Using a Buzzer with Arduino

Using a Buzzer with Arduino

It is possible to emit sounds using a microcontroller by connecting a buzzer to one of its outputs. When you want to create a user interface, it is nice to have feedback according to the actions performed, whether it is a display, a light that lights up or changes...
Using a WS2812B LED ribbon with Arduino

Using a WS2812B LED ribbon with Arduino

LED ribbons are made up of a succession of addressable RGB LEDs, i.e. the brightness and colour of each LED can be set independently. There are several ribbon models: single colour, non-addressable, 5 or 12V, etc. Pay attention to the model you want to use. Hardware...
Create a Capacitive Sensor with Arduino

Create a Capacitive Sensor with Arduino

Capacitive sensors are commonly used in particular for object detection. They can, for example, detect the passage of an object on a conveyor belt or the level of a liquid in a tank. Closer to home, capacitive sensors are used in touch screens or as switches. In this...
Using a NRF24L01 module with Arduino

Using a NRF24L01 module with Arduino

The radio module NRF24L01 is a transceiver for establishing a connection and transferring data from one device to another via radio waves. Hardware ComputerArduino UNO x2USB cable A Male to B MaleNRF24L01 x2 Principle of operation The nRF24l01 module is a low-power...
Implementation of the moving average in Arduino

Implementation of the moving average in Arduino

An analogue sensor sends a voltage level, usually between 0 and 5V, representing a physical value. This voltage can be subject to measurement noise (electronic interference, electromagnetic interference, measurement accuracy, etc.). In some applications, you will need...
Implementation of the debouncing logic on Arduino

Implementation of the debouncing logic on Arduino

Anti-bounce or debouncing logic prevents the detection of parasitic changes of state of a sensor. When using sensors returning discrete states, such as a push button, it can happen, for mechanical or other reasons, that changes of state are detected that do not...
Implementation of a Measurement Hysteresis on Arduino

Implementation of a Measurement Hysteresis on Arduino

An analogue sensor sends a voltage level, usually between 0 and 5V, representing a physical value. This voltage can be subject to measurement noise (electronic interference, electromagnetic interference, measurement accuracy, etc.). In some applications, you will need...
Using a 4×4 Digital Keypad with Arduino

Using a 4×4 Digital Keypad with Arduino

Whether it’s a calculator or the keypad of a building, we commonly use numeric keypads. The 4×4 numeric keypad is a matrix of 16 buttons whose states can be detected by a microcontroller. Hardware ComputerArduino UNOUSB cable A Male to B MaleKeypad 4×4...
Using an MPU6050 Module with Arduino

Using an MPU6050 Module with Arduino

The MPU6050 module is an inertial unit that measures the evolution of an object in space. It can measure linear and angular accelerations in the three axes of space. This component can be found in several applications such as video game controllers or smartphones. It...
Using a multiplexer with Arduino

Using a multiplexer with Arduino

The multiplexer is an integrated circuit made up of logic circuits allowing several signals to be concentrated on the same output (mutiplexing or mux) or to connect an input to one of its N outputs (demultiplexing or demux). In this tutorial, we will see the use of...
Using a shift register with Arduino

Using a shift register with Arduino

The shift register is an integrated circuit consisting of logic circuits in series that can store high or low states. It can be used to drive LEDs or to retrieve the state of several sensors. Hardware ComputerArduino UNOUSB cable A Male to B MaleShift Register 74HC595...
Using EEPROM with Arduino

Using EEPROM with Arduino

The EEPROM is an internal memory of the microcontroller which allows data to be stored after the card is restarted. When working with microcontrollers, it is useful to store data in the memory, especially when the card is switched off, whether intentionally or...
Summary of function definition in C

Summary of function definition in C

In programming, it is very common or even necessary to use functions that require special definition. This is especially true when code blocks are repeated in the same program. A set of functions and objects are usually collected in libraries. We will see in this...
Summary of strings with Arduino

Summary of strings with Arduino

When you start programming with Arduino, you will very quickly get to the use of strings. A string is used to store text. It is used, for example, to display text on an LCD screen or to send text to the serial monitor. This is often the first example: the display of...
A quick look at the switch instruction in C

A quick look at the switch instruction in C

The switch..case instruction is a conditional structure that executes different instruction blocks depending on the value of a variable. This instruction is equivalent to nested if instructions. Syntax of the switch instruction The switch instruction takes an integer...
Summary on instruction while in C

Summary on instruction while in C

The while instruction is the conditional structure that allows you to create a loop on a condition. It is found in all programming languages. It is used to execute a block of code in a loop as long as a condition is fulfilled. Syntax of the while instruction The...
Summary on the instruction for in C

Summary on the instruction for in C

The for instruction allows code blocks to be repeated. It is the first step towards more efficient and readable code. Syntax of the instruction for The for instruction takes, as input, a counter whose increment and end condition is defined. It is often used in...
Using an OLED Display with Arduino

Using an OLED Display with Arduino

The OLED display is a compact graphic display with a resolution of 128 x 64 pixels that allows you to draw and display text to create a graphical interface. Hardware ComputerArduino UNOUSB A Male to B Male CableOLED Principle of operation The OLED display TF052 is...
Using a Microphone with Arduino

Using a Microphone with Arduino

It is possible to add the sense of hearing to your microcontroller by connecting it to a microphone. The microphone picks up vibrations in the air and transforms them into an electrical signal that can be analysed and processed using an algorithm. In this tutorial we...
Using a Joystick with Arduino

Using a Joystick with Arduino

The joystick is a position sensor which returns two analogue values representing its X,Y position. It can be used as an interface to navigate a menu or to control an object in direction or speed. It is commonly found on joysticks for video games, model making remote...
Using a Rotary Encoder with Arduino

Using a Rotary Encoder with Arduino

The rotary encoder is a rotation sensor whose direction and angle can be known. Similar in appearance to the potentiometer, the encoder has no limit stroke and instead of returning a resistance value, like the potentiometer, the encoder returns two digital signals...
Create a web interface to control your NodeMCU ESP32

Create a web interface to control your NodeMCU ESP32

The NodeMCU ESP32 is a microcontroller with integrated Wifi and Bluetooth modules. Very easy to use, it is lightweight and has a memory and computing capacity greater than that of the Arduino. This makes it an ideal board for learning programming, developing connected...
Using the millis() function of the Arduino IDE

Using the millis() function of the Arduino IDE

A possible solution to the problems generated by using the delay() function is to use the millis() function. From the first use of the Arduino, the delay() function is used to manage instructions as a function of time. The major problem with the delay() function is...
Create a web interface with NodeMCU ESP8266

Create a web interface with NodeMCU ESP8266

The NodeMCU ESP8266 is a microcontroller with an integrated Wifi module. Very easy to use, it is lightweight and has a memory and computing capacity greater than the Arduino. Ideal for your connected projects.The basics of IoT is to connect objects to a network such...
Using the Arduino Motor Shield

Using the Arduino Motor Shield

The official Arduino Motor Shield is an expansion board for the Arduino UNO and Mega microcontrollers for DC and stepper motor control. We have seen how to drive a DC motor using an H-bridge which can require a lot of wiring when using the IC simply. For an embedded...
Serial communication between Raspberry Pi and Arduino

Serial communication between Raspberry Pi and Arduino

In some projects it may be interesting to establish a serial communication between Raspberry Pi and Arduino. This makes it possible to couple the computing power and wireless interfaces of the Raspberry Pi with the inputs/outputs and the Arduino collection of modules....
Using a PCA9685 module with Raspberry Pi

Using a PCA9685 module with Raspberry Pi

The PCA9685 module is a 16-channel controller that can control 16 PWM outputs via I2C communication. Among other things, it allows you to free up inputs and outputs of your microcontroller and drive up to 16 LEDs or servomotors (or any other module taking a PWM signal...
Using a PCA9685 module with Arduino

Using a PCA9685 module with Arduino

The PCA9685 module is a 16-channel controller that can control 16 PWM outputs via I2C communication. It allows, among other things, to free inputs and outputs of your microcontroller and to drive up to 16 LEDs or servomotors (or any other module taking a PWM signal as...
Summary on the if statement in C

Summary on the if statement in C

The if statement is the basic conditional structure and is found in all programming languages. It allows you to execute different blocks of code according to a condition. It is the basis of many algorithms and allows a computer to make a choice based on the data sent...
Porgram a STM32 with the Arduino IDE

Porgram a STM32 with the Arduino IDE

A large number of microcontrollers such as the STM32 can be programmed with the Arduino IDE. Arduino boards are powerful and very convenient for learning and projects, with an extremely large support community. However, there are other microcontrollers (e.g. NodeMCU,...
Communication between Raspberry Pi and Arduino with I2C

Communication between Raspberry Pi and Arduino with I2C

In some projects, it may be interesting to establish I2C communication between Raspberry Pi and Arduino. The computing power and wireless functionality of the Raspberry Pi coupled with the input/output capability of the Arduino, results in a complete control system to...
Control several Motors with Raspberry Pi and the MotorHAT

Control several Motors with Raspberry Pi and the MotorHAT

To control a motor, whether stepping or direct current, with a Raspberry Pi, it is necessary to add an integrated circuit like an H-bridge. To simplify the assemblies, there are shields like for Arduino , called HAT (hat) at Raspberry. We will see how to communicate...
Power measurement with Arduino and INA219

Power measurement with Arduino and INA219

The INA219 Sensor is a current and voltage sensor for easy measurement of power. In some applications, it is interesting to measure the electrical power exchanged between devices. For example, measuring the power recovered by a solar panel. We will see in this...
Control your project using an IR remote

Control your project using an IR remote

There are different ways to communicate with a system. One of the most used, especially with television, is the infrared remote control. We will see how to drive an Arduino using a receiver and an IR remote control. In this tutorial, we use an IR remote control...
Connect Arduino to the Web using Ethernet Shield W5100

Connect Arduino to the Web using Ethernet Shield W5100

Connection between Arduino and internet is possible with the Ethernet Shield W5100. The basis for creating connected objects, is to connect them over a network such as the WiFi network.Communication via the Ethernet network is very convenient when you want to connect...
Create audio files for Arduino

Create audio files for Arduino

It is possible to play sounds through a speaker with an Arduino board and an SD card module. The TMRpcm.h library allows you to manipulate audio files but does not read all types of files. We are going to see a method to convert or create audio files compatible with...
Remote connection to Raspberry Pi

Remote connection to Raspberry Pi

The Raspberry Pi is a very powerful tool offering many functionalities. One of them is the remote connection which makes it a favorite tool for connected objects or IoT. To configure the Raspberry on its first use, it is practical to have a screen with an HDMI port, a...
Connect your Raspberry Pi 3 to WiFi

Connect your Raspberry Pi 3 to WiFi

The Raspberry Pi 3 Microcontroller is a very powerful mini computer and one of the most important features is that it incorporates a Wifi chip and can connect to a wireless network. It is the first step to access the potential of the Raspberry Pi and the first step...
Modulate the color with the RGB LED

Modulate the color with the RGB LED

The RGB LED provides a wide range of colors. It is composed of three mini LEDs, red, green and blue (hence their name RGB); close enough for their lights to mix. Therefore, it is piloted in the same way as three independent LEDs. For instance, it can be used to create...
Control several motors with Motor Shield V2 and Arduino

Control several motors with Motor Shield V2 and Arduino

The Motor Shield V2 is an expansion board for microcontrollers Arduino UNO and Mega to control DC and stepper motors. For motor control, it is possible to use integrated circuits directly but their use requires significant wiring can quickly become unmanageable. To...
Improve your Arduino program

Improve your Arduino program

Memory space is limited on an Arduino board, it may be important to improve your Arduino program in order to avoid certain problems. The more we advance in programming, the more we come to write long and complex programs. It is important, as soon as possible, to take...
Control several motors with Motor Shield V1 and Arduino

Control several motors with Motor Shield V1 and Arduino

The Motor Shield V1 is an expansion board for Arduino UNO and Mega microcontrollers for DC and stepper motor control. We have seen how to control a DC motor using H bridge which may require a lot of connections when using the simple integrated circuit. In an embedded...
Management of a push button with Arduino

Management of a push button with Arduino

One of the most common examples when learning programming with Arduino is the management of a push button. Indeed, one of the most useful functions to develop is to be able to interact with the Arduino board. The most minimalist interface is a push button input and...
Manage multiple Arduino with an I2C bus

Manage multiple Arduino with an I2C bus

It can be practical, especially in home automation projects, to communicate between several devices. One of the commonly used techniques is the I2C (or TWI) protocol. The I2C protocol is a method which makes it possible to connect several “Master” cards and several...
Give voice to your Arduino project

Give voice to your Arduino project

To make your Arduino project more interactive, it can be fun to make sounds based on certain actions. In this tutorial, we will see how to play a WAV audio file saved on an SD card with Arduino Prerequisite:Read and write on an SD card , Create or modify an audio file...
Using a LCD16x2 Screen with Arduino

Using a LCD16x2 Screen with Arduino

One element that displays the most used in the world is information Arduino liquid crystal display (Liquid Crystal Display) LCD 16×2. When an electronic system is made, it may be interesting as it gives us some information about his condition without having to...
Using a distance sensor GP2Y0A21 with Arduino

Using a distance sensor GP2Y0A21 with Arduino

The sensor GP2Y0A21 is an infrared distance sensor from Sharp that can detect object located at a distance between 10 and 80cm in front of it. Hardware Computer Arduino UNO USB A/B GP2Y0A21 Operating principle The distance sensor GP2Y0A21 uses infrared light to...
Create a web interface with NodeMCU ESP8266

Program a NodeMCU with Arduino IDE

A large number of microcontrollers such as NodeMCUs can be programmed with the Arduino IDE. Arduino boards are powerful and very practical for learning and carrying out projects, with an extremely large mutual aid community. However, there are other microcontrollers...
Using a RFID module with Arduino

Using a RFID module with Arduino

The RFID module is a smart card reader which allows among others, to activate a mechanism when the correct card is presented to the reader. We will use here the RC522 module, which is the most common. Hardware Computer ArduinoUNO USB Cable Module RFID Dupont Cable M/F...
Using a Potentiometer with Arduino

Using a Potentiometer with Arduino

The potentiometer is a variable resistor which is used to vary the voltage at its terminals. It is used in several applications including set a value: adjust the brightness of a light, adjust the volume of a speaker, change the position of a servomotor, etc. Hardware...
Luminosity measurement with a photoresistor

Luminosity measurement with a photoresistor

A photoresistor is an electronic component that measures ambient light. This component is useful in some projects such as a solar panel light follower or home automation to create a smart lamp that only turns on when it is dark or to set up an alarm with a laser...
Read and write on a SD card with Arduino

Read and write on a SD card with Arduino

One of the weak spot of the Arduino is the memory space. When playing with data (saving measurement, reading or writing to a file, etc.), it is necessary to have lot of space available. You can easily add memory to the Arduino with a Secure Digital card or SD card....
Program your Raspberry Pi with C/C++

Program your Raspberry Pi with C/C++

Ressources for Raspberry PI are generally written for Python but, as a micro computer, other languages can be used. If you know C/C++ ( If you come from the Arduino world, for instance) and don’t want to bother learning another computing language, it is possible...
Command a serial controller Maestro with Raspberry Pi

Command a serial controller Maestro with Raspberry Pi

When dealing with several servomotors and an extra number of outputs is needed to operate your robot (to control Hexana, for instance), a practical solution is to use a serial controller such as the Mini Maestro from Pololu. Prerequisite: Programming on Raspberry Pi,...
Control a DC Motor with Raspberry Pi

Control a DC Motor with Raspberry Pi

One of the main objectives in robotics is to make things move on their own. To give motion to a robot, electrical motors are oftenly used such as direct current (DC) motors especially for mobile robots. In this tutorial, we will see how to control such a motor using...
Control a stepper with RaspberryPi

Control a stepper with RaspberryPi

Steppers are used when high precision is required with open-loop control. We’ll see how to program your Raspberry Pi to control a stepper motor. Prerequisite: Programming with Raspberry Pi Material ScreenHDMI cableKeyboardRaspberry PI 3 (with OS on micro...
Create a component in Fritzing

Create a component in Fritzing

When working on an electronics project, it’s a good idea to put your ideas on paper to make sure you do not forget anything before implementation. This allows you to verify the concept and to share a clear representation of your work with other interlocutors...
Arduino and Bluetooth module HC-05

Arduino and Bluetooth module HC-05

Arduino can communicate with other devices via Bluetooth using the module HC-05 (master/slave). It enables the Arduino to connect and exchange data with other devices such as Smartphone, computer or other microcontrollers.Bluetooth communication can be used to control...
Command a serial controller Maestro with Arduino

Command a serial controller Maestro with Arduino

When dealing with several servomotors and an extra number of outputs is needed to operate your robot (to control Hexana, for instance), a practical solution is to use a serial controller such as the Mini Maestro from Pololu. Prerequisite: Programming with Arduino,...
Build a simple servomotor driver

Build a simple servomotor driver

To control a large number of servomotors with Arduino, or other microcontroller, a servomotor driver need to be used in order to power and to send the PWM signals to the Servomotors. Several methods can be used such as using a breakout shield or a serial servo...
Control a servomotor with RaspberryPi

Control a servomotor with RaspberryPi

One of the main objective in robotics is to make things move. A way to do that is to use servomotors. In this tutorial, we’ll see how to program your Raspberry Pi to control such a device. Prerequisite: Programming with Raspberry Pi Material ScreenHDMI...
Control 3 LEDs with Arduino and one pushbutton

Control 3 LEDs with Arduino and one pushbutton

One of the easiest and quickest way to start learning programming and electronics with Arduino is to use LEDs. We’ll see here how to control LEDs and how to select different functionalities of the code using only one button. This summarize in a simple way what...
Create an app with App inventor 2

Create an app with App inventor 2

Learn how to create an application for Android very simply using App Inventor 2. In the fields of robotics and connected objects, one of the most interesting features to implement is the remote control of an electronic project. Whether to display measurements from his...
Arduino and Bluetooth module HC-06

Arduino and Bluetooth module HC-06

Arduino can communicate with other device via Bluetooth using the module HC-06 (slave).  It enables the Arduino to be connected and exchange data with other devices such as Smartphone, computer or other microcontrollers. Bluetooth communication can be used to control...
Control a stepper motor with Arduino

Control a stepper motor with Arduino

One of the main objectives in robotics is to make things move on their own. To give motion to a robot, electrical motors are used such as stepper motors especially when precision is required with an open-loop control. In this tutorial, we study the use of integrated...
Temperature and humidity measurement with sensor DHT11

Temperature and humidity measurement with sensor DHT11

The sensor DHT11 can measure temperature and humidty in a room. Here is a tutorial on how to retrive the sensor measurement with a Arduino board. Material Computer Arduino UNO USB cable sensor DHT11 Jumper cables male/male breadboard Wiring DHT11 Code The program to...
Distance measurement with sensor HC-SR04

Distance measurement with sensor HC-SR04

The HC-SR04 is an ultrasonic sensor that measures distance with ultrasound waves. It uses the same principle as a sonar which is sending a sound wave and measuring the time between the transmission and reception of its echo. Material Computer Arduino UNO USB cable to...
Temperature measurement with LM35

Temperature measurement with LM35

The temperature sensor LM35 is a small easy to use, easy to find device. Its output voltage is directly proportional to the temperature and gives a precise measurement. Material Computer Arduino UNO USB cable to connect Arduino to the computer Temperature sensor LM35...
Communicate with Arduino

Communicate with Arduino

The easiest way to communicate with Arduino is to use the serial port. It is also the most powerful tool to test and debug your code. Material Computer Arduino UNO x2 Jumper cable M/M x3 Communication with the Serial Monitor The functions from the Serial library to...
Programming with Raspberry Pi

Programming with Raspberry Pi

Material ComputerScreenHDMI cableKeyboardRaspberry PI 3Micro SD cardMouseCharger micro USB B Software installation Download the offcial Raspbian installer NOOBS on the Raspberry PI website. Once the ZIP file downloaded, extract the files in a folder NOOBS. Format the...
Control a DC motor with Arduino

Control a DC motor with Arduino

One of the main objectives in robotics is to make things move on their own. To give motion to a robot, electrical motors are oftenly used such as direct current (DC) motors especially for mobile robots. In this tutorial, we will see how to control such a motor using...
Using a distance sensor GP2Y0A21 with Arduino

Give senses to your robot

Un robot está constituido por cuatro componentes principales: Motores para el movimiento, Mecánica para mantener las piezas unidas, sensores para que reaccionen al entorno y un código para controlarlas y crear la funcionalidad deseada. Sensors plays an important role...
Control a Servo with Arduino

Control a Servo with Arduino

One of the main objective in robotics is to make things move. A way to do that is to use servomotors. In this tutorial, we’ll see how to program your Arduino to control such a device and we’ll learn how to use libraries especially Servo.h. Prerequisit:...
Improve your Arduino program

Programming with Arduino

One of the most used tool in the world of Makers to learn or create personal project is the Arduino board. This tutorial explains how to install and use the Arduino programming software. Material Computer Arduino board Software installation Download the latest version...