Простые проекты на Arduino Uno
Что это
Этот раздел wiki — сборник простых проектов. Если у вас без дела пылится Arduino Uno, по нашим рецептам вы за несколько минут соберёте законченное устройство. Для сборки проектов не понадобятся инструменты, кучи компонентов и даже рабочий стол — мы обойдёмся без пайки и проводов.
Все скетчи к проектам подробно прокомментированы. Вы можете просто скопировать код и получить готовое устройство. А можете проанализировать программы — в таком случае наверняка найдёте полезные трюки и лайфхаки.
Какие железки используем
Все представленные устройства собираются на базе контроллера Arduino Uno и платы Slot Shield. В зависимости от проекта к ним добавятся от одного до шести Тройка-модулей — сенсоров и индикаторов.
Контроллер
Железки и скетчи протестированы на оригинальной итальянской Arduino Uno третьей ревизии. Если у вас неоригинальная плата — вероятнее всего, проекты будут работать, но гарантировать это нельзя.
Troyka-модули
Мы используем готовые элементы в формате Тройка-модулей. У них на борту все необходимые для работы элементы и обвязка для быстрого подключения к управляющей плате. У нас на выбор более сотни модулей — от простейших светодиодов, до систем спутниковой навигации. Единый формат модулей избавит от проблем с совместимостью. Ко всем модулям написаны библиотеки, которые упростят процесс программирования и сделают код простым и прозрачным.
Slot Shield
Проекты собираются на Slot Shield. Эта плата расширения крепится поверх Ардуино и выводит гребёнки пинов на удобные разъёмы. На Slot Shield можно установить от одного до шести модулей в разных комбинациях. Новая комбинация — новое устройство.
Разумеется, вы можете повторить проекты и на обычной макетке или Troyka Shield — соедините указанные в схеме пины обычными проводами и всё заработает.
1. Электронные часы. Как собрать…
…простые часы
Настольные часы, которые состоят всего из одного модуля — четырёхразрядного индикатора. Текущее время синхронизируется с часами компьютера при перепрошивке устройства.
…часы c подстройкой времени
Простые часы, с четырёхкнопочной клавиатурой. Кнопками можно изменить текущее время — отдельно часы и минуты.
…автономные часы
Электронный гаджет с модулем часов реального времени. На модуле предусмотрена батарейка, часы не собьются даже при отключении питания. Время настраивается с помощью четырёхкнопочной клавиатуры.
…электронный будильник
Часы с громкой пьезопищалкой. Текущее время и время срабатывания сигнала задаются с помощью четырёхкнопочной клавиатуры. За точность хода отвечает модуль часов реального времени.
…световой будильник
Электронный будильник с функцией имитации рассвета. За пять минут до установленного времени будильник деликатно увеличивает уровень освещённости в комнате. Сначала будит спокойным зелёным цветом, затем добавляет жёлтый, после — начинает светиться красным.
2. Метеостанция. Как собрать…
…простую станцию для компьютера
Подключим цифровой метеодатчик и выведем результаты на компьютер.
…метеостанцию с дисплеем
Метеостанция, которая выводит температуру и влажность на компактный четырёхразрядный экран.
…автономную метеостанцию с барометром
Станция для метеозаисимых людей. Гаджет выводит на экран температуру, влажность и атмосферное давление.
…метеостанцию с внешним датчиком температуры
Метеостанция, которая покажет не только температуру, влажность и атмосферное давление в помещении, но и сообщит о погоде за окном.
10 интересных вещей, которые можно сделать на Arduino
Красивые, полезные и странные — всё как мы любим.
Если у вас есть тяга к технологиям (или ребёнок с такой тягой), рассмотрите Arduino. Эта штука озадачит вас и ребёнка на много часов, а на выходе получатся удивительные проекты.
Что за Arduino
Arduino — это программируемый микроконтроллер. То есть это плата, на которую можно записать вашу программу, и эта плата сможет управлять другими штуками: например, зажечь лампочку, издать звук, включить электроприбор, измерить температуру, отправить СМС.
На самом базовом уровне Arduino просто отправляет и считывает электрические импульсы. Например, можно подключить к нему термометр, и Arduino сможет считать температуру в комнате. А потом, в зависимости от программы, отправить сигнал на устройство, которое включит вентилятор.
Или можно подключить к Arduino датчик углекислого газа. Arduino можно научить считывать показания датчика каждые пять минут и, когда уровень углекислого газа превышает норму, запищать, замигать лампочкой или с помощью серии моторчиков открыть окно.
К Arduino есть много плат расширения и датчиков. Сферы применения платы почти безграничны: автоматизация, системы безопасности, умный дом, музыка, робототехника и многое другое. Вот что можно делать на этой умной итальянской плате и на её российских и зарубежных клонах.
1. Робот-бармен с Bluetooth-управлением
Сложность: 4/5.
Время: 5/5.
Незаменимое устройство для любой вечеринки: работает от восьми батареек, готовит много коктейлей и управляется без проводов. В основе механического бармена — плата Arduino, приводы для позиционирования шейкера и подачи напитков, датчики положений.
Главная сложность при изготовлении — инженерная. Нужно точно прикрутить все детали и соединить их между собой, чтобы ёмкость оказывалась точно под нужными бутылками.
2. Светящийся куб на 512 светодиодов
Сложность: 3/5.
Время: 3/5.
Красивая штука, которая может светиться в такт музыке как трёхмерный эквалайзер и показывать 3D-анимацию. А ещё это может работать как необычный ночник.
Для сборки понадобится деревянное шасси с отверстиями, чтобы каждый ярус был таким же по размеру и форме, что и остальные. Число светодиодов в каждой грани выбрано не случайно: 8 ламп = 8-битная логика, самая простая в программировании и управлении через контроллер.
3. Взломщик кодовых замков
Сложность: 5/5.
Время: 4/5.
Этот проект разработал хакер Сэми Камкар, и мы приводим его только в демонстрационных целях. Для взлома, кроме платы Arduino, автор взял серво- и шаговый двигатели для перебора комбинаций и соединил всё на самодельном шасси из алюминия. В основе алгоритма — простой перебор всех комбинаций, но робот это делает быстрее человека.
4. Nod Bang — киваем головой и делаем бит
Сложность: 2/5.
Время: 3/5.
Идея в том, чтобы не просто кивать в такт музыке, а кивками самому генерировать звук. Эндрю Ли сделал специальное устройство, которое следит за положением головы и в момент наклона воспроизводит нужный звук.
В наушники он встроил акселерометр, кнопки отвечают за выбор звука, а Arduino — за воспроизведение звука на компьютере через MIDI-интерфейс. Чтобы всё выглядело эффектнее, у кнопок есть подсветка, и они тоже делают бит.
5. Поющее растение
Сложность: 2/5.
Время: 2/5.
По сути это терменвокс, который сделали в виде растения. Все остальные принципы работы остались теми же: звук возникает при движении рук, и разные движения генерируют разную мелодию.
Плата регистрирует изменение амплитуды сигнала, для чего автор использует самодельный сенсорный детектор для анализа прикосновений к цветку. Кроме этого понадобилась плата расширения Gameduino и сам цветок.
6. Замок, который открывается на секретный стук
Сложность: 3/5.
Время: 2/5.
Интересная вещь для тех, кто хочет поиграть в шпионов или пускать в комнату только своих друзей. Замок распознаёт стук по двери и сравнивает его с базовым звучанием, которое установил владелец. Если совпадает — приводы отодвигают замок и дверь открывается, если нет — ничего не происходит, можно постучать заново.
Чтобы установить новый стук на открытие, нужно зажать кнопку на ручке и постучать по двери новым способом. Пьезосенсор распознаёт вибрации и записывает их в память платы.
7. Горшок для цветов с автополивом
Сложность: 4/5.
Время: 3/5.
Полезный горшок для тех, кто забывает полить цветы перед отъездом или просто не знает, как часто надо их поливать. Вся электроника, насосы и ёмкость для воды находятся внутри горшка. Для каждого растения можно запрограммировать свой режим полива в каждом горшке.
Основные характеристики чудо-горшка:
- встроенный резервуар для воды;
- датчик контроля уровня влажности почвы;
- насос для подачи воды;
- датчик уровня воды в резервуаре;
- светодиод, информирующий о недостатке воды в резервуаре.
8. Драм-машина
Сложность: 1/5.
Время: 2/5.
Простая драм-машина на Arduino. Проект интересен тем, что это не обычный перебор записанных семплов, а настоящая генерация звука с помощью встроенного железа. Ещё здесь есть анализатор спектра звука: через видеовыход можно посмотреть на диаграммы и частотные характеристики.
Математическая основа этого устройства — разложение в ряд Фурье, которое решается подключением стандартной библиотеки.
9. Шагающий робот
Сложность: 2/5.
Время: 1/5.
Простой в изготовлении четырёхногий робот, который шагает и самостоятельно преодолевает препятствия в сантиметр высотой.
Чтобы его сделать, вам понадобятся сервомоторы для ног, немного проволоки и любой пластик, из которого делается шасси. Для питания — аккумулятор любой модели, который крепится на спине робота.
10. Робот-пылесос
Сложность: 4/5.
Время: 5/5.
Дмитрий Иванов из Сочи собрал настоящий робот-пылесос, который делает всё то же самое, что и промышленные устройства, только с возможностью тонкой настройки под себя и свою квартиру.
Основные детали — плата Arduino, 6 инфракрасных датчиков, турбина с двигателем и щётками и аккумулятор. Ещё у робота есть датчики столкновения, которые помогают объезжать препятствия, и контроллер аккумулятора, который следит за уровнем батарей и предупреждает о том, что пылесос надо зарядить.
Ардуино для начинающих – ТОП-3 проекта, схемы, фото, видео
- Датчик движения
- Управление устройствами со смартфона
- Мини-пианино — схемы и видео
Сегодня рассмотрим ТОП-3 интересных Ардуино проекта для начинающих. Сначала подробно рассмотрим инструкцию по сборке датчика движения. Второй проект — управление устройствами с помощью смартфона через Bluetooth — детально поговорим о подборе комплектующих и схеме подключения. Третий проект на Ардуино для начинающих — мини-пианино. Прилагаем не только пошаговую инструкцию по сборке, но и алгоритм программирования, фото и видео. Научимся играть на собранном пианино песенку «С днем Рождения».
Датчик движения с Ардуино — проект для начинающих
Для начала рассмотрим, как можно сделать датчик движения с помощью ультразвукового датчика (HC-SR04), который будет включать каждый раз светодиод. Это устройство легко смогут повторить новички, но при этом он будет интересен и более опытным инженерам.
Необходимые детали
Чтобы создать датчик движения с Arduino, HC-SR04 и светодиодом (LED) нам понадобятся следующие комплектующие:
- Плата Arduino (мы использовали Arduino Uno).
- Светодиод (LED, цвет не имеет значения).
- Резистор/сопротивление 220 Ом.
- Макетная плата.
- USB-кабель Arduino.
- Батарейка 9В с зажимом (опционально).
- 6 проводов.
Позиционирование деталей
Сначала подключите ультразвуковой датчик и светодиод на макетной плате. Подключите короткий кабель светодиода (катод) к контакту GND (земля) датчика. Затем установите резистор в том же ряду, что и более длинный провод светодиода (анод), чтобы они были соединены.
Подключение частей
Теперь нужно подключить несколько проводов на задней панели датчика. Есть четыре контакта — VCC, TRIG, ECHO и GND. После вставки проводов необходимо выполнить следующие подключения:
- Датчик — Arduino.
- VCC — 5V (питание).
- TRIG — 5 с пометкой.
- ECHO — 4 с пометкой.
- GND — GND (земля).
- Конец резистора на цифровой вывод по вашему выбору, просто не забудьте изменить его позже в коде.
Пометки обозначают, что контакт может быть подключен к любым двум цифровым выводам Arduino, просто убедитесь, что вы изменили их в коде позже.
Загрузка кода
Теперь вы можете подключить Arduino к компьютеру с помощью USB-кабеля. Откройте программное обеспечение Arduino и загрузите код, который вы можете найти ниже. Константы прокомментированы, поэтому вы точно знаете, что они делают и, возможно, поменяете их.
const int ledPin = 6; // Цифровой выход светодиода
const int trigPin = 5; // Цифровой выход для подключения TRIG
const int echoPin = 4; // Цифровой выход для подключения ECHO
const int ledOnTime = 1000; // Время, в течение которого светодиод остается включенным, после обнаружения движения (в миллисекундах, 1000 мс = 1 с)
const int trigDistance = 20; // Расстояние (и меньшее значение) при котором срабатывает датчик (в сантиметрах)
int duration;
int distance;
void setup() <
pinMode(ledPin, OUTPUT);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
>
void loop() <
digitalWrite(trigPin, LOW);
digitalWrite(trigPin, HIGH);
delay(1);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = duration * 0.034 / 2;
if (distance 0) // Send data only when you receive dаta:
<
data = Serial.read(); //Read the incoming data and store it into variable data
Serial.print(data); //Print Value inside data in Serial monitor
Serial.print(«\n»); //New line
if(data == ‘1’) // Checks whether value of data is equal to 1
digitalWrite(13, HIGH); //If value is 1 then LED turns ON
else if(data == ‘0’) // Checks whether value of data is equal to 0
digitalWrite(13, LOW); //If value is 0 then LED turns OFF
>
>
Принцип работы
Модуль HC 05/06 работает по последовательному каналу связи. Андроид-приложение последовательно отправляет данные на модуль Bluetooth, когда вы нажимаете определенную клавишу. Bluetooth на другом конце получает данные и отправить на Arduino через TX-соединение модуля Bluetooth (RX-соединение Arduino).
Код загруженный в Arduino проверяет полученные данные и сравнивает их. Если получена «1» — светодиод включается и выключается при получении «0». Откройте монитор последовательного порта и наблюдайте полученные данные.
Приложение для Андроид-устройств
В этом уроке мы не будем касаться создания приложений для устройств на основе Андроида. Вы можете скачать приложение на GitHub.
После того, как мы подключились через Bluetooth, нужно скачать и установить приложение, которое будет управлять нашим светодиодом на расстоянии. Подсоединяем смартфон к модулю Bluetooth HC 05/06:
- Включаем модуль HC 05/0.
- Ищем устройство
- Соединяемся с HC 05/06 введя дефолтный пароль «1234» или «0000» (четыре нуля).
После этого мы устанавливаем приложение на наш смартфон. Открываем его. Выбираем устройство — модуль Bluetooth из списка (HC 05/06). После успешного подключения нажимаем кнопку ON для включения светодиода и кнопку OFF, чтобы выключить его. Потом уже можно нажать кнопку «Отключить», чтобы отключиться от модуля Bluetooth.
- Возможно, вам также будет интересна инструкция по созданию сигнализатора поклевки своими руками
Этот проект можно улучшить и поднять на более высокий уровень для, например, автоматизация дома через управление смартфоном, управляемый робот и многое другое.
Видео с пошаговой сборкой устройства для управления со смартфона:
Делаем мини-пианино с помощью Ардуино — схемы и видео
Сделаем пианино с помощью Arduino и сыграем на нем свою первую мелодию.
Ардуино — платформа с открытым исходным кодом, используемая для создания проектов в электронике. Она состоит из программируемой платы (часто называемой микроконтроллером) и части программного обеспечения или интегрированной среды разработки Arduino IDE для ПК, которая используется для написания и загрузки компьютерного кода на плату.
Компоненты
Платформа Arduino стала довольно популярной среди начинающих в электронике и не зря. В отличие от большинства предыдущих программируемых печатных плат, Arduino не нуждается в отдельном аппаратном обеспечении для загрузки нового кода на плату — вы можете просто использовать USB-кабель.
Кроме того, в Arduino IDE используется упрощенная версия C ++, что упрощает обучение программе. Наконец, Ардуино предоставляет стандартный форм-фактор, который разбивает функции микроконтроллера на более доступные пакеты.
Необходимые компоненты для нашего проекта:
- Arduino UNO — 1 шт.
- Провода-переходники папа-папа — 104×4.
- Клавиатура — 14 Ом.
- Динамики — 1A.
- ПК или ноутбук.
Соединяем компоненты
Подключаем клавиатуру строки к 3 2 8 0 контактам Arduino, а столбцы к 7 6 5 4 выводам Arduino.
Подключаем провода динамика к клеммам 11 и Земля (GND).
Настройка
Кнопки клавиатуры (наше пианино) были подключены с помощью перемычек. Основной эскиз (скетч) определяет, какие частоты музыкальных нот связаны с каждой клавишей пианино.
Для этого проекта мы использовали C4, D4, E4, F4, G4, A4, B4, C5, D5, E5, F5, G5, A5 и B5, причем C4 был переключателем «0», D4 — переключателем «1» и так далее. Измените значения частот или добавьте дополнительные переключатели, чтобы полностью настроить собственный проект. Динамик просто подключен одним концом к контакту 11 Arduino, а другой — к земле.
Функция «тон» (tone) в коде будет искать этот вывод для воспроизведения вызываемой ноты.
Рабочий код
Вставьте код ниже в Arduino IDE и затем загрузите его в микроконтроллер. Нажмите кнопку сброса, если что-то пойдет не так. Вам также необходимо загрузить и установить библиотеку Arduino Keypad, которая доступна для скачивания ниже:
Эскиз (скетч) начинается с импорта библиотек «Keypad.h» и «pitches.h», поэтому мы сможем ссылаться на различные элементы из них позже в коде. Далее код настраивается путем определения количества ROWS и COLUMNS, определяющих, какие контакты входы и выходы, а также устанавливаем контакт динамика как 11-й вывод Arduino.
Затем мы определяем значение каждой ноты в форме Матрицы и назначаем, какой вывод нам нужно связать со строками и столбцами (в этом проекте мы использовали 3, 2, 8, 0 выводы как ROWS — строк, и 7, 6, 5, 4 в качестве COLUMNS — столбцов).
Основной цикл. Мы сохраняем каждое значение ноты в переменную «customkey», а также печатаем значение в серийном мониторе Arduino IDE. Далее мы сравниваем каждую пользовательскую ноту и отправляем вывод SPEAKER NOTE (нота динамика) и DURATION (длительность) на функцию «тона».
На предыдущем шаге мы скачали библиотеку Arduino Keypad. Разархивируйте её в папку Arduino в Arduino IDE и далее пройдите:
Играем песню «С Днем Рождения»
Динамик должен быть подключен только к любым штыревым (PWM) разъемам ARDUINO, иначе настройка не будет работать.
Как играть песню «С Днем Рождения» на клавиатуре: