Arduino Nano: 5 пошаговых проектов для начинающих электроников
Для кого эта статья:
- Начинающие разработчики и студенты в области электроники
- Преподаватели и наставники в кружках робототехники и технологий
Хоббисты и любители DIY, заинтересованные в создании проектов с Arduino
Помню свое первое знакомство с Arduino Nano — маленькой платой, открывшей для меня целый мир электроники. 🔍 От непонимания, как подключить простейший светодиод, до создания "умных" устройств — путь, который проходит каждый начинающий. В этой статье мы разберем 5 пошаговых проектов, требующих минимум компонентов и знаний, но дающих максимум понимания. С готовыми схемами и детальными комментариями в коде вы удивитесь, как быстро сможете превратить набор проводов и микроконтроллер в работающее устройство!
Если Arduino кажется вам интересным, но вы хотите расширить свои возможности в программировании, обратите внимание на Обучение Python-разработке от Skypro. Python отлично дополняет навыки работы с Arduino, позволяя создавать более сложные системы с веб-интерфейсами, обработкой данных и машинным обучением. Многие мои студенты, начав с Arduino, успешно осваивают Python для расширения функционала своих проектов.
Arduino Nano для начинающих: основы работы и настройка
Arduino Nano — компактная плата размером всего 45×18 мм, но функционально почти идентичная своему старшему брату Arduino Uno. Эта миниатюрность делает Nano идеальным выбором для проектов с ограниченным пространством и мобильных устройств. 🔋
Прежде чем приступить к проектам, необходимо настроить среду разработки и подготовить плату:
- Загрузите и установите Arduino IDE с официального сайта arduino.cc
- Подключите Arduino Nano к компьютеру через кабель micro-USB
- В меню "Инструменты" выберите "Плата: Arduino Nano"
- Выберите правильный процессор (ATmega328P или ATmega328P (Old Bootloader))
- Выберите порт, к которому подключена ваша плата
Часто новички сталкиваются с проблемой определения платы в системе. Если Arduino IDE не видит вашу плату, вероятно, вам потребуется установить драйвер CH340 или FT232, в зависимости от того, какой чип USB-UART используется на вашей версии Nano.
| Характеристика | Arduino Nano | Arduino Uno |
|---|---|---|
| Микроконтроллер | ATmega328P | ATmega328P |
| Рабочее напряжение | 5В | 5В |
| Входное напряжение | 7-12В | 7-12В |
| Цифровые выводы | 14 (6 с ШИМ) | 14 (6 с ШИМ) |
| Аналоговые входы | 8 | 6 |
| Размеры | 45×18 мм | 68×53 мм |
Важно понимать расположение пинов на Arduino Nano. В отличие от Arduino Uno, где пины расположены по краям платы, на Nano они идут в два ряда с обеих сторон платы. Обратите внимание на следующие ключевые пины:
- Цифровые пины: D0-D13 (из них D3, D5, D6, D9, D10, D11 поддерживают ШИМ)
- Аналоговые пины: A0-A7 (могут использоваться и как цифровые)
- Питание: 5V, 3.3V, GND
- AREF: опорное напряжение для аналоговых входов
Алексей Петров, преподаватель электроники
Помню свой первый опыт с Arduino Nano, когда вел кружок робототехники для школьников. Дети, никогда не державшие в руках паяльник, были напуганы количеством проводов и терминологией. Решение пришло неожиданно – мы начали с визуализации. Нарисовали большую схему Nano на ватмане и раскрасили пины разными цветами: питание – красным, "земля" – черным, цифровые – синим, аналоговые – зеленым.
Затем провели игру, где нужно было на скорость найти нужный пин на реальной плате. Это сняло барьер "страшной микросхемы", и уже через 30 минут дети свободно ориентировались в пинах. Теперь я всегда начинаю с такой визуализации – это помогает новичкам быстрее запомнить распиновку и снимает страх перед "сложной электроникой".

Мигающий светодиод: первый проект с пошаговой схемой
Мигающий светодиод (Blink) — это "Hello World" в мире Arduino. 💡 Этот простейший проект позволяет понять основы подключения компонентов и написания кода.
Для этого проекта вам понадобятся:
- Arduino Nano
- Светодиод (любого цвета)
- Резистор 220-330 Ом
- Макетная плата
- Соединительные провода
Схема подключения:
- Подключите длинную ножку светодиода (анод, +) к цифровому пину D13 Arduino Nano через резистор
- Подключите короткую ножку светодиода (катод, -) к пину GND (земля) Arduino Nano
Код для загрузки в Arduino:
// Программа для мигания светодиодом
// Подключаем светодиод к пину 13
const int ledPin = 13;
void setup() {
// Инициализируем пин как выход
pinMode(ledPin, OUTPUT);
}
void loop() {
digitalWrite(ledPin, HIGH); // Включаем светодиод
delay(1000); // Ждем секунду
digitalWrite(ledPin, LOW); // Выключаем светодиод
delay(1000); // Ждем еще секунду
}
Объяснение кода:
- const int ledPin = 13; — объявляем константу с номером пина, к которому подключен светодиод
- setup() — функция, которая выполняется один раз при запуске Arduino
- pinMode(ledPin, OUTPUT); — настраиваем указанный пин как выход
- loop() — функция, которая выполняется бесконечно после setup()
- digitalWrite(ledPin, HIGH); — подаем высокий уровень сигнала (5В) на пин, что включает светодиод
- delay(1000); — задержка на 1000 миллисекунд (1 секунда)
- digitalWrite(ledPin, LOW); — подаем низкий уровень сигнала (0В) на пин, что выключает светодиод
После загрузки кода в Arduino Nano ваш светодиод должен начать ритмично мигать: секунду гореть, секунду не гореть. Если этого не происходит, проверьте правильность подключения (особенно полярность светодиода) и убедитесь, что код успешно загрузился.
Модификации проекта для экспериментов:
- Измените время задержки, чтобы светодиод мигал быстрее или медленнее
- Добавьте второй светодиод и заставьте их мигать попеременно
- Создайте последовательность мигания, напоминающую азбуку Морзе
- Используйте функцию analogWrite() вместо digitalWrite() для плавного изменения яркости (только на пинах с поддержкой ШИМ)
Проекты с датчиками: измеряем температуру и расстояние
Датчики — глаза и уши вашего Arduino, позволяющие ему взаимодействовать с окружающим миром. 🌡️ Начнем с двух популярных и простых в использовании датчиков.
1. Измеритель температуры с датчиком DS18B20
DS18B20 — цифровой датчик температуры с высокой точностью. Для проекта понадобятся:
- Arduino Nano
- Датчик DS18B20 (водонепроницаемый или обычный)
- Резистор 4.7 кОм
- Макетная плата
- Соединительные провода
Схема подключения:
- Подключите VDD (обычно красный провод) датчика к 5V на Arduino
- Подключите GND (черный провод) к GND на Arduino
- Подключите DATA (желтый или белый провод) к цифровому пину D2 на Arduino
- Установите подтягивающий резистор 4.7 кОм между VDD и DATA
Для работы с DS18B20 необходимо установить две библиотеки: OneWire и DallasTemperature. Сделать это можно через меню "Скетч" > "Подключить библиотеку" > "Управлять библиотеками", затем найти и установить эти библиотеки.
Код для измерения температуры:
// Подключаем необходимые библиотеки
#include <OneWire.h>
#include <DallasTemperature.h>
// Определяем пин, к которому подключен датчик
#define ONE_WIRE_BUS 2
// Создаем экземпляр класса OneWire и передаем ему номер пина
OneWire oneWire(ONE_WIRE_BUS);
// Передаем ссылку на OneWire библиотеке DallasTemperature
DallasTemperature sensors(&oneWire);
void setup() {
Serial.begin(9600); // Инициализируем последовательный порт
Serial.println("Измеритель температуры DS18B20");
// Запускаем библиотеку
sensors.begin();
}
void loop() {
// Запрашиваем температуру
sensors.requestTemperatures();
// Выводим температуру в градусах Цельсия
float temperatureC = sensors.getTempCByIndex(0);
// Проверяем успешность считывания
if(temperatureC != DEVICE_DISCONNECTED_C) {
Serial.print("Температура: ");
Serial.print(temperatureC);
Serial.println(" °C");
} else {
Serial.println("Ошибка при считывании данных");
}
delay(1000); // Пауза между измерениями
}
Загрузите код и откройте монитор последовательного порта (Ctrl+Shift+M или через меню "Инструменты"). Вы увидите показания температуры, обновляющиеся каждую секунду.
2. Измеритель расстояния с ультразвуковым датчиком HC-SR04
HC-SR04 — популярный ультразвуковой датчик для измерения расстояния. 📏 Для проекта понадобятся:
- Arduino Nano
- Ультразвуковой датчик HC-SR04
- Макетная плата
- Соединительные провода
Схема подключения:
- VCC датчика подключите к 5V на Arduino
- GND датчика к GND на Arduino
- Trig датчика к цифровому пину D7 на Arduino
- Echo датчика к цифровому пину D8 на Arduino
Код для измерения расстояния:
// Определяем пины для подключения датчика
const int trigPin = 7;
const int echoPin = 8;
// Объявляем переменные для хранения длительности импульса и расстояния
long duration;
int distance;
void setup() {
// Инициализируем последовательный порт
Serial.begin(9600);
// Настраиваем пины
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
}
void loop() {
// Очищаем trigPin
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
// Устанавливаем trigPin в HIGH на 10 микросекунд
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
// Считываем echoPin, возвращает время путешествия звуковой волны в микросекундах
duration = pulseIn(echoPin, HIGH);
// Рассчитываем расстояние
// Скорость звука в воздухе примерно 343 м/с или 0.0343 см/мкс
// Время, которое измеряется – это время туда и обратно, поэтому делим на 2
distance = duration * 0.034 / 2;
// Выводим результат в монитор порта
Serial.print("Расстояние: ");
Serial.print(distance);
Serial.println(" см");
delay(500); // Пауза между измерениями
}
| Датчик | Диапазон измерений | Точность | Применение |
|---|---|---|---|
| DS18B20 | -55°C до +125°C | ±0.5°C | Бытовая автоматика, аквариумы, теплицы |
| HC-SR04 | 2 см – 400 см | ±3 мм | Роботы, сигнализации, автоматические двери |
| DHT11 | 0°C до 50°C, 20% до 90% влажности | ±2°C, ±5% | Метеостанции, системы климат-контроля |
| PIR (движение) | До 7 м | 110° угол обзора | Охранные системы, автоматическое освещение |
Загрузите код и откройте монитор последовательного порта. При перемещении объекта перед датчиком вы увидите изменение измеренного расстояния.
Марина Соколова, руководитель кружка робототехники
Работая с группой подростков 13-15 лет, я столкнулась с интересной ситуацией. Один из мальчиков, Дима, крайне замкнутый и неуверенный в себе, постоянно сомневался в своих способностях. На занятии с ультразвуковым датчиком он подключил всё правильно, но код не работал — датчик показывал случайные значения.
Вместо того чтобы указать на ошибку, я предложила ему стать "детективом" и самостоятельно найти проблему. Через 20 минут Дима обнаружил, что перепутал номера пинов в коде (но не в подключении). Его лицо буквально осветилось, когда он исправил ошибку и датчик заработал!
После этого случая Дима стал активнее участвовать в занятиях и даже помогать другим. Важный урок для меня: иногда лучше дать возможность найти и исправить ошибку самостоятельно — это бесценный опыт, особенно для начинающих.
Интерактивные устройства: кнопки и светодиодная индикация
Взаимодействие человека с Arduino — важная часть большинства проектов. Научимся создавать простые интерактивные устройства с кнопками и светодиодной индикацией. 👆
Для этого раздела нам понадобится базовое понимание концепции подтягивающих резисторов (pull-up/pull-down). Кнопки и другие механические переключатели требуют определенной схемы подключения, чтобы избежать "плавающего" состояния пина, когда кнопка не нажата.
1. Управление светодиодом с помощью кнопки
Создадим простую схему, где при нажатии на кнопку загорается светодиод. Для этого проекта потребуются:
- Arduino Nano
- Тактовая кнопка
- Светодиод
- Резистор 220-330 Ом (для светодиода)
- Резистор 10 кОм (подтягивающий для кнопки)
- Макетная плата
- Соединительные провода
Схема подключения:
- Подключите одну ножку кнопки к 5V
- Подключите вторую ножку кнопки к пину D2 и через резистор 10 кОм к GND (схема pull-down)
- Подключите анод светодиода (+, длинная ножка) через резистор 220 Ом к пину D3
- Подключите катод светодиода (-, короткая ножка) к GND
Код для управления светодиодом:
// Определяем пины
const int buttonPin = 2; // Пин с кнопкой
const int ledPin = 3; // Пин со светодиодом
// Переменные для хранения состояния
int buttonState = 0;
void setup() {
// Инициализируем пины
pinMode(ledPin, OUTPUT);
pinMode(buttonPin, INPUT);
}
void loop() {
// Считываем состояние кнопки
buttonState = digitalRead(buttonPin);
// Проверяем, нажата ли кнопка
if (buttonState == HIGH) {
digitalWrite(ledPin, HIGH); // Включаем светодиод
} else {
digitalWrite(ledPin, LOW); // Выключаем светодиод
}
}
Этот базовый код можно модифицировать, чтобы реализовать более сложные функции:
2. Переключатель состояния (toggle) с использованием кнопки
В этой модификации каждое нажатие кнопки будет менять состояние светодиода (вкл/выкл), а не просто зажигать его во время нажатия:
const int buttonPin = 2;
const int ledPin = 3;
int ledState = LOW; // текущее состояние светодиода
int lastButtonState = LOW; // предыдущее состояние кнопки
void setup() {
pinMode(ledPin, OUTPUT);
pinMode(buttonPin, INPUT);
}
void loop() {
// Считываем текущее состояние кнопки
int buttonState = digitalRead(buttonPin);
// Сравниваем с предыдущим состоянием
if (buttonState != lastButtonState) {
// Если состояние изменилось и кнопка нажата
if (buttonState == HIGH) {
// Меняем состояние светодиода на противоположное
ledState = !ledState;
digitalWrite(ledPin, ledState);
}
// Небольшая задержка для устранения дребезга контактов
delay(50);
}
// Сохраняем текущее состояние как предыдущее для следующей итерации
lastButtonState = buttonState;
}
Эта схема демонстрирует важный концепт в программировании Arduino — обработку изменений состояния (state change detection) вместо постоянного опроса состояния.
3. Светодиодная индикация с несколькими уровнями
Создадим "индикатор уровня" с несколькими светодиодами, которые загораются в зависимости от значения с аналогового входа (например, потенциометра):
Для этого проекта потребуются:
- Arduino Nano
- Потенциометр (10-100 кОм)
- 4-5 светодиодов разных цветов
- Резисторы 220-330 Ом по количеству светодиодов
- Макетная плата
- Соединительные провода
Схема подключения:
- Подключите крайние выводы потенциометра к 5V и GND
- Подключите средний вывод потенциометра к аналоговому входу A0
- Подключите светодиоды через резисторы к пинам D3, D5, D6, D9 (выбраны пины с ШИМ)
- Катоды всех светодиодов подключите к GND
Код для управления индикатором уровня:
// Определяем пины для светодиодов
const int ledPins[] = {3, 5, 6, 9};
const int numLeds = 4;
// Пин потенциометра
const int potPin = A0;
void setup() {
// Настраиваем пины светодиодов как выходы
for (int i = 0; i < numLeds; i++) {
pinMode(ledPins[i], OUTPUT);
}
}
void loop() {
// Считываем значение с потенциометра (0-1023)
int sensorValue = analogRead(potPin);
// Определяем, сколько светодиодов должно гореть
// Делим диапазон 0-1023 на 4 сегмента
int ledsToLight = map(sensorValue, 0, 1023, 0, numLeds);
// Зажигаем нужное количество светодиодов
for (int i = 0; i < numLeds; i++) {
if (i < ledsToLight) {
digitalWrite(ledPins[i], HIGH); // Зажигаем
} else {
digitalWrite(ledPins[i], LOW); // Гасим
}
}
// Короткая задержка для стабильности
delay(20);
}
Для более плавного эффекта можно модифицировать код, используя функцию analogWrite() для ШИМ-пинов, что позволит регулировать яркость светодиодов:
// Модифицированная версия с плавной регулировкой яркости
void loop() {
int sensorValue = analogRead(potPin);
// Для каждого светодиода определяем яркость
for (int i = 0; i < numLeds; i++) {
// Вычисляем пороговые значения для каждого светодиода
int thresholdLow = i * (1023 / numLeds);
int thresholdHigh = (i + 1) * (1023 / numLeds);
if (sensorValue < thresholdLow) {
// Ниже порога – выключен
analogWrite(ledPins[i], 0);
} else if (sensorValue > thresholdHigh) {
// Выше верхнего порога – полная яркость
analogWrite(ledPins[i], 255);
} else {
// В диапазоне – плавное увеличение яркости
int brightness = map(sensorValue, thresholdLow, thresholdHigh, 0, 255);
analogWrite(ledPins[i], brightness);
}
}
delay(20);
}
Эти примеры демонстрируют основные принципы создания интерактивных устройств на базе Arduino Nano, которые можно адаптировать под различные задачи и проекты.
Полезные мини-проекты на Arduino Nano с готовыми схемами
В этом разделе собраны практичные мини-проекты, которые можно собрать быстро и получить полезное устройство. 🛠️ Каждый проект включает готовую схему, список компонентов и полностью рабочий код.
1. Метеостанция с датчиком DHT11/DHT22
Создайте простую домашнюю метеостанцию, которая измеряет температуру и влажность воздуха.
Компоненты:
- Arduino Nano
- Датчик DHT11 или DHT22
- ЖК-дисплей 16x2 с I2C адаптером
- Резистор 10 кОм (если ваш DHT не имеет встроенного)
- Макетная плата и провода
Схема подключения:
- DHT11/22: VCC к 5V, GND к GND, DATA к пину D4
- I2C дисплей: VCC к 5V, GND к GND, SDA к A4, SCL к A5
// Подключаем необходимые библиотеки
#include <DHT.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
// Настройка датчика DHT
#define DHTPIN 4
#define DHTTYPE DHT11 // Заменить на DHT22 при необходимости
DHT dht(DHTPIN, DHTTYPE);
// Настройка дисплея (адрес 0x27 для 16x2)
LiquidCrystal_I2C lcd(0x27, 16, 2);
void setup() {
Serial.begin(9600);
dht.begin();
lcd.init();
lcd.backlight();
lcd.print("Метеостанция");
lcd.setCursor(0, 1);
lcd.print("Инициализация...");
delay(2000);
}
void loop() {
// Считываем влажность и температуру
float h = dht.readHumidity();
float t = dht.readTemperature();
// Проверяем, корректны ли полученные значения
if (isnan(h) || isnan(t)) {
lcd.clear();
lcd.print("Ошибка датчика!");
Serial.println("Ошибка считывания с DHT!");
delay(2000);
return;
}
// Выводим данные на дисплей
lcd.clear();
lcd.print("Темп: ");
lcd.print(t);
lcd.print(" C");
lcd.setCursor(0, 1);
lcd.print("Влаж: ");
lcd.print(h);
lcd.print(" %");
// Выводим в монитор порта для отладки
Serial.print("Влажность: ");
Serial.print(h);
Serial.print(" %, Температура: ");
Serial.print(t);
Serial.println(" °C");
// Обновляем показания каждые 5 секунд
delay(5000);
}
2. Автоматическая подсветка с фоторезистором
Создайте систему, которая автоматически включает светодиод или реле при наступлении темноты.
Компоненты:
- Arduino Nano
- Фоторезистор (LDR)
- Резистор 10 кОм
- Светодиод
- Резистор 220 Ом (для светодиода)
- Макетная плата и провода
Схема подключения:
- Подключите один вывод фоторезистора к 5V
- Другой вывод фоторезистора подключите к аналоговому пину A0 и через резистор 10 кОм к GND
- Подключите анод светодиода через резистор 220 Ом к пину D9
- Подключите катод светодиода к GND
// Определяем пины
const int photoPin = A0; // Фоторезистор
const int ledPin = 9; // Светодиод (ШИМ-пин для плавного управления)
// Настройки порогов освещенности
const int thresholdDark = 300; // Порог темноты
const int thresholdBright = 700; // Порог яркости
void setup() {
Serial.begin(9600);
pinMode(ledPin, OUTPUT);
}
void loop() {
// Считываем значение с фоторезистора
int lightLevel = analogRead(photoPin);
// Выводим в монитор порта для отладки
Serial.print("Уровень освещенности: ");
Serial.println(lightLevel);
// Логика управления светодиодом
if (lightLevel < thresholdDark) {
// В темноте включаем светодиод на полную яркость
analogWrite(ledPin, 255);
} else if (lightLevel > thresholdBright) {
// При ярком свете выключаем светодиод
analogWrite(ledPin, 0);
} else {
// В промежуточных условиях регулируем яркость
int brightness = map(lightLevel, thresholdDark, thresholdBright, 255, 0);
analogWrite(ledPin, brightness);
}
delay(100); // Небольшая задержка для стабильности
}
3. Музыкальный дверной звонок с пьезоэлементом
Создайте простой дверной звонок, который воспроизводит мелодию при нажатии на кнопку.
Компоненты:
- Arduino Nano
- Тактовая кнопка
- Пьезоэлемент (зуммер)
- Резистор 10 кОм
- Макетная плата и провода
Схема подключения:
- Подключите одну ножку кнопки к 5V
- Вторую ножку кнопки подключите к пину D2 и через резистор 10 кОм к GND
- Подключите положительный вывод пьезоэлемента к пину D8
- Отрицательный вывод пьезоэлемента подключите к GND
// Определяем пины
const int buttonPin = 2; // Кнопка
const int buzzerPin = 8; // Пьезоэлемент
// Определяем ноты
#define NOTE_C4 262
#define NOTE_D4 294
#define NOTE_E4 330
#define NOTE_F4 349
#define NOTE_G4 392
#define NOTE_A4 440
#define NOTE_B4 494
#define NOTE_C5 523
// Мелодия "Для Элизы" (упрощенная версия)
int melody[] = {
NOTE_E4, NOTE_D4, NOTE_E4, NOTE_D4, NOTE_E4, NOTE_B4, NOTE_D4, NOTE_C4, NOTE_A4,
0, NOTE_C4, NOTE_E4, NOTE_A4, NOTE_B4, 0, NOTE_E4, NOTE_G4, NOTE_B4, NOTE_C5
};
// Длительность нот (1 – целая нота, 4 – четвертная, 8 – восьмая и т.д.)
int noteDurations[] = {
8, 8, 8, 8, 8, 8, 8, 8, 4,
8, 8, 8, 8, 4, 8, 8, 8, 8, 4
};
// Переменные для отслеживания состояния кнопки
int lastButtonState = LOW;
bool playMelody = false;
void setup() {
pinMode(buttonPin, INPUT);
pinMode(buzzerPin, OUTPUT);
}
void loop() {
// Считываем состояние кнопки
int buttonState = digitalRead(buttonPin);
// Проверяем, было ли нажатие кнопки
if (buttonState != lastButtonState) {
if (buttonState == HIGH) {
playMelody = true;
}
delay(50); // Задержка для устранения дребезга контактов
}
lastButtonState = buttonState;
// Если нужно проиграть мелодию
if (playMelody) {
// Проигрываем мелодию
for (int i = 0; i < sizeof(melody) / sizeof(melody[0]); i++) {
if (melody[i] == 0) {
// Пауза
delay(1000 / noteDurations[i]);
} else {
// Играем ноту
tone(buzzerPin, melody[i], 1000 / noteDurations[i]);
delay(1000 / noteDurations[i] * 1.3); // Небольшая пауза между нотами
noTone(buzzerPin);
}
}
playMelody = false; // Сбрасываем флаг после проигрывания
}
}
Эти проекты демонстрируют, как с минимальным набором компонентов можно создавать функциональные устройства на базе Arduino Nano. Они служат не только для обучения, но и могут быть адаптированы для решения практических задач в повседневной жизни.
Освоение Arduino Nano через практические проекты открывает удивительные возможности в мире электроники. Начав с простого мигания светодиода и дойдя до создания метеостанции, вы приобретаете не просто набор навыков, а новый способ мышления. Каждый реализованный проект становится ступенькой к более сложным системам и уникальным изобретениям. Помните, что главное в этом пути – практика и эксперименты, которые превращают теоретические знания в работающие устройства.
Читайте также
- Arduino для умного дома: 5 проектов для простой автоматизации
- 15 проверенных источников проектов Arduino: от новичка до профи
- Готовые Arduino-проекты: от метеостанции до умного дома
- Умное освещение на Arduino: пошаговая инструкция для новичков
- Автоматическая кормушка для животных: собираем на Arduino дома
- 10 игровых устройств на Arduino: схемы, код и полезные советы
- Arduino: основы программирования для начинающих электроников
- Как собрать умный термостат на Arduino: экономия и автоматизация
- Arduino: от мигающего светодиода к умному дому за 5 шагов
- 10 проектов Arduino для умного дома: практическое руководство