What is Arduino and what can you do with it. Interesting business ideas based on Arduino DIY arduino projects

All about Arduino and electronics!

Arduino- a trademark of hardware and software for building simple automation and robotics systems, aimed at non-professional users. Software part consists of a free software shell (IDE) for writing programs, compiling them and programming hardware. Hardware The part is a set of assembled printed circuit boards, sold by both the official manufacturer and third-party manufacturers. The system's completely open architecture allows you to freely copy or expand the Arduino product line.

The name of the platform comes from the name of the glasshouse of the same name in Ivrea, often visited by the founders of the project, and this name, in turn, was given in honor of the King of Italy Arduin of Ivrea.

Arduino can be used both to create autonomous automation objects and connect to software on a computer via standard wired and wireless interfaces

Why is it worth visiting exhibitions? At a good Expo you can always see what awaits us in the near future, what trends and trends will be relevant in the next six months. Hong Kong Electronics Fair is just one of those exhibitions where exhibitors demonstrate what they are capable of, and we, the guests of the event, get to know and actively test products, evaluate them and decide what will be a hit, what simply deserves interest, and what is doomed to lie unattended at the stand. Let us remind you that all this is carried out under the roof of the most beautiful exhibition center in Hong Kong - Hong Kong Convention & Exhibition Centre.

The AD8232 is a small chip board used to measure the electrical activity of the heart. This electrical activity can be referred to as an ECG or electrocardiogram. Electrocardiography is used to diagnose various heart diseases.

The heart's electrical system controls the generation and propagation of electrical signals through the heart muscle, causing the heart to contract and relax periodically to pump blood. During the heart cycle, an orderly process of depolarization occurs. Depolarization is a sudden change in the electrical state of a cell, when the negative internal charge of the cell becomes positive for a short time. In the heart, depolarization begins in specialized pacemaker cells in the sinoatrial node. Next, the excitation wave propagates through the atrioventricular (atrioventricular) node down to the His bundle, passing into the Purkinje fibers and further leads to contraction of the ventricles. Unlike other nerve cells, which are unable to generate an electrical signal in a self-oscillating mode, the cells of the sinoatrial node are capable of creating a rhythmic electrical signal without external influence. More precisely, external influences (for example, physical activity) affect only the oscillation frequency, but are not needed to start this “generator”. In this case, periodic depolarization and repolarization of pacemaker cells occurs. The pacemaker also has a stable frequency generator that acts as a sinoatrial node. The membranes of living cells act as capacitors. Due to the fact that the processes in cells are electrochemical and not electrical, depolarization and repolarization in them occurs much more slowly than in a capacitor of the same capacity.

This material will provide an example of how to use several 18b20 temperature sensors + add the required number and perform remote monitoring using the esp8266 nodemcu board and the blynk application. This material will be useful if you need to take several temperature readings remotely for monitoring.

Want to play video games from your childhood? Tanks, Contra, Chip and Dale, Teenage Mutant Ninja Turtles... All these games are waiting for you! From this guide you will learn how to quickly and easily assemble and configure a retro console based on a Raspberry Pi microcomputer and assembling RetroPie emulators.

Interactive snowflake of the appropriate shape, created by Arduino Nano. Using 17 independent PWM channels and touch sensor for switching and effects.

The snowflake consists of 30 LEDs grouped into 17 independent segments, which can be controlled separately by an Arduino Nano microcontroller. Each block is controlled by a separate PWM pin, and adjusts the brightness of each LED block and effects separately.

In this article, I decided to put together a complete step-by-step guide for Arduino beginners. We will look at what Arduino is, what you need to start learning, where to download and how to install and configure the programming environment, how it works and how to use the programming language, and much more that is necessary to create full-fledged complex devices based on the family of these microcontrollers.

Here I will try to give a condensed minimum so that you understand the principles of working with Arduino. For a more complete immersion in the world of programmable microcontrollers, pay attention to other sections and articles of this site. I will leave links to other materials on this site for a more detailed study of some aspects.

What is Arduino and what is it for?

Arduino is an electronic construction kit that allows anyone to create a variety of electro-mechanical devices. Arduino consists of software and hardware. The software part includes a development environment (a program for writing and debugging firmware), many ready-made and convenient libraries, and a simplified programming language. The hardware includes a large line of microcontrollers and ready-made modules for them. Thanks to this, working with Arduino is very easy!

With the help of Arduino you can learn programming, electrical engineering and mechanics. But this is not just an educational constructor. Based on it, you can make really useful devices.
Starting from simple flashing lights, weather stations, automation systems and ending with smart home systems, CNC machines and unmanned aerial vehicles. The possibilities are not even limited by your imagination, because there are a huge number of instructions and ideas for implementation.

Arduino Starter Kit

In order to start learning Arduino, you need to acquire the microcontroller board itself and additional parts. It is best to purchase an Arduino starter kit, but you can choose everything you need yourself. I recommend choosing a set because it's easier and often cheaper. Here are links to the best sets and individual parts that you will definitely need to study:

Basic Arduino kit for beginners:Buy
Large set for training and first projects:Buy
Set of additional sensors and modules:Buy
Arduino Uno is the most basic and convenient model from the line:Buy
Solderless breadboard for easy learning and prototyping:Buy
Set of wires with convenient connectors:Buy
LED set:Buy
Resistor set:Buy
Buttons:Buy
Potentiometers:Buy

Arduino IDE development environment

To write, debug and download firmware, you need to download and install the Arduino IDE. This is a very simple and convenient program. On my website I have already described the process of downloading, installing and configuring the development environment. Therefore, here I will simply leave links to the latest version of the program and to

Version Windows Mac OS X Linux
1.8.2

Arduino programming language

When you have a microcontroller board in your hands and a development environment installed on your computer, you can start writing your first sketches (firmware). To do this, you need to become familiar with the programming language.

Arduino programming uses a simplified version of the C++ language with predefined functions. As in other C-like programming languages, there are a number of rules for writing code. Here are the most basic ones:

  • Each instruction must be followed by a semicolon (;)
  • Before declaring a function, you must specify the data type returned by the function, or void if the function does not return a value.
  • It is also necessary to indicate the data type before declaring a variable.
  • Comments are designated: // Inline and /* block */

You can learn more about data types, functions, variables, operators and language constructs on the page on You do not need to memorize and remember all this information. You can always go to the reference book and look at the syntax of a particular function.

All Arduino firmware must contain at least 2 functions. These are setup() and loop().

setup function

In order for everything to work, we need to write a sketch. Let's make the LED light up after pressing the button, and go out after the next press. Here's our first sketch:

// variables with pins of connected devices int switchPin = 8; int ledPin = 11; // variables to store the state of the button and LED boolean lastButton = LOW; boolean currentButton = LOW; boolean ledOn = false; void setup() ( pinMode(switchPin, INPUT); pinMode(ledPin, OUTPUT); ) // function for debouncing boolean debounse(boolean last) ( boolean current = digitalRead(switchPin); if(last != current) ( delay (5); current = digitalRead(switchPin); ) return current ) void loop() ( currentButton = debounse(lastButton); if(lastButton == LOW && currentButton == HIGH) ( ledOn = !ledOn; ) lastButton = currentButton ; digitalWrite(ledPin, ledOn);

// variables with pins of connected devices

int switchPin = 8 ;

int ledPin = 11 ;

// variables to store the state of the button and LED

boolean lastButton = LOW ;

boolean currentButton = LOW ;

boolean ledOn = false ;

void setup() (

pinMode(switchPin, INPUT);

pinMode(ledPin, OUTPUT);

// function for debouncing

boolean debounse (boolean last ) (

boolean current = digitalRead(switchPin);

if (last != current ) (

delay(5);

current = digitalRead(switchPin);

return current ;

void loop() (

currentButton = debounse(lastButton);

if (lastButton == LOW && currentButton == HIGH ) (

ledOn = ! ledOn;

lastButton = currentButton ;

digitalWrite(ledPin, ledOn);

In this sketch, I created an additional debounse function to suppress contact bounce. There is information about contact bounce on my website. Be sure to check out this material.

PWM Arduino

Pulse width modulation (PWM) is the process of controlling voltage using the duty cycle of a signal. That is, using PWM we can smoothly control the load. For example, you can smoothly change the brightness of an LED, but this change in brightness is obtained not by decreasing the voltage, but by increasing the intervals of the low signal. The operating principle of PWM is shown in this diagram:

When we apply PWM to an LED, it starts to quickly light up and go out. The human eye is not able to see this because the frequency is too high. But when shooting video, you will most likely see moments when the LED is not lit. This will happen provided that the camera frame rate is not a multiple of the PWM frequency.

Arduino has a built-in pulse width modulator. You can use PWM only on those pins that are supported by the microcontroller. For example, Arduino Uno and Nano have 6 PWM pins: these are pins D3, D5, D6, D9, D10 and D11. The pins may differ on other boards. You can find a description of the board you are interested in in

To use PWM in Arduino there is a function. It takes as arguments the pin number and the PWM value from 0 to 255. 0 is 0% fill with a high signal, and 255 is 100%. Let's write a simple sketch as an example. Let's make the LED light up smoothly, wait one second and fade out just as smoothly, and so on ad infinitum. Here is an example of using this function:

// The LED is connected to pin 11 int ledPin = 11; void setup() ( pinMode(ledPin, OUTPUT); ) void loop() ( for (int i = 0; i< 255; i++) { analogWrite(ledPin, i); delay(5); } delay(1000); for (int i = 255; i >0; i--) ( analogWrite(ledPin, i); delay(5); ) )

// LED connected to pin 11

int ledPin = 11 ;

void setup() (

pinMode(ledPin, OUTPUT);

void loop() (

for (int i = 0 ; i< 255 ; i ++ ) {

analogWrite(ledPin, i);

delay(5);

delay(1000);


We have collected the best and even crazy Arduino projects that we came across in 2015.

Arduino Wake-Up Machine

Hacking Combination Locks Using Arduino

This Arduino controlled mechanism can open any combination lock in less than 30 seconds. The hacker project Samy Kamkar demonstrated a vulnerability.

Robot sorting Skittles

A project for a 3D printed Arduino robot to save time sorting Skittles. Perhaps the biggest disappointment is that the mechanism is not universally suitable for M&M's. Video and more detailed description

Protopiper - prototyping gadget

Amazing gadget for prototyping. Tired of running around with a tape measure? With this device, you can quickly sketch out a room-sized sketch.

Open Source snow blower

The engine of progress in many cases is laziness. Shovel snow? A robot is needed for this job. Perhaps snow blower sellers will not like this project, because... The author believes that everyone can make one for themselves. .

Blaster for switching music

Everyone has different musical tastes. But sometimes the music is just terrible. No one in the company likes her. It happens. If your dream and such moments are to shoot a gun and change the music... then know that the project has been implemented, dreams come true.

Give your hair more options

Send messages unnoticed, launch applications, broadcast your location - all this can be done by gently stroking your hair - this is so natural for girls.

Knit with Arduino

To knit, you don’t have to turn to your grandmother or buy professional equipment. Make your own robot that knits using Arduino.

Robot BB-8 on Arduino

A project for those who dream of making a BB-8 robot from Star Wars.

Okay Google, Sesame, open the door

In this project, an MIT student implemented a door opening using a Google Now voice command. To get into the house, you just need to say: “Open sesame.” Video and description of the project.

Typewriter playing a symphony

The typewriter of 1960 has become not only a printer, but also a musical instrument.

Robot AT-AT

Controlled robot AT-AT from Star Wars.

Robot T-800 from Terminator

There are many Terminator fans in the world, but few have recreated the T-800 robot. You can read more about the project and watch the video.

Robot minion from an egg from Kinder surprise

A fun homemade robot that you can make yourself. More details about the project.

Controlling your TV with your mind

The TV remote is no longer needed. All you have to do is think about changing the channel. The project uses a chip from the game Star Wars Force Trainer, released in 2009. Read more.

Arduino is very popular among all design enthusiasts. Those who have never heard of it should also be introduced to it.

What is Arduino?

How can you briefly describe Arduino? The best words would be: Arduino is a tool that can be used to create various electronic devices. In essence, this is a true general-purpose hardware computing platform. It can be used both for constructing simple circuits and for implementing quite complex projects.

The designer is based on its hardware, which is an input-output board. To program the board, languages ​​based on C/C++ are used. They are called, respectively, Processing/Wiring. From group C they inherited extreme simplicity, thanks to which they can be mastered very quickly by any person, and applying knowledge in practice is not a rather significant problem. So that you understand the ease of work, it is often said that Arduino is for beginner wizard-designers. Even children can understand Arduino boards.

What can you collect on it?

The applications of Arduino are quite diverse; it can be used both for the simplest examples, which will be recommended at the end of the article, and for quite complex mechanisms, including manipulators, robots or production machines. Some craftsmen manage to use such systems to make tablets, phones, home surveillance and security systems, smart home systems, or simply computers. Arduino projects for beginners, which even those with no experience can get started with, are at the end of the article. They can even be used to create primitive virtual reality systems. All thanks to the fairly versatile hardware and capabilities that Arduino programming provides.

Where can I buy the components?

Components made in Italy are considered original. But the price of such kits is not low. Therefore, a number of companies or even individuals make artisanal methods of Arduino-compatible devices and components, which are jokingly called production clones. When purchasing such clones, one cannot say with certainty that they will work, but the desire to save money takes its toll.

Components can be purchased either as part of kits or separately. There are even pre-prepared kits for assembling cars, helicopters with different types of controls, or ships. A set like the one pictured above, made in China, costs $49.

More about the equipment

The Arduino board is a simple AVR microcontroller, which has been flashed with a bootloader and has the minimum required USB-UART port. There are other important components, but within the scope of the article it would be better to focus only on these two components.

First, about the microcontroller, a mechanism built on a single circuit in which the developed program is located. The program can be influenced by pressing buttons, receiving signals from the components of the creation (resistors, transistors, sensors, etc.), etc. Moreover, the sensors can be very different in their purpose: lighting, acceleration, temperature, distance, pressure, obstacles etc. Simple parts can be used as display devices, from LEDs and tweeters to complex devices, such as graphic displays. The quality considered are motors, valves, relays, servos, electromagnets and many others, which would take a very, very long time to list. The MK works directly with some of these lists, using connecting wires. Some mechanisms require adapters. But once you start designing, it will be difficult for you to tear yourself away. Now let's talk about Arduino programming.

Learn more about the board programming process

A program that is already ready to run on a microcontroller is called firmware. There can be either one project or Arduino projects, so it would be advisable to store each firmware in a separate folder to speed up the process of finding the necessary files. It is flashed onto the MK crystal using specialized devices: programmers. And here Arduino has one advantage - it does not need a programmer. Everything is done so that programming Arduino for beginners is not difficult. The written code can be loaded into the MK via a USB cable. This advantage is achieved not by some pre-built programmer, but by special firmware - a bootloader. The bootloader is a special program that starts immediately after connection and listens to whether there are any commands, whether to flash the crystal, whether there are Arduino projects or not. There are several very attractive advantages to using a bootloader:

  1. Using only one communication channel, which does not require additional time costs. So, Arduino projects do not require you to connect many different wires and there will be confusion when using them. One USB cable is enough for successful operation.
  2. Protection from crooked hands. It’s quite easy to bring the microcontroller to a brick state using direct firmware; you don’t need to work hard. When working with a bootloader, you will not be able to access potentially dangerous settings (with the help of a development program, of course, otherwise everything can be broken). Therefore, Arduino for beginners is intended not only from the point of view that it is understandable and convenient, it will also allow you to avoid unwanted financial expenses associated with the inexperience of the person working with them.

Projects to get started

When you have acquired a kit, a soldering iron, rosin and solder, you should not immediately sculpt very complex structures. Of course, you can make them, but the chance of success in Arduino for beginners is quite low with complex projects. To train and improve your skills, you can try to implement a few simpler ideas that will help you understand the interaction and operation of Arduino. As such first steps in working with Arduino for beginners, we can advise you to consider:

  1. Create one that will work thanks to Arduino.
  2. Connecting a separate button to Arduino. In this case, you can make it so that the button can adjust the glow of the LED from point No. 1.
  3. Potentiometer connection.
  4. Servo control.
  5. Connecting and working with a three-color LED.
  6. Connecting the piezoelectric element.
  7. Connecting a photoresistor.
  8. Connecting a motion sensor and signals about its operation.
  9. Connecting a humidity or temperature sensor.

Projects for the future

It is unlikely that you are interested in Arduino in order to connect individual LEDs. Most likely, you are attracted by the opportunity to create your own car, or flying turntable. These projects are difficult to implement and will require a lot of time and perseverance, but once completed, you will get what you want: valuable Arduino design experience for beginners.

I haven't done it for a long time radio controlled models. I decided to revive my old project: . But it's not easy to revive. But also to improve it. Since I have 3D printer. I decided to print a new frame for the car. I also decided to tinker with the code a little. During this time, my knowledge has increased and I already look at old projects completely differently. But first things first.

Bluetooth HC-06 and Arduino. Android application for controlling Relays from your phone.

How to connect Bluetooth model HC-06 or HC-05 told in

In the lesson we used a third-party Android apps phone or tablet. Today we will write our application in mit app inventor. Let's fix it sketch from 11, for working with a low-level relay. It will work with a high level rey without changing the sketch.

DIY LED clock on Arduino WS2312 controlled (addressable)

After another modernization of its 3D printer. By the way, I will post an article and video on upgrading Anet 8A soon.

So what am I talking about? Oh yes. And so I decided to print flat and large parts. They were the ones that came off my 3D printer. It even happened to come off along with the tape.

I found a model led clock.

LED night light in the form of a cube.

Expanding the materials and technologies used in development Arduino projects. Today I'll tell you about led cube 3d printed. Traditionally, in my developments I use only free software . While creating 3D models Linux The question arose with the help of which free program can you make beautiful details quickly enough. One more point I'm only working on . Looked at the entire range of software for.

3D modeling

Arduino traffic light on digispark and ws2812b Today we will talk about traffic light on on DigiSpark and WS2812 addressable LEDs . This is the second version traffic light . I talked about the first one here. The first version turned out to be quite convenient and consisted of fewer parts. Why did I decide to make a second version? The fact is that the box holds the batteries that I used in the first version traffic light on Arduino



 

, has become very expensive. Some sellers sell it for $5 at