Полезные вещи на arduino. Часы-будильник на Arduino. Корпус сделан из конструктора LEGO. LEGO Arduino. Придай своим волосам больше возможностей

Доброго времени суток, уважаемые читатели и пользователи лучшего портала Трешбокс! Ни для кого не секрет, что на созданных своими руками вещах можно неплохо заработать. Если идея действительно интересная, то на ее основе можно создать собственный бизнес. Использование Arduino в этой области является очень удобным решением, ведь Arduino не запрещена для использования в коммерческих целях. О пяти интересных бизнес-идеях мы сегодня с вами поговорим.

Как это реализовать?

Компоненты для реализации идеи удобнее всего закупать на AliExpress. Там же можно найти различные корпуса. В нашем случае, корпус необходим, чтобы наше творение приобрело товарный вид.

Делать бизнес на Arduino очень выгодно, так как скетч вам нужно писать только один раз. В следующие копии вы просто «заливаете» уже готовый. Сами идеи смотрите ниже.

Автоматическое управление температурой дома


По порядку: Arduino Nano, Arduino Uno и NRF24L01


Я не хотел называть этот пункт как «умный» дом, ведь эта идея заключается только в управлении температурой. Я бы реализовал эту идею с помощью нескольких Arduino Nano и одной Arduino Mega/Uno. Связь между ними будет осуществляться с помощью модуля радиосвязи NRF24L01. Этот модуль позволяет связывать между собой до шести Arduino.

Arduino Nano будет заключена в небольшой корпус вместе датчиком температуры и влажности DHT22, модулем радиосвязи NRF24L01 и источником питания - батарейкой, например. Несколько таких маленьких коробочек будут размещены по всему дому.


DHT2 и текстовый LCD дисплей


Данные с Arduino Nano будут приниматься «базой», которой является Arduino Uno или Mega, заключенная в большой корпус вместе с NRF24L01 (в качестве приемника), текстовым LCD-дисплеем и источником питания (батарейка). Все это будет находиться возле системы отопления. «База» сможет принимать и обрабатывать данные о температуре и в зависимости от значения этих данных, будет посылаться команда системе отопления - повысить или понизить температуру.

«Умная» теплица


Пример готового решения.


Ни для кого не секрет, что управление собственной теплицей требует много внимания: вовремя открывать и закрывать двери, следить за влажностью почвы, а также следить за ростом посаженых там культур. Все это можно автоматизировать с использованием Arduino.


По порядку: Arduino Mega, DHT22 и текстовый LCD дисплей.


Одна Arduino способна контролировать температуру теплицы (с помощью того же датчика DHT22), выводить нужную информацию на LCD дисплей, подавать команду на открытие крана для подачи воды, а также управлять моторами для открытия и закрытия дверей.

ЧПУ станок


По порядку: Arduino Mega, L298N и шаговый двигатель.


Сюда же можно отнести и 3D принтеры. В интернете есть множество способов сделать ЧПУ станок на базе Arduino. Не все из них рабочие, но хорошие варианты точно найдутся. Из «железа» вам потребуется Arduino, желательно Mega, а также драйвер двигателей L298N и, естественно, сами двигатели. Все остальное - это рама и программный код. Должен заметить, что это одна из самых сложных идей в плане реализации.

Роботы


Пример готового решения.


Несомненно, роботы очень нравятся детям, особенно те, которыми они сами могут управлять. С помощью Arduino, роботов можно сделать даже из подручных материалов. Когда-то я рассматривал идею сделать робота в корпусе от пылесоса, который был очень похож на астромеханического дроида из «Звездных войн».

По порядку: HC-SR04, L293D, HC-06 и NRF24L01


Ультразвуковой дальномер HC-SR04 может определять расстояние до препятствий, чтобы в последствии их обогнуть. Драйвер двигателей L293D, который используется как плата расширения, способен управлять сразу четырьмя двигателями и тремя сервоприводами. В плане связи, мы не сильно ограничены. Можно использовать bluetooth-модуль HC-06, что позволит управлять вашим детищем со смартфона, но не может похвастаться хорошей дальностью связи, что не скажешь о уже известном модуле радиосвязи NRF24L01. Однако, тогда у вас пропадет возможность управления со смартфона.


Аккумуляторы 18650


В качестве источника питания можно использовать аккумуляторы формата 18650, параллельно соединенные для увеличения общей емкости.

Итог

К сожалению, это все идеи, которые мне удалось найти. Уверен, если вы заинтересуетесь какой-то идеей, вы сможете найти много информации на эту тему в интернете.
Сразу хочу сказать, что я не включал в этот список квадракоптеры и другие летательные аппараты ведь для них уже есть готовые платы управления. Скорее всего, Arduino бы просто не выдержала такую нагрузку.

В любом случае, надеюсь, вам было интересно. Напишите в комментариях, сталкивались вы с подобными идеями?

Сегодня речи пойдет про светофор на на DigiSpark и адресных светодиодах WS2812 . Это вторая версия светофора . Про первую я рассказывал вот тут . Первая версия получилась достаточно удобная и состояла из меньшего количество деталей. Почему я решил сделать вторую версию? Дело в том, что бокс под батарейки которые, я использовал в первой версии светофора на Arduino , очень подорожал. Некоторые продавцы продают его за 5 долларов на . Дороже всей остальной электроники. Поэтому я решил поменять бокс на более дешевый. А раз пришлось переделывать корпус. Принял решение изменить и размер самого светофора и сделать его больше первой версии. Также в ножку светофора добавил металлический стержень для увеличения жесткости.

Часы-будильник на Arduino. Корпус сделан из конструктора LEGO. LEGO Arduino

Пришел у меня 5 летний ребенок из садика и сказал, что ему задали сделать проект умные устройства в доме. Корпус можно сделать из любого подручного конструктора. Можно сделать из LEGO конструктора. Немного поразмыслив решили мы с сыном сделать часы-будильник на Digispark и 7 сегментном индикаторе на TM1637 с часами реального времени DS3231 .

Новые Arduino проекты и Проекты сделанные на ЧПУ станке

Вот и закончилось лета. И времени на разработку проектов на Arduino становиться больше. И сегодня я планирую рассказать о своих новых проектах которые я делаю на Ардуино и своем самодельном ЧПУ станке . Проекты еще в стадии разработки и не имеют конечного готового вида. Но все же я решил рассказать о них, чтобы услышит сторонне мнение.

Светофор на Digispark и адресных светодиодах WS2812 - Ардуино светофор

В предыдущей статье: «» я уже рассказывал про разработку светофора и о том что у меня не получилось сделать его полностью функциональным и работоспособным. Спустя пару недель я доработал его и теперь готов представить самодельный светофор на Ардуино и адресных светодиодах WS2812 .

Все заготовки для корпуса выпилил на своем самодельном ЧПУ станке .

Неудачные проекты Arduino светильников и светофора

Любая разработка приводит к неудачным и промежуточным моделям. Которые не удовлетворяют всем потребностям и ожиданием.

Доброго времени суток, Хабр. Запускаю цикл статей, которые помогут Вам в знакомстве с Arduino. Но это не значит, что, если Вы не новичок в этом деле – Вы не найдёте ничего для себя интересного.

Введение

Было бы не плохо начать со знакомства с Arduino. Arduino – аппаратно-программные средства для построения систем автоматики и робототехники. Главным достоинством есть то, что платформа ориентирована на непрофессиональных пользователей. То есть любой может создать своего робота вне зависимости от знаний программирования и собственных навыков.

Начало

Создание проекта на Arduino состоит из 3 главных этапов: написание кода, прототипирование (макетирование) и прошивка. Для того, чтоб написать код а потом прошить плату нам необходима среда разработки. На самом деле их есть немало, но мы будем программировать в оригинальной среде – Arduino IDE. Сам код будем писать на С++, адаптированным под Arduino. Скачать можно на официальном сайте . Скетч (набросок) – программа, написанная на Arduino. Давайте посмотрим на структуру кода:


main(){ void setup(){ } void loop(){ } }

Важно заметить, что обязательную в С++ функцию main() процессор Arduino создаёт сам. И результатом того, что видит программист есть:


void setup(){ } void loop(){ }

Давайте разберёмся с двумя обязательными функциями. Функция setup() вызывается только один раз при старте микроконтроллера. Именно она выставляет все базовые настройки. Функция loop() - циклическая. Она вызывается в бесконечном цикле на протяжении всего времени работы микроконтроллера.

Первая программа

Для того, чтоб лучше понять принцип работы платформы, давайте напишем первую программу. Эту простейшую программу (Blink) мы выполним в двух вариантах. Разница между ними только в сборке.


int Led = 13; // объявляем переменную Led на 13 пин (выход) void setup(){ pinMode(Led, OUTPUT); // определяем переменную } void loop(){ digitalWrite(Led, HIGH); // подаём напряжение на 13 пин delay(1000); // ожидаем 1 секунду digitalWrite(Led, LOW); // не подаём напряжение на 13 пин delay(1000); // ожидаем 1 секунду }

Принцип работы этой программы достаточно простой: светодиод загорается на 1 секунду и тухнет на 1 секунду. Для первого варианта нам не понадобиться собирать макет. Так как в платформе Arduino к 13 пину подключён встроенный светодиод.

Прошивка Arduino

Для того, чтоб залить скетч на Arduino нам необходимо сначала просто сохранить его. Далее, во избежание проблем при загрузке, необходимо проверить настройки программатора. Для этого на верхней панели выбираем вкладку «Инструменты». В разделе «Плата», выберете Вашу плату. Это может быть Arduino Uno, Arduino Nano, Arduino Mega, Arduino Leonardo или другие. Также в разделе «Порт» необходимо выбрать Ваш порт подключения (тот порт, к которому вы подключили Вашу платформу). После этих действий, можете загружать скетч. Для этого нажмите на стрелочку или во вкладке «Скетч» выберете «Загрузка» (также можно воспользоваться сочетанием клавиш “Ctrl + U”). Прошивка платы завершена успешно.

Прототипирование/макетирование

Для сборки макета нам необходимы следующие элементы: светодиод, резистор, проводки (перемычки), макетная плата(Breadboard). Для того, чтоб ничего не спалить, и для того, чтоб всё успешно работало, надо разобраться со светодиодом. У него есть две «лапки». Короткая – минус, длинная – плюс. На короткую мы будем подключать «землю» (GND) и резистор (для того, чтоб уменьшить силу тока, которая поступает на светодиод, чтоб не спалить его), а на длинную мы будем подавать питание (подключим к 13 пину). После подключения, загрузите на плату скетч, если вы ранее этого не сделали. Код остаётся тот же самый.


На этом у нас конец первой части. Спасибо за внимание.

Arduino - это маленькое электронное устройство, состоящее из одной печатной платы, которое способно управлять разными датчиками, электродвигателями, освещением, передавать и принимать данные… Arduino - это целое семейство устройств разных размеров и возможностей. А также это целый зоопарк клонов Ардуино и мир ардуино-совместимых устройств. Но давайте обо всём по порядку.

1 «Мозг» Arduino

«Мозг» Arduino - это микроконтроллер семейства Atmega . Микроконтроллер представляет из себя микропроцессор с памятью и различными периферийными устройствами, реализованный на одной микросхеме. Фактически это однокристальный микрокомпьютер, который способен выполнять относительно простые задачи. Разные модели из семейства Arduino оснащены разными микроконтроллерами.

Atmega328 - мозг Arduino UNO

На фото микроконтроллер Atmega328 . Такие микроконтроллеры стоят на Arduino UNO и Arduino Nano (но в другом корпусе).

2 «Руки» Arduino

Но какой толк от мозга, если он не имеет рук? Руками в данном случае служат электрические выводы , размещённые по периметру платы Arduino. Есть платы с большим количеством выводов, есть с меньшим. Например, самая большая плата в семействе Ардуино - Arduino Mega - имеет более 70 независимых выводов, а самая маленькая - Arduino Pro Mini - всего 22 вывода.


На фотографии показаны в сравнении Arduino Mega и Arduino Pro Mini. Представляете, что мог бы делать человек, имея столько рук, сколько Arduino Mega - выводов?

3 Цифровые и аналоговые выводы

Не все выводы у Arduino одинаковые. Есть выводы цифровые , а есть аналоговые . Принципиальная разница между ними в том, что на цифровых выводах может быть только два значения: либо логическая "1" (TRUE, от 3 до 5 вольт), либо логический "0" (FALSE, от 0 до 1,5 вольт), а на аналоговых выводах диапазон от логической "1" до "0" поделён на множество мелких участков.

Зачем это нужно? Давайте рассмотрим такой наглядный пример. Если подключить к цифровому выводу Arduino светодиод и подать на вывод логическую "1", то светодиод загорится с максимальной яркостью; если подать "0" - светодиод погаснет. Никаких промежуточных вариантов нет. Если светодиод подключить к аналоговому выводу, то яркостью светодиода можно управлять плавно. На практике к аналоговым выводам чаще всего подключаются какие-либо аналоговые датчики.

4 Чем может управлять Arduino

В итоге такое количество «рук» у Arduino позволяет подключать к нему огромное количество различных периферийных устройств. Среди них, например:

  • кнопки, герконы и джойстики,
  • светодиоды и фотодиоды,
  • микрофоны и динамики,
  • электродвигатели и сервоприводы,
  • ЖК дисплеи,
  • считыватели радиометок (RFID и NFC),
  • bluetooth, WiFi и Ethernet модули,
  • считыватели SD карт,
  • радиоприёмники и радиопередатчики,
  • GPS и GSM модули…

А также десятки различных датчиков:

  • освещённости,
  • магнитного поля,
  • ультразвуковые и лазерные дальномеры,
  • гироскопы и акселерометры,
  • датчики дыма и состава воздуха,
  • датчики давления, температуры и влажности…

И ещё многое, многое другое

Всё это превращает Arduino в универсальное ядро системы, которое может быть сконфигурировано совершенно разнообразными способами. Хотите сделать радиоуправляемую кормушку для питомца? Пожалуйста! Хотите чтобы при начале дождя у вас на лоджии закрывалось окно? Пожалуйста! Хотите управлять яркостью освещения в комнате со смартфона? Запросто! Хотите получать уведомления на e-mail, если почва комнатных растений стала слишком сухой? И это можно!


На фотографии показана лишь крохотная часть периферийных устройств, которые можно подключить к Arduino. На самом деле их гораздо, гораздо больше.

5 Общение с Arduino

Как же процессор узнаёт, что именно ему следует делать? Вы должны рассказать ему это. Написание сообщений для Arduino называется программирование . Существует язык для общения с микроконтроллером, упрощённый и адаптированный специально для Arduino. Освоить этот язык совсем не сложно при желании и определённой настойчивости, даже если вы никогда раньше не программировали.

И для упрощения этого процесса разработана специальная программная среда - Arduino IDE . В её состав включены десятки примеров хороших, работающих программ. Изучив их, вы очень быстро многое узнаете о языке общения с Arduino.

Arduino позволит вашим программам выйти из виртуального мира в мир реальный. Вы сможете увидеть, как написанные вами программы заставляют мигать светодиод или вращать вал двигателя, а затем делать и более сложные и полезные вещи. Arduino позволит вам узнать много нового и интересного и в электронике, и в программировании. В итоге это может послужить вам отличным хобби, увлекательным занятием с детьми, замечательным и полезным времяпровождением.

Вы можете заказать Arduino и множество разнообразных датчиков для него в китайском онлайн-магазине Али-Экспресс . Здесь цены ниже, но доставка занимает время от 3 недель до 1,5 месяцев. Можно заказать Arduino в магазине электроники Voltiq.ru . Здесь цены чуть выше, чем в китайских интернет-магазинах, но не придётся ждать целый месяц. Ещё один хороший магазин электроники и робототехники - FastNVR.ru .

Ну и напоследок, посмотрите, какие разные и замечательные проекты можно воплотить с помощью Ардуино!

В этой статье я решал собрать полное пошаговое руководство для начинающих Arduino. Мы разберем что такое ардуино, что нужно для начала изучения, где скачать и как установить и настроить среду программирования, как устроен и как пользоваться языком программирования и многое другое, что необходимо для создания полноценных сложных устройств на базе семейства этих микроконтроллеров.

Тут я постараюсь дать сжатый минимум для того, что бы вы понимали принципы работы с Arduino. Для более полного погружения в мир программируемых микроконтроллеров обратите внимание на другие разделы и статьи этого сайта. Я буду оставлять ссылки на другие материалы этого сайта для более подробного изучения некоторых аспектов.

Что такое Arduino и для чего оно нужно?

Arduino — это электронный конструктор, который позволяет любому человеку создавать разнообразные электро-механические устройства. Ардуино состоит из программной и аппаратной части. Программная часть включает в себя среду разработки (программа для написания и отладки прошивок), множество готовых и удобных библиотек, упрощенный язык программирования. Аппаратная часть включает в себя большую линейку микроконтроллеров и готовых модулей для них. Благодаря этому, работать с Arduino очень просто!

С помощью ардуино можно обучаться программированию, электротехнике и механике. Но это не просто обучающий конструктор. На его основе вы сможете сделать действительно полезные устройства.
Начиная с простых мигалок, метеостанций, систем автоматизации и заканчивая системой умного дома, ЧПУ станками и беспилотными летательными аппаратами. Возможности не ограничиваются даже вашей фантазией, потому что есть огромное количество инструкций и идей для реализации.

Стартовый набор Arduino

Для того что бы начать изучать Arduino необходимо обзавестись самой платой микроконтроллера и дополнительными деталями. Лучше всего приобрести стартовый набор Ардуино, но можно и самостоятельно подобрать все необходимое. Я советую выбрать набор, потому что это проще и зачастую дешевле. Вот ссылки на лучшие наборы и на отдельные детали, которые обязательно пригодятся вам для изучения:

Базовый набор ардуино для начинающих: Купить
Большой набор для обучения и первых проектов: Купить
Набор дополнительных датчиков и модулей: Купить
Ардуино Уно самая базовая и удобная модель из линейки: Купить
Беспаечная макетная плата для удобного обучения и прототипирования: Купить
Набор проводов с удобными коннекторами: Купить
Комплект светодиодов: Купить
Комплект резисторов: Купить
Кнопки: Купить
Потенциометры: Купить

Среда разработки Arduino IDE

Для написания, отладки и загрузки прошивок необходимо скачать и установить Arduino IDE. Это очень простая и удобная программа. На моем сайте я уже описывал процесс загрузки, установки и настройки среды разработки. Поэтому здесь я просто оставлю ссылки на последнюю версию программы и на

Версия Windows Mac OS X Linux
1.8.2

Язык программирования Ардуино

Когда у вас есть на руках плата микроконтроллера и на компьютере установлена среда разработки, вы можете приступать к написанию своих первых скетчей (прошивок). Для этого необходимо ознакомиться с языком программирования.

Для программирования Arduino используется упрощенная версия языка C++ с предопределенными функциями. Как и в других Cи-подобных языках программирования есть ряд правил написания кода. Вот самые базовые из них:

  • После каждой инструкции необходимо ставить знак точки с запятой (;)
  • Перед объявлением функции необходимо указать тип данных, возвращаемый функцией или void если функция не возвращает значение.
  • Так же необходимо указывать тип данных перед объявлением переменной.
  • Комментарии обозначаются: // Строчный и /* блочный */

Подробнее о типах данных, функциях, переменных, операторах и языковых конструкциях вы можете узнать на странице по Вам не нужно заучивать и запоминать всю эту информацию. Вы всегда можете зайти в справочник и посмотреть синтаксис той или иной функции.

Все прошивки для Arduino должны содержать минимум 2 функции. Это setup() и loop().

Функция setup

Для того что бы все работало, нам надо написать скетч. Давайте сделаем так, что бы светодиод загорался после нажатия на кнопку, а после следующего нажатия гас. Вот наш первый скетч:

// переменные с пинами подключенных устройств int switchPin = 8; int ledPin = 11; // переменные для хранения состояния кнопки и светодиода boolean lastButton = LOW; boolean currentButton = LOW; boolean ledOn = false; void setup() { pinMode(switchPin, INPUT); pinMode(ledPin, OUTPUT); } // функция для подавления дребезга 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); }

// переменные с пинами подключенных устройств

int switchPin = 8 ;

int ledPin = 11 ;

// переменные для хранения состояния кнопки и светодиода

boolean lastButton = LOW ;

boolean currentButton = LOW ;

boolean ledOn = false ;

void setup () {

pinMode (switchPin , INPUT ) ;

pinMode (ledPin , OUTPUT ) ;

// функция для подавления дребезга

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 ) ;

В этом скетче я создал дополнительную функцию debounse для подавления дребезга контактов. О дребезге контактов есть на моем сайте. Обязательно ознакомьтесь с этим материалом.

ШИМ Arduino

Широтно-импульсная модуляция (ШИМ) — это процесс управления напряжением за счет скважности сигнала. То есть используя ШИМ мы можем плавно управлять нагрузкой. Например можно плавно изменять яркость светодиода, но это изменение яркости получается не за счет уменьшения напряжения, а за счет увеличения интервалов низкого сигнала. Принцип действия ШИМ показан на этой схеме:

Когда мы подаем ШИМ на светодиод, то он начинает быстро зажигаться и гаснуть. Человеческий глаз не способен увидеть это, так как частота слишком высока. Но при съемке на видео вы скорее всего увидите моменты когда светодиод не горит. Это случится при условии что частота кадров камеры не будет кратна частоте ШИМ.

В Arduino есть встроенный широтно-импульсный модулятор. Использовать ШИМ можно только на тех пинах, которые поддерживаются микроконтроллером. Например Arduino Uno и Nano имеют по 6 ШИМ выводов: это пины D3, D5, D6, D9, D10 и D11. В других платах пины могут отличаться. Вы можете найти описание интересующей вас платы в

Для использования ШИМ в Arduino есть функция Она принимает в качестве аргументов номер пина и значение ШИМ от 0 до 255. 0 — это 0% заполнения высоким сигналом, а 255 это 100%. Давайте для примера напишем простой скетч. Сделаем так, что бы светодиод плавно загорался, ждал одну секунду и так же плавно угасал и так до бесконечности. Вот пример использования этой функции:

// Светодиод подключен к 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); } }

// Светодиод подключен к 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 -- ) {




Top