Что за Arduino
Arduino — это программируемый микроконтроллер. То есть это плата, на которую можно записать вашу программу, и эта плата сможет управлять другими штуками: например, зажечь лампочку, издать звук, включить электроприбор, измерить температуру, отправить СМС.
На самом базовом уровне Arduino просто отправляет и считывает электрические импульсы. Например, можно подключить к нему термометр, и Arduino сможет считать температуру в комнате. А потом, в зависимости от программы, отправить сигнал на устройство, которое включит вентилятор.
Или можно подключить к Arduino датчик углекислого газа. Arduino можно научить считывать показания датчика каждые пять минут и, когда уровень углекислого газа превышает норму, запищать, замигать лампочкой или с помощью серии моторчиков открыть окно.
Как программируют Arduino
К Arduino есть много плат расширения и датчиков. Сферы применения платы почти безграничны: автоматизация, системы безопасности, умный дом, музыка, робототехника и многое другое. Вот что можно делать на этой умной итальянской плате и на её российских и зарубежных клонах.
Коммуникация, интерфейсы
- GyverBus – общение по протоколу GBUS. Двухсторонняя связь сети Ардуинок по одному проводу. Описание
- Firmata – стандартная библиотека для общения с компьютером по протоколу Firmata. Описание
- SoftwareSerial – стандартная библиотека для создания TTL Serial на любых двух пинах, позволяет создать дополнительный порт для общения с Bluetooth/GPS/GSM и прочими модулями с Serial коммуникацией.
- AltSoftSerial – самая лучшая версия софтварного Serial, использует системный таймер
- SerialCommand – лёгкая библиотека для общения через порт при помощи команд
- CmdMessenger – мощная библиотека для общения через Serial порт, со своим парсером и кучей приколюх. Описание
- EasyTransfer – библиотека для общения двух Ардуинок через последовательный порт
- Streaming – вывод в порт “в стиле C++” при помощи оператора <<
- OneWire – библиотека для общения по протоколу one wire, например с датчиками температуры DS18b20. Ардуино может быть “slave” для общения, читать тут
- SerialControl – набор примеров для управления состояниями пинов при помощи Serial команд. Описание
- MiniPirate – более мощная версия SerialControl, позволяет командами в порт крутить серво, сканировать i2c и многое другое!
- MIDI_library – библиотека для работы с музыкальными устройствами по протоколу MIDI (через Serial, подходит любая Ардуина)
- MIDI – MIDI библиотека от великого PaulStoffregen (через Serial, подходит любая Ардуина)
- arcore – ещё одна библиотека для MIDI (USB-MIDI, только для Леонардо/Микро)
- MIDIUSB – ещё одна библиотека для MIDI (USB-MIDI, только для Леонардо/Микро)
- HIDUINO – набор инструментов для создания USB MIDI устройства
- HID – очень мощная библиотека для создания HID устройств (мыши, клавиатуры, геймпады и другие USB контроллеры)
- ArduinoJoystickLibrary – ещё одна библиотека для создания полноценного HID геймпада на Leonardo/Micro (ATmega32U4)
- CPPM – библиотека для организации связи по протоколу CPPM (например RC приёмник Orange R615X)
- PPMEncoder – декодирование и генерация PPM сигнала для RC моделей
- PWMread – статья + библиотека для чтения PWM сигнала с приёмников RC моделей
- TVout – библиотека для вывода графики на экран телевизора через вход AV. Описание
- X10 – библиотека для общения по протоколу X10 по линии питания 220V. Описание тут
- NicoHoodProtocol – универсальный протокол связи по проводу
Робот-бармен с Bluetooth-управлением
Сложность: 4/5.
Время: 5/5.
Незаменимое устройство для любой вечеринки: работает от восьми батареек, готовит много коктейлей и управляется без проводов. В основе механического бармена — плата Arduino, приводы для позиционирования шейкера и подачи напитков, датчики положений.
Главная сложность при изготовлении — инженерная. Нужно точно прикрутить все детали и соединить их между собой, чтобы ёмкость оказывалась точно под нужными бутылками.
Подробности: usamodelkina.ru.
Сравнение с Arduino Uno, Nano, Mega
В отличие от предшественников плата Arduino Leonardo работает всего на оном чипе. Здесь появился независимый разъем USB. В основе лежит микроконтроллер ATmega32u4, имеющий больший функционал по сравнению с Mega, Nano и Uno.
Дополнительные отличия:
- из-за отсутствия отдельной микросхемы для обработки последовательной связи последовательные порты имеют виртуальный характер;
- при открытии последовательного порта на ПК автоматического перезапуска не происходит;
- устройство может определяться ПК как последовательный порт, мышка, клавиатура или HID-устройство.
В модели Леонардо увеличился объем оперативной памяти, стало больше входов ШИМ. Но главное изменение — возможность подключения устройства через USB-разъем, что существенно повысило удобство подключения и функционал платформы.
Светящийся куб на 512 светодиодов
Сложность: 3/5.
Время: 3/5.
Красивая штука, которая может светиться в такт музыке как трёхмерный эквалайзер и показывать 3D-анимацию. А ещё это может работать как необычный ночник.
Для сборки понадобится деревянное шасси с отверстиями, чтобы каждый ярус был таким же по размеру и форме, что и остальные. Число светодиодов в каждой грани выбрано не случайно: 8 ламп = 8-битная логика, самая простая в программировании и управлении через контроллер.
Подробности: instructables.com.
Самые маленькие Arduino для ваших мини-проектов + примеры самих проектов
Если вам нужны маленькие Arduino-платы для DIY-проектов, эта статья как раз кстати. Вы хотите создать носимый девайс на базе Arduino, но оригинальная плата слишком большая? Или есть на примете другой проект, для которого нужна маленькая плата с большим количеством возможностей?
Эта подборка поможет выбрать то, что нужно. В ней собраны самые маленькие Arduino платы с разными характеристиками. Их можно использовать для разработки самых разных проектов — от роботов до носимых устройств. Есть и примеры проектов.
Seeduino Nano
Начнем с Seeeduino Nano. Это компактная плата, похожая на Seeeduino V4.2/Arduino UNO. Она полностью совместима с Arduino Nano — как по размерам, так и распиновкой. Несмотря на небольшой размер, она достаточно функциональна. Мы рекомендуем использовать эту плату новичкам, которые хотят с чего-то начать. Кроме того, если у вас есть кодовая база из предыдущего проекта Uno, ее можно использовать с Nano.
Характеристики включают память с частотой работы 16 МГц и 32 КБ, 1 КБ EEPROM, 2 KB RAM. В комплект входят элементы периферии для расширения функциональности проекта. Есть также коннектор Grove I2C, который дает возможность подключиться к сотням самых разных сенсоров и актуаторов.
Почему просто не использовать Arduino Nano? Это вопрос цены. Так, Seeeduino Nano вы можете получить за $6.90. А вот Arduino Nano стоит уже $22. А еще у Seeeduino большее количество периферии.
Если и этого не хватает, то можно приобрести Grove Shield for Arduino Nano. В комплекте поставляется 3 цифровых коннектора, 3 аналоговых, 1 L2C коннектор и 1 UART.
Характеристики Seeeduino Nano
- Микроконтроллер: ATmega328
- Рабочее напряжение: 5V
- Digital I/O Pins: 22
- PWM Enable Pins: 6
- Analog I/O pins: 8
- Flash Memory: 32KB
- SRAM: 2KB
- EEPROM: 1KB
- Частота: 16 MHz
- Размер: 45 mm x 18 mm
- Цена: $6.90
Arduino MKR1000
А это плата для тех, кому необходима беспроводная WiFi-связь. Есть минимальный навык в создании сетевых устройств? Если да, то Arduino MKR1000 как раз для вас!
Arduino MKR1000 разработана в качестве практичного и экономичного решения для разработчиков, проекты которых предусматривают модуль беспроводной связи. Основа платы — Atmel ATSAMW25 SoC.
Она состоит из трех основных блоков:
- SAMD21 Cortex-M0+ 32bit low power ARM MCU
- WINC1500 low power 2.4GHz IEEE 802.11 b/g/n Wi-Fi
- ECC508 CryptoAuthentication
ATSAMW25 включает также встроенную антенну.
Здесь есть модуль для подключения батареи, что дает возможность работать автономно от 5V. Модуль WIFi потребляет очень мало энергии, плюс оснащен Cryptochip для безопасного обмена данными. А еще эта плата совместима с Arduino IDE для упрощения использования Arduino Software (IDE).
Для подачи энергии используется USB-порт, так что система может работать с элементом питания или без него.
Характеристики Arduino MKR1000
- Микроконтроллер: SAMD21 Cortex-M0+ 32bit low power ARM MCU
- Рабочее напряжение: 3.3V
- Digital I/O Pins: 8
- PWM Enable Pins: 12
- Analog I/O pins: 8
- Flash Memory: 256KB
- SRAM: 32KB
- EEPROM: –
- Частота: 48 MHz
- Размер: 61.5mm x 25mm
- Цена: $34.99
Arduino Pro Mini
Конечно, в подборку мини-плат Arduino нельзя не включить Arduino Pro Mini. Это фактичесски Arduino Pro, упакованная в гораздо меньший форм-фактор. Кроме того, убраны некоторые элементы для минимизации размера.
Небольшой размер платы позволяет встраивать ее в любые проекты. Правда, для работы с ПО понадобится не только USB-кабель, но и преобразователь сигнала, внешняя плата. Например, USB CP2102.
Arduino Pro Mini поставляется в двух вариантах — 5V/16MHz и 3.3V/8MHz. В первом случае плата работает с тем же напряжением и на той же скорости, что и Arduino Nano и Micro. 3В плата более медленная, но потребляет меньше энергии, что дает возможность увеличить срок автономной работы.
Характеристики Arduino Pro Mini
- Микроконтроллер: ATmega328
- Рабочее напряжение: 5V / 3.3V
- Digital I/O Pins: 14
- PWM Enabled Pins: 6
- Analog I/O pins: 6
- Flash Memory: 32 KB (2KB зарезервированы для Bootloader)
- SRAM: 2KB
- EEPROM: 1KB
- Частота: 8 / 16 MHz
- Размер: 33 mm x 18 mm
- Цена: $9.95
Arduino MKR VIDOR 4000
Несмотря на то, что это не самая маленькая Arduino, она может похвастаться рядом уникальных функций, которых обычно нет у Arduino. Плюс ко всему, она очень небольшая, что дает возможность встраивать плату в самые миниатюрные проекты.
Если вы ищете нечто очень специфическое, чего нет у Arduino, что-то более сложное, обратите внимание на кастомизируемую и мощную плату MKR VIDOR 4000.
При помощи MKR VIDOR 4000 вы можете настроить все, что хотите. Вот характеристики: SRAM объемом 8 МБ; чип QSPI Flash объемом 2 МБ — 1 МБ выделен для пользовательских приложений; разъем Micro HDMI; разъем камеры MIPI; а также WiFi и BLE на базе серии U-BLOX NINA W10. Плата также включает классический интерфейс MKR, на котором все выводы управляются как SAMD21, так и FPGA. Есть и разъем Mini PCI Express с 25 настраиваемыми пользователем пинами.
FPGA содержит 16К логических элементов, 504 КБ встроенной ОЗУ и 56 18 × 18-битных умножителей HW для высокоскоростного DSP. Каждый вывод может быть настроен для UART, (Q) SPI, ШИМ высокого разрешения / высокой частоты, квадратурный энкодер, I2C, I2S, Sigma Delta DAC и т. Д.
Встроенная FPGA может использоваться в качестве обработчика аудио и видео. Эта плата также оснащена микросхемой SAMD21. Связь между FPGA и SAMD21 осуществляется без проблем.
Характеристики MKR VIDOR 4000
- FPGA: Intel® Cyclone® 10CL016 (datasheet)
- Рабочее напряжение: 3.3V
- Digital I/O Pins: 22 headers + 25 Mini PCI Express
- PWM Enabled Pins: All Pins
- Analog I/O pins: –
- Flash Memory: 2MB
- SRAM: 8MB
- EEPROM: –
- Частота: 48 MHz – Up to 200 MHz
- Размер: 83mm x 25mm
- Цена: $70.90
Arduino Micro
Еще один представитель семейства Arduino — плата Arduino Micro. Она несколько больше Nano. Зато плата оснащена ATmega32U4 — в этом основное отличие от Nano.
У Micro больше возможностей, чем у Nano. Это 20 цифровых пинов ввода / вывода, 12 аналоговых входов и 7 пинов с PWM. Кроме того, благодаря встроенному USB-порту вы можете легко использовать его в качестве мыши, клавиатуры и т. д. Однако загрузчик Micro может быть запрограммирован только с USB, для чего требуется специальный драйвер.
Зато не нужны никакие переходники-конвертеры, все работает из коробки.
Если вы знакомы с Arduino Leonardo, то это — его уменьшенная версия. Micro — самая маленькая плата в семействе ATmega32U4.
Технические характеристики
- Микроконтроллер: ATmega32u4
- Рабочее напряжение: 5V
- Digital I/O Pins: 20
- PWM Enabled Pins: 7
- Analog I/O pins: 12
- Flash Memory: 32 KB (4KB used by bootloader)
- SRAM:2.5KB
- EEPROM: 1KB
- Частота: 16 MHz
- Размер: 48 mm x 18 mm
- Цена: $18.90
Seeeduino XIAO
Это самая маленькая Arduino-плата из всех, что представлены в этой подборке. При этом функциональность ее на высоте, у нее куча возможностей и интерфейсов, которые так нужны разработчикам.
Плата оснащена Microchip SAMD21 Arm Cortex-M0+. Все основные компоненты размещены под металлической пластиной. Эта плата совместима с Arduino Zero, программировать можно при помощи Arduino IDE или Arduino Create.
Технические характеристики Seeeduino XIAO:
- Микроконтроллер: Microchip SAMD21G18 ARM Cortex-M0+ с тактовой частотой 48 МГц с 256 Кб флэш-памяти, 32 Кб SRAM
- USB – 1x порт USB type C для питания и программирования
- Расширение ввода / вывода
- Два 7-контактных разъема с 11x аналоговыми входами, 11x цифровыми входами и выходами, 1x DAC, SPI, UART и I2C
- Напряжение ввода / вывода 3,3 В (не толерантный к напряжению 5 В)
- Разное – 1x пользовательский светодиод, светодиод питания, 2x светодиода для последовательного порта, контакты сброса, контакты SWD, кварцевый генератор 32.768 кГц
- Питание – 5 В через порт USB-C, контакты питания (VIN / GND) для батарейки
- Размеры – 23.5×17.5×3.5 мм
Проекты на основе мини-плат Arduino
Что можно сделать на основе этих плат?
Пульсометр на основе Arduino Nano
Это бюджетная версия умных часов, единственное назначение устройства — измерение пульса.
Что нужно для проекта?
- Seeeduino Nano / Arduino Nano v3
- uECG элемент
- 2.4G беспроводный модуль NRF24L01+PA
- Светодиодное кольцо Grove (16-WS2813 Mini)
- LiPo аккумулятор
Умный дом
Что нужно для проекта?
- Arduino Micro & Genuino Micro
- Raspberry Pi Zero W
- Espressif ESP8266 ESP-01
- ПО Suitch
- ПО Apple HomeKit
- ПО Apply Siri
- ПО Google Now
Миниатюрная клавиатура
Это не клавиатура, а, по сути, одна сенсорная кнопка, которую можно запрограммировать на выполнение различных операций в среде Windows.
Что нужно для проекта?
- Arduino Micro & Genuino Micro
- Проводки
- Резистор 1 МОм
- Паяльник
А что больше всего понравилось вам из подборки? Что вы чаще всего используете в работе и почему? Расскажите об этом в комментариях.
Взломщик кодовых замков
Сложность: 5/5.
Время: 4/5.
Этот проект разработал хакер Сэми Камкар, и мы приводим его только в демонстрационных целях. Для взлома, кроме платы Arduino, автор взял серво- и шаговый двигатели для перебора комбинаций и соединил всё на самодельном шасси из алюминия. В основе алгоритма — простой перебор всех комбинаций, но робот это делает быстрее человека.
Подробности: YouTube.
Nod Bang — киваем головой и делаем бит
Сложность: 2/5.
Время: 3/5.
Идея в том, чтобы не просто кивать в такт музыке, а кивками самому генерировать звук. Эндрю Ли сделал специальное устройство, которое следит за положением головы и в момент наклона воспроизводит нужный звук.
В наушники он встроил акселерометр, кнопки отвечают за выбор звука, а Arduino — за воспроизведение звука на компьютере через MIDI-интерфейс. Чтобы всё выглядело эффектнее, у кнопок есть подсветка, и они тоже делают бит.
Подробности: YouTube.
Начало работы
Как только необходимое оборудование подготовлено, а проект разработан, можно приступать к выполнению поставленной задачи.
Этапы
При организации системы «Умный дом» на базе Ардуино, стоит действовать по следующему алгоритму:
- Инсталляция программного кода;
- Конфигурация приложения под применяемое устройство;
- Переадресация портов (для роутера);
- Проведение тестов;
- Внесение правок и так далее.
В Сети имеется весь необходимый софт на применяемое оборудование — его достаточно скачать с официального сайта и установить (ссылку смотрите выше).
Приложение позволяет увидеть информацию о датчиках. Если это требуется, настройки IP-адрес могут быть изменены.
Последовательность действий при подключении к компьютеру
Чтобы начать работать с Ардуино в Windows, сделайте следующие шаги:
- Подготовьте необходимое оборудование — USB-кабель и Arduino.
- Скачайте программу на странице arduino.cc/en/Main/Software.
- Подсоедините плату с помощью USB-кабеля. Проследите, чтобы загорелся светодиод PWR.
- Поставьте необходимый набор драйверов для работы с Ардуино. На этом этапе стоит запустить установку драйвера и дождаться завершения процесса.
После жмите на кнопку «Пуск» и перейдите в панель управления. Там откройте вкладку «Система и безопасность» и выберите раздел «Система». После открытия окна выберите «Диспетчер устройств», жмите на название Ардуино и с помощью правой кнопки мышки задайте команду обновления драйвера. Найдите строчку «Browse my computer for Driver software!», кликните по ней и выберите соответствующий драйвер для вашего типа платы — ArduinoUNO.inf (находится в папке с драйверами). Это может быть UNO, Mega 2560 или другая. - Запустите среду разработки Ардуино, для чего дважды кликните на значок с приложением.
- Откройте готовый пример (File — Examples — 1.Basics — Blink).
- Выберите плату. Для этого перейдите в секцию Tools, а дальше в Board Menu.
- Установите последовательный порт (его можно найти путем отключения и подключения кабеля).
- Скачайте скетч в Ардуино. Кликните на «Upload» и дождитесь мигания светодиодов TX и RX на плате. В завершение система показывает, что загрузка прошла успешно. Через несколько секунд после завершения работы должен загореться светодиод 13 L (он будет мигать оранжевым). Если это так, система готова к выполнению задач.
Работа с роутером
Для полноценной работы «Умного дома» важно правильно обращаться с роутером. Здесь требуется выполнить следующие действия — открыть конфигурацию, указать адрес Arduino IP, к примеру, 192.168.10.101 и открыть 80-й порт.
После требуется присвоить адресу доменное имя и перейти к процессу тестирования проекта. Учтите, что для такой системы запрещено применение открытого IP-адреса, ведь в этом случае высок риск взлома через Сеть.
Поющее растение
Сложность: 2/5.
Время: 2/5.
По сути это терменвокс, который сделали в виде растения. Все остальные принципы работы остались теми же: звук возникает при движении рук, и разные движения генерируют разную мелодию.
Плата регистрирует изменение амплитуды сигнала, для чего автор использует самодельный сенсорный детектор для анализа прикосновений к цветку. Кроме этого понадобилась плата расширения Gameduino и сам цветок.
Подробности: Vimeo.
Дистанционное управление «умным» домом
Для подключения платы к интернету, понадобится:
- Wi-Fi-адаптер, настроенный на прием и передачу сигнала через маршрутизатор;
- или подключенный через Ethernet кабель Wi-Fi роутер.
Также, есть вариант дистанционного управления по блютуз. Соответственно, к плате должен быть подключен Bluetooth модуль.
Есть несколько вариантов управления умным домом Arduino: с помощью приложения для смартфона или через веб. Рассмотрим каждое подробнее.
Приложения управления
Так как данная система-конструктор – не закрытая экосистема, то и приложений, реализованных для нее очень много. Они отличаются друг от друга не только интерфейсом, но и выполнением различных задач.
Blynk
Приложение на андроид и iOS с отличным дизайном, позволяет разрабатывать проекты, имеющие напрямую доступ к триггеру событий, на плате Ардуино. Но для работы приложения нужно интернет подключение, иначе взаимодействовать с ним не возможно.
Virtuino
Крутое бесплатное приложение на Android, позволяющее совмещать проекты в одно целое и управлять с помощью Wi-Fi или Bluetooth сразу несколькими платами.
Разрешает создавать визуальные интерфейсы для светодиодов, переключателей, счетчиков, приборов аналоговой схематехники. В нем есть учебные материалы и библиотека знаний о процессе работы с системой.
Bluino Loader – Arduino IDE
Приложение для телефона, представляет собой программную среду для кодирования Arduino. С его помощью можно быстро и легко скомпилировать код в файл, а затем отправить по OTG-переходнику на плату.
Arduino Bluetooth Control
Приложение контролирует контакты Arduino и управляет основными функциями по Блютузу. Но, программа не направлена на удаленное управление, только мониторинг.
RemoteXY: Arduino Control
С помощью приложения пользователь может создать свой собственный интерфейс управления платой. Подключение происходит с помощью Wi-Fi, Блютуз или интернет, через облачный сервер.
Bluetooth Controller 8 Lamp
Созданное с помощью Bluetooth-модулей HC-05, HC-06 и HC-07 приложение, обеспечивает восьмиканальный контроль. Таким способом достигается контроль и регулирование работы Ардуино, в соответствии с каждым из 8 светодиодов.
BT Voice Control for Arduino
Приложение специально заточено под дистанционное управление данными с ультразвукового датчика, подключенного по блютуз через Arduino. Реализуется подключения через модуль HC-05.
Подключившись, ультразвуковой датчик сможет передавать информацию о расстоянии до объекта, которая отобразится в интерфейсе приложения на телефоне.
IoT Wi-Fi контроллер
Приложение с интерфейсом, информирующем о конфигурации каждого входа/выхода в плате Arduino. В утилите можно переключать в реальном времени GPIO и показывать значение АЦП.
Веб-клиент
Управлять удаленно платой умного дома можно, разместив получение и обработку данных умного дома на веб-сервере. Естественно, сервер для умного дома Ардуино нужно создавать самостоятельно.
Для этих целей понадобится Arduino Ethernet Shield – сетевое расширение для пинов Ардуино Уно, позволяющее добавить разъем RJ-45 для подключения к сети.
При удаленном подключении, необходимо обеспечить внешнее питание платы не от USB.
Затем, подключите по USB плату к компьютеру, а по Ethernet плату к роутеру, которой раздает интернет компьютеру. При правильном установлении соединения, вы увидите зеленый свечение на порту.
После этого, нужно использовать библиотеки шилдов Ethernet и в среде разработки IDE написать код для создания сервера и отправки данных на сервер. Пример самодельного сервера неплохо описан в данной инструкции.
Уведомления по SMS
С помощью подключаемой библиотеки GSM в Arduino IDE можно:
- Работать с голосовыми вызовами.
- Получать и отправлять СМС.
- Подключаться к Интернету через GPRS.
Работает схема через специальную плату расширения GSM, содержащую специальный модем.
О создании универсальной сигнализации на Arduino, с отправкой СМС уведомления на смартфон можно узнать из соответствующей видеоинструкции.
Замок, который открывается на секретный стук
Сложность: 3/5.
Время: 2/5.
Интересная вещь для тех, кто хочет поиграть в шпионов или пускать в комнату только своих друзей. Замок распознаёт стук по двери и сравнивает его с базовым звучанием, которое установил владелец. Если совпадает — приводы отодвигают замок и дверь открывается, если нет — ничего не происходит, можно постучать заново.
Чтобы установить новый стук на открытие, нужно зажать кнопку на ручке и постучать по двери новым способом. Пьезосенсор распознаёт вибрации и записывает их в память платы.
Подробности: grathio.com.
Защита от помех DC
Раздельное питание
Один из лучших способов защититься от помех по питанию – питать силовую и логическую части от отдельных источников питания: хороший малошумящий источник питания на микроконтроллер и модули/сенсоры, и отдельный на силовую часть. В автономных устройствах иногда ставят отдельный аккумулятор на питание логики, и отдельный мощный – на силовую часть, потому что стабильность и надёжность работы очень важна.
Искрогасящие цепи DC
При размыкании контактов в цепи питания индуктивной нагрузки происходит так называемый индуктивный выброс, который резко подбрасывает напряжение в цепи вплоть до того, что между контактами реле или выключателя может проскочить электрическая дуга (искра). В дуге нет ничего хорошего – она выжигает частички металла контактов, из за чего они изнашиваются и со временем приходят в негодность. Также такой скачок в цепи провоцирует электромагнитный выброс, который может навести в электронном устройстве сильные помехи и привести к сбоям или даже поломке! Самое опасное, что индуктивной нагрузкой может являться сам провод: вы наверняка видели, как искрит обычный выключатель света в комнате. Лампочка – не индуктивная нагрузка, но идущий к ней провод имеет индуктивность. Для защиты от выбросов ЭДС самоиндукции в цепи постоянного тока используют обыкновенный диод, установленный встречно-параллельно нагрузке и максимально близко к ней. Диод просто закоротит на себя выброс, и все дела:
Где VD – защитный диод, U1 – выключатель (транзистор, реле), а R и L схематично олицетворяют индуктивную нагрузку. Диод нужно ОБЯЗАТЕЛЬНО ставить при управлении индуктивной нагрузкой (электромотор, соленоид, клапан, электромагнит, катушка реле) при помощи транзистора, то есть вот так:
При управлении ШИМ сигналом рекомендуется ставить быстродействующие диоды (например серии 1N49xx) или диоды Шоттки (например серии 1N58xx), максимальный ток диода должен быть больше или равен максимальному току нагрузки.
Фильтры
Если силовая часть питается от одного источника с микроконтроллером, то помехи по питанию неизбежны. Простейший способ защитить МК от таких помех – конденсаторы по питанию как можно ближе к МК: электролит 6.3V 470 uF (мкФ) и керамический на 0.1-1 мкФ, они сгладят короткие просадки напряжения. Кстати, электролит с низким ESR справится с такой задачей максимально качественно.
Ещё лучше с фильтрацией помех справится LC фильтр, состоящий из индуктивности и конденсатора. Индуктивность нужно брать с номиналом в районе 100-300 мкГн и с током насыщения больше, чем ток нагрузки после фильтра. Конденсатор – электролит с ёмкостью 100-1000 uF в зависимости опять же от тока потребления нагрузки после фильтра. Подключается вот так, чем ближе к нагрузке – тем лучше:
Подробнее о расчёте фильтров можно почитать здесь.
Горшок для цветов с автополивом
Сложность: 4/5.
Время: 3/5.
Полезный горшок для тех, кто забывает полить цветы перед отъездом или просто не знает, как часто надо их поливать. Вся электроника, насосы и ёмкость для воды находятся внутри горшка. Для каждого растения можно запрограммировать свой режим полива в каждом горшке.
Основные характеристики чудо-горшка:
- встроенный резервуар для воды;
- датчик контроля уровня влажности почвы;
- насос для подачи воды;
- датчик уровня воды в резервуаре;
- светодиод, информирующий о недостатке воды в резервуаре.
Подробности: usamodelkina.ru.
Драм-машина
Сложность: 1/5.
Время: 2/5.
Простая драм-машина на Arduino. Проект интересен тем, что это не обычный перебор записанных семплов, а настоящая генерация звука с помощью встроенного железа. Ещё здесь есть анализатор спектра звука: через видеовыход можно посмотреть на диаграммы и частотные характеристики.
Математическая основа этого устройства — разложение в ряд Фурье, которое решается подключением стандартной библиотеки.
Подробности: YouTube.
avr-libs
В состав компилятора Arduino IDE входит набор стандартных библиотек под микроконтроллеры AVR (т.н. toolchain – набор инструментов), их можно просто подключить и использовать их возможности. Полный список и документация на все либы находится здесь. Тут перечислю самые полезные и интересные (название будет ссылкой на документацию):
- math.h – библиотека с кучей математических функций. Подключена по умолчанию
- time.h – библиотека для работы с временем. Счёт, конвертация, временные зоны и прочее
- avr/eeprom.h – родная библиотека для работы с EEPROM. Подробно разбирали в этом уроке
- avr/power.h – библиотека управления потреблением МК: делитель системной частоты и включение/выключение периферии
- avr/sleep.h – библиотека для управления режимом энергопотребления МК
- avr/wdt.h – управление сторожевым таймером
- util/delay.h – библиотека с задержками на базе тактов процессора (работает без таймера 0)
Шагающий робот
Сложность: 2/5.
Время: 1/5.
Простой в изготовлении четырёхногий робот, который шагает и самостоятельно преодолевает препятствия в сантиметр высотой.
Чтобы его сделать, вам понадобятся сервомоторы для ног, немного проволоки и любой пластик, из которого делается шасси. Для питания — аккумулятор любой модели, который крепится на спине робота.
Подробности: xakep.ru.
Робот-пылесос
Сложность: 4/5.
Время: 5/5.
Дмитрий Иванов из Сочи собрал настоящий робот-пылесос, который делает всё то же самое, что и промышленные устройства, только с возможностью тонкой настройки под себя и свою квартиру.
Основные детали — плата Arduino, 6 инфракрасных датчиков, турбина с двигателем и щётками и аккумулятор. Ещё у робота есть датчики столкновения, которые помогают объезжать препятствия, и контроллер аккумулятора, который следит за уровнем батарей и предупреждает о том, что пылесос надо зарядить.
Подробности: habr.com.
Обучение азов Arduino
С помощью приложения «Справочник по Arduino 2» можно в течении двух недель освоить материал. Приложение полностью автономно и не требует подключение к интернету. В нем описана такая информация: функции, данные, операторы, библиотеки Arduino.
После освоения азов, можно посетить ресурс Habrahabr, на котором собраны 100 уроков по программированию на Arduino.
Тем, кто привык черпать знания из книг, станет замечательным пособием для теории и практики «Джереми Блум: изучаем Arduino».
Самый популярный учебник по Arduino
В книге приведены основные сведения об аппаратном и программном обеспечении Ардуино. Рассказаны принципы программирования в среде Arduino IDE. Автор книги учит анализу электрических схем и чтению технических заданий. Информация из книги поможет в дальнейшем определится с выбором подходящих деталей для создания умного дома.
Автор приводит примеры работы электродвигателей, датчиков, индикаторов, сервоприводов, всевозможных интерфейсов передачи данных. Книга содержит иллюстрированные комплектующие, монтажные схемы и листинги программ. Самое главное, комплектующие для практики, с которыми работает автор – не дорогой, не сложный и популярный материал для экспериментальных сборок в домашних условиях.