Программировать Arduino Uno на «чистом» C или на Ассемблере не намного сложнее, чем с использованием стандартного языка программирования для Arduino. При этом вы можете сильно выиграть в производительности и сократить размер вашей программы. Далее речь пойдет о том, как перепрошить Arduino Uno R3 с использованием ISP программатора и AVR Studio 6.2.

153.17
Рейтинг
Arduino *
Платформа для создания автоматики
Сначала показывать
Порог рейтинга
Уровень сложности
Электрофокусер на базе отладочной платы Arduino Uno, часть 3
7 мин
26KПродолжаю описание электрофокусера с блоком управления на базе Arduino. Третья часть посвящена коду микроконтроллера, а так же некоторым тонкостям сборки и настройки.
Первая часть тут, вторая часть тут.
Данный текст ориентирован на тех, кто будет разбираться в коде с целью его частичного или полного использования и на тех, кто решает подобные задачи и может почерпнуть что-то полезное. Код прокомментирован, так что ограничусь описанием структуры и общей логики, плюс отмечу важные детали.
Первая часть тут, вторая часть тут.
Данный текст ориентирован на тех, кто будет разбираться в коде с целью его частичного или полного использования и на тех, кто решает подобные задачи и может почерпнуть что-то полезное. Код прокомментирован, так что ограничусь описанием структуры и общей логики, плюс отмечу важные детали.
+11
Электрофокусер на базе отладочной платы Arduino Uno, часть 2
13 мин
30KПродолжение, начало тут.
Дабы не решать задачу совсем в общем виде, я задался определенными требованиями исходя из общих соображений (бюджета, простоты или сложности покупки комплектующих, сложности в реализации или ожидаемых проблемах в эксплуатации). В то же время, изложение данных соображений позволит сразу перевести возможный диалог в конструктивное русло, а желающему использывать мой опыт — подскажет на какие детали надо обратить внимание. Итак, приступим.
Решение должно быть:
Основные функции устройства:
Исходя из способа применения, необходимо иметь как минимум два варианта управления фокусировочным устройством:
При удаленной работе с ПК хочется иметь возможность так же запоминать положение фокусера и переходить к заданному положению. Это связано с тем, что при смене окуляра меняется фокусное расстояние и процедуру фокусировки нужно проводить заново. Хочется сохранить положения фокусера для каждого окуляра в виде пресетов и быстро между ними переключаться при смене окуляра. Конечно придется дофокусировать телескоп, но этого в любом случае не избежать, так как при разной температуре фокусное расстояние может немного отличаться. Исходя из этого, прошивка микроконтроллера должна считать шаги (учитывая режим микрошага) и передавать текущее положение на ПК, а так же прокручивать фокусер до заданной позиции.
Определение исходных требований к устройству. Выбор «железа»
Дабы не решать задачу совсем в общем виде, я задался определенными требованиями исходя из общих соображений (бюджета, простоты или сложности покупки комплектующих, сложности в реализации или ожидаемых проблемах в эксплуатации). В то же время, изложение данных соображений позволит сразу перевести возможный диалог в конструктивное русло, а желающему использывать мой опыт — подскажет на какие детали надо обратить внимание. Итак, приступим.
Общие требования
Решение должно быть:
- простым и не дорогим;
- построенным на доступных компонентах;
- устройство должно быть достаточно надежным, так как я планирую использовать его на выездах (то есть в крепком корпусе, разъемы навинчивающиеся и т.д.);
- устройство должно быть ремонтопригодным;
- разработка не должна требовать от меня действительно глубоких знаний в электронике и схемотехнике и сильно выходить за рамки школьного курса;
- разработка не должна затянутся не то что на месяцы, а даже на недели;
- я не хочу заниматься разводкой, травлением плат и т.п — хочется максимально использовать готовые компоненты, желательно в виде модулей.
Функционал
Основные функции устройства:
- вращение против часовой стрелки с заданной скоростью(тактовая кнопка, пока нажато — вращаем)
- вращение по часовой стрелке с заданной скоростью (тактовая кнопка, пока нажато — вращаем)
- регулировка скорости вращения (потенциометр)
- команда «освободить двигатель» – снять напряжение с двигателя (для экономии ресурса АКБ и для охлаждения двигателя, при необходимости)
- Кроме того, полезно вставить функцию автоматического снятия напряжения с двигателя если фокусером не пользуются продолжительное время (скажем, более 10 минут) – тут возможны варианты;
- Хорошо бы иметь на пульте ДУ простую индикацию величины скрорости вращения, например яркостью светодиода.
Исходя из способа применения, необходимо иметь как минимум два варианта управления фокусировочным устройством:
- с пульта управления при работе непосредственно у телескопа (в т.ч. при визуальных наблюдениях или при грубой фокусровке по изображению на дисплее цифровой камеры) — то есть меня вполне устроит кнопочный пульт на коротком кабеле ;
- с помощью собственного ПО с ноутбука под OS Windows, значит блок управления фокусером должен подключаться к ПК, например по USB;
- опционально, в будущем — с ПК с помощью ASCOM-драйвера.
При удаленной работе с ПК хочется иметь возможность так же запоминать положение фокусера и переходить к заданному положению. Это связано с тем, что при смене окуляра меняется фокусное расстояние и процедуру фокусировки нужно проводить заново. Хочется сохранить положения фокусера для каждого окуляра в виде пресетов и быстро между ними переключаться при смене окуляра. Конечно придется дофокусировать телескоп, но этого в любом случае не избежать, так как при разной температуре фокусное расстояние может немного отличаться. Исходя из этого, прошивка микроконтроллера должна считать шаги (учитывая режим микрошага) и передавать текущее положение на ПК, а так же прокручивать фокусер до заданной позиции.
+24
Разработка Электрофокусера на базе отладочной платы Arduino Uno, часть 1
4 мин
35KПостановка задачи
Имеется любительский телескоп с простым механическим фокусировочным устройством. Фокусировка осуществляется методом вращения колеса фокусера. Процедура фокусировки (особенно для целей астрофотографии) получается весьма мучительной (даже с использованием маски Павла Бахтинова и спец. ПО оценки точности фокусировки типа DSLRFocus или BackyardEOS), так как:
- Очень сложно приложить рукой нужное усилие и повернуть колесо на действительно маленький угол при точной фокусировке;
- Каждое касание фокусировочного устройства вызывает колебания телескопа, что приводит к потере времени на ожидание, пока колебания утихнут и можно будет оценить результат последней итерации (и чем хуже монтировка, тем этот интервал дольше, автор имел удовольствие работать с монтировкой, где период полного затухания был ~20 секундам);
- Описанные выше особенности процесса фокусировки практически исключают фокусировку в динамике: вращение колеса с одновременным оцениванием результата. Как следствие, фокусировка – процесс итерационный, требующий большого терпения и определенного навыка, граничащего с искусством.
Исходя из вышесказанного, ставим следующую задачу в общем виде: необходимо подсоединить к фокусировочному устройству телескопа электропривод, который будет управляться
- с помощью выносного пульта управления;
- «удаленно» с ПК;
По сути, от устройства требуется возможность вращать ось колеса фокусировочного устройства в заданную сторону с заданной скоростью (оба параметра задаются). Таким образом, на пульте управления должны быть как минимум две кнопки (вращать по часовой и вращать против часовой) и ручка регулировки скорости.
+17
Arduino, модуль Nokia 5110 LCD и кириллица
3 мин
98K
Понадобилось мне, для небольшого проекта на ардуино, выводить кое-какую информацию, естественно на экран, а не в консоль. Купил парочку LCD модулей а-ля Nokia 5110 с разрешением 84 х 48 пикселей. Библиотеку решил использовать от Adafruit, точнее две Adafruit-PCD8544-Nokia-5110-LCD-library и Adafruit-GFX-Library. Если кто с ними ещё не знаком – позволяют выводить не экран текст (шесть строк по 14 символов), отображать заранее подготовленные изображения, рисовать (линии, прямоугольники, круги и т.д.), ну и рисовать попиксельно. Скетч pcdtest отработал нормально, и я приступил к написанию своего
+32
PcDuino3 Nano, серьезный конкурент Raspberry Pi B+, за $ 39
2 мин
61KRaspberry Pi, от существующих на рынке отладочных плат отличается очень низкой ценой и большим функционалом. Но остальные игроки не дремлют, и постепенно наращивают функциональность, и снижают стоимость.
Так еще в конце сентября, Linksprite анонсировала PcDuino3 Nano, отладочную плату построенную на двухядерном AllWinner A20 SoC, с Arduino-совместимой площадкой. Это позволяет подключать Arduino платы расширения к PcDuino3 Nano, как будто это Arduino UNO. Дополнительно есть SATA разъем для подключения HDD или SSD.
PcDuino3 Nano, это менее габаритная и более дешевая версия PcDuino3, без Wi-Fi модуля, LVDS, и I2C интерфейса. Плата не поддерживает подключение Li-Po аккумуляторных батарей, но добавлен еще один USB порт по сравнению со старшей моделью.
PcDuino3 Nano

Так еще в конце сентября, Linksprite анонсировала PcDuino3 Nano, отладочную плату построенную на двухядерном AllWinner A20 SoC, с Arduino-совместимой площадкой. Это позволяет подключать Arduino платы расширения к PcDuino3 Nano, как будто это Arduino UNO. Дополнительно есть SATA разъем для подключения HDD или SSD.
PcDuino3 Nano, это менее габаритная и более дешевая версия PcDuino3, без Wi-Fi модуля, LVDS, и I2C интерфейса. Плата не поддерживает подключение Li-Po аккумуляторных батарей, но добавлен еще один USB порт по сравнению со старшей моделью.
PcDuino3 Nano

+13
Управляем розеткой по SMS
5 мин
52KХочу представить вам очень простой способ удаленного управления электропитанием.
Мы будем использовать готовые радиоуправляемые розетки, поэтому нам не потребуется ничего паять. Это очень здорово, потому что 220 В (начинающим) лучше не трогать.

P.S. вчера был похожий топик, но использовался Raspberry Pi, управляемый через чат. Наш вариант несколько попроще и универсальнее, потому что ему не нужен Интернет и смартфон, а вместо Raspberry будет обычное Arduino.
Мы будем использовать готовые радиоуправляемые розетки, поэтому нам не потребуется ничего паять. Это очень здорово, потому что 220 В (начинающим) лучше не трогать.

P.S. вчера был похожий топик, но использовался Raspberry Pi, управляемый через чат. Наш вариант несколько попроще и универсальнее, потому что ему не нужен Интернет и смартфон, а вместо Raspberry будет обычное Arduino.
+3
Как я логгер собирал на SD card Shield V2.0
3 мин
57KПривет, Хабр!
Понадобилось мне срочно собрать простенький логгер данных для одного старого промышленного газоанализатора, у которого были лишь токовые выводы на бумажные самописцы. Вроде простенькая задача, но повеселила она меня знатно. Подробности этой истории под катом. Выводы там же.

+21
Обзор Makeblock Starter Robot Kit V2.0. Часть 1. Распаковываем
Простой
4 мин
48KОбзор
Так случилось, что сегодня я стал обладателем конструктора для продвинутых Makeblock Starter Robot Kit V2.0. Так как в Рунете не нашёл ни одного обзора этого не совсем обычного и, на мой взгляд, интересного конструктора, решил поделиться своими впечатлениями об этом продукте. Сегодня расскажу о том, что такое Makeblock Starter Robot Kit V2.0, и что входит в его комплектацию, попутно сопровождая немногословный рассказ фотографиями.
Что такое Makeblock
Makeblock — это открытая платформа для конструирования, разработанная в Шэньчжэнь, Китай. Выпускает и продаёт Makeblock одноимённая компания. Кроме открытости для Makeblock также характерны:
- прочные анодированные алюминиевые детали двух цветов (голубого и золотистого);
- электроника на базе контроллера, совместимого с Arduino;
- возможность использования деталей LEGO Mindstorms,
включая моторы.
+23
Как мы заняли второе место на соревнованиях MATEC ROV 2014 в США
18 мин
25KПривет, меня зовут Михаил, я студент факультета информатики и систем управления МГТУ им. Баумана. Не так давно мне удалось поучаствовать в международных соревнованиях подводных аппаратов MATEC ROV Сompetition в составе команды университета. Мне бы хотелось рассказать об этом, особенно ввиду того, что о подобных соревнованиях у нас мало кто знает. На Хабре уже была публикация про эти соревнования от одного из участников, но по различным причинам ее удалили. Здесь же я постараюсь рассказать более подробно о моем вовлечении в проект, о подготовке команды к соревнованиям в течение года и о самих соревнованиях, проходивших в июне в городе Альпена, штат Мичиган, США.
Под катом много фотографий.
Под катом много фотографий.
+29
Выставка 3D PrintShow в Лондоне. Индустрия — золотая жила или охота за привидениями?
5 мин
50KЕсть герои-лирики, а есть коммЕрсы-циники. Я — из клана вторых, тёмных.
Открытая парадигма RepRap — подарила миру возможность собрать 3D-принтер самому, не дожидаясь продуктов корпораций, однако тёмные быстро сообразили и пытаются сделать на базе неё бизнес разного масштаба.
Как мотыльки на свет — летят на пьянящую фразу «Добро пожаловать в эру 3D».
Слёт обозначенных мотыльков разного калибра мне удалось наблюдать целых два дня в Лондоне на 3D Printshow 2014, пожалуй, самом масштабном мировом шоу в контексте технологий 3D-печати.

Под катом вы найдёте:
Открытая парадигма RepRap — подарила миру возможность собрать 3D-принтер самому, не дожидаясь продуктов корпораций, однако тёмные быстро сообразили и пытаются сделать на базе неё бизнес разного масштаба.
Как мотыльки на свет — летят на пьянящую фразу «Добро пожаловать в эру 3D».
Слёт обозначенных мотыльков разного калибра мне удалось наблюдать целых два дня в Лондоне на 3D Printshow 2014, пожалуй, самом масштабном мировом шоу в контексте технологий 3D-печати.

Под катом вы найдёте:
- НЕОБЪЕКТИВНЫЙ обзор участников выставки
- СПОРНЫЕ рассуждения о целесообразности входа в индустрию 3D для предпринимателей
- Немного роботов, ПРИНТБОТОВ
- Шпионские фото КОНКУРЕНТА Arduino
- Лёгкая эротика в 3D
+31
Загрузка скетчей в Arduino через Bluetooth
4 мин
105KПрограммируя Arduino, иногда желательно обойтись без физического соединения через USB к компьютеру, например:
В интернете можно найти несколько публикаций на эту тему, но все они обрывочны и полностью готового решения нет. Также, несмотря на простоту и очевидность конструкции, имеется несколько маленьких затруднений, которые готовы сорвать всё мероприятие. О том, как их преодолеть, я и хочу рассказать в этой статье.

- Силовые цепи — коммутирование 220В. Одна ошибка в соединении и прощай USB-контроллер любимого ситемного блока.
- Радиочастотные цепи — много наводок по питанию.
- Собранные и где-то закрепленные устройства, которые желательно перепрошивать, но неудобно к ним подлезать.
В интернете можно найти несколько публикаций на эту тему, но все они обрывочны и полностью готового решения нет. Также, несмотря на простоту и очевидность конструкции, имеется несколько маленьких затруднений, которые готовы сорвать всё мероприятие. О том, как их преодолеть, я и хочу рассказать в этой статье.

+24
Автоматизация снятия показаний со счетчиков воды
6 мин
219KВсе знают, что лень двигатель прогресса. Так случилось и в моем случае.

В квартире присутствует 6 точек раздачи воды (3 холодные и 3 горячие). На каждой из точек стоит счетчик.
Каждые 2 счетчика спрятаны за люками скрытого монтажа, один из люков находится за зеркалом, которое нужно снять, чтобы до него добраться.
Раз в месяц с 20 по 25 число необходимо снимать показания со всех счетчиков и отправлять данные в Управляющую Компанию на бланке определенного образца.
В какой-то момент мне надоело открывать люки, снимать зеркало и было решено автоматизировать снятие показаний.
В квартире присутствует 6 точек раздачи воды (3 холодные и 3 горячие). На каждой из точек стоит счетчик.
Каждые 2 счетчика спрятаны за люками скрытого монтажа, один из люков находится за зеркалом, которое нужно снять, чтобы до него добраться.
Раз в месяц с 20 по 25 число необходимо снимать показания со всех счетчиков и отправлять данные в Управляющую Компанию на бланке определенного образца.
В какой-то момент мне надоело открывать люки, снимать зеркало и было решено автоматизировать снятие показаний.
+59
Ближайшие события
Хитрая канистра
5 мин
109KНаписать этот пост меня подтолкнул случай с моим знакомым, который «попал» на серьезный ремонт своей старенькой Газели после заправки автомобиля сомнительным бензином. Сам факт поломки двигателя плохим топливом был подтвержден в автосервисе и, конечно, можно было бы начать рутинные разборки с автозаправкой, но в большинстве случаев это не приводит к результату. Что же делать? Попытаемся проанализировать проблему с физической и технической точки зрения.


+51
Применение самодельного тепловизора на базе Arduino в исследованиях экономии электроэнергии
6 мин
71KЧто можно сделать с помощью двух кирпичей, обыкновенной электрической плитки и тепловизора на Arduino ? Сэкономить кучу электричества! Как все эти вещи взаимосвязаны, можно узнать из данной статьи. По ходу дела пришлось затронуть некоторые вещи из ТАУ (теория автоматического управления), но я постарался избавиться от занудной математики и подробно объяснить роль «тепловизора менее чем за 100$» в процессе.

Внимание! Под катом есть одна очень «толстая», но красивая картинка! И много текста!

Внимание! Под катом есть одна очень «толстая», но красивая картинка! И много текста!
+42
Как сделать робота за 24 часа
3 мин
64KКогда категории, на которой планировал выступать, не будет, а экзамены не за горами.
Предисловие
Так вышло, что в этом сезоне я серьёзно занимался только микро-сумо: начал делать робота в июле 2013 года, закончил к концу марта 2014. Соревнования представляют собой обычное робосумо, но масса робота не должна превышать 100 грамм, а сам робот в стартовом положении должен помещаться в кубик 5 см * 5 см * 5 см. Выставлял его только на одних соревнованиях 6 апреля, там он был единственным роботом.
Black Python соревнуется с двусторонним скотчем:
Поскольку в Санкт-Петербурге на данный момент только 2 робота данного класса, то в майские соревнования не включили этот вид состязаний. А так как выступить хотелось, то я решил сделать по-быстрому лайнтрейсера, робота для движения по линии, благо за 5 лет увлечением робототехники их было штук 10 (не считая сделанных из лего).
Предисловие
Так вышло, что в этом сезоне я серьёзно занимался только микро-сумо: начал делать робота в июле 2013 года, закончил к концу марта 2014. Соревнования представляют собой обычное робосумо, но масса робота не должна превышать 100 грамм, а сам робот в стартовом положении должен помещаться в кубик 5 см * 5 см * 5 см. Выставлял его только на одних соревнованиях 6 апреля, там он был единственным роботом.
Black Python соревнуется с двусторонним скотчем:
Поскольку в Санкт-Петербурге на данный момент только 2 робота данного класса, то в майские соревнования не включили этот вид состязаний. А так как выступить хотелось, то я решил сделать по-быстрому лайнтрейсера, робота для движения по линии, благо за 5 лет увлечением робототехники их было штук 10 (не считая сделанных из лего).
+70
Прошивка Arduino Pro Mini через Nano
3 мин
141KТуториал
Не так давно столкнулся с необходимостью использования Arduino Pro Mini в своем проекте и сразу же встал вопрос как заливать в нее скетч. Конечно продаются различные переходники UART при помощи которых этот вопрос снимается быстро, но в тот момент такого переходника не оказалось под рукой.
Почитав на сайте http://arduino.cc и посабирав информацию на разлинчых форумах, узнал о возможности прошивать Pro Mini при помощи других плат Arduino.
Почитав на сайте http://arduino.cc и посабирав информацию на разлинчых форумах, узнал о возможности прошивать Pro Mini при помощи других плат Arduino.
+13
Уменьшаем количество проводов в Arduino — I2C LCD экран и RTC часы по двум проводам
6 мин
229KСовсем недавно познакомился с Ардуино, поэтому многим мои примеры покажутся простыми.
Однако таким же новичкам, как я, данная информация будет полезна и сэкономит массу времени.
I2C — стандарт общения устройств по 2м проводам, при этом количество устройств, которое висит параллельно на этих проводах может быть очень большим. У каждого устройства есть свой адрес, по которому происходит обращение к устройству. Адресацию можно менять, если на устройстве есть перемычки, которыми можно установить дополнительное смещение относительно базового адреса, жестко прописанного в устройстве.
Это в двух словах.
Начал я все с того, что купил 16х2 символьный LCD дисплей на Ибее. Подключив стандартно — понял что это не то, что нужно. Масса проводов — занимает кучу ножек, хаос и беспорядок.

Погуглил, понял что есть дисплеи с интерфейсами, упрощающие подключение. погуглил еще, нашел переходник на I2C для моего LCD. Месяц ожидания, ура-ура, подключил.

Выглядит гораздо интереснее!
Однако таким же новичкам, как я, данная информация будет полезна и сэкономит массу времени.
I2C — стандарт общения устройств по 2м проводам, при этом количество устройств, которое висит параллельно на этих проводах может быть очень большим. У каждого устройства есть свой адрес, по которому происходит обращение к устройству. Адресацию можно менять, если на устройстве есть перемычки, которыми можно установить дополнительное смещение относительно базового адреса, жестко прописанного в устройстве.
Это в двух словах.
Начал я все с того, что купил 16х2 символьный LCD дисплей на Ибее. Подключив стандартно — понял что это не то, что нужно. Масса проводов — занимает кучу ножек, хаос и беспорядок.

Погуглил, понял что есть дисплеи с интерфейсами, упрощающие подключение. погуглил еще, нашел переходник на I2C для моего LCD. Месяц ожидания, ура-ура, подключил.

Выглядит гораздо интереснее!
+52
Визитка на Arduino с «Тетрисом» на борту
1 мин
42K
На днях в Сети появилась информация об очень интересном устройстве, которое позиционируется его создателем, как визитная карточка. «Визитка» на самом деле представляет собой портативное электронное устройство, позволяющее своему владельцу играть в «Тетрис». Надо думать, человек, который получит такую визитку, надолго запонит того, кто ему вручил такое оригинальное устройство.
Самое интересное то, что «визитка», получившая название Arduboy, имеет в своей основе Arduino (название сформировано из слов Arduino плюс GameBoy). Есть все, что необходимо для игры: OLED-дисплей, кнопки управления и даже пьезодинамик. Из динамика во время игры звучит мелодия «Коробейники» — именно эта мелодия «привязана» к классической версии тетриса.
Создатель устройства, программист Кевин Бейтс (Kevin Bates), вскоре собирается выставить своей проект на Kickstarter. Бейтс оценил свое устройство 30 долларов США, и, как говорилось выше, собирается просить поддержки своего проекта на Kickstarter.
+20
Как я стал преподавать Arduino
5 мин
110KЯ не провожу тренинги мастер-классы и семинары. Я внедрил изучение Arduino в образовательную программу колледжа. То есть студенты приходят ко мне, чтобы писать код на языке Processing Wiring и смотреть как он исполняется на плате.
Достаточно давно я подрабатываю в Уральском радиотехническом колледже. Вел разные предметы: электронику, радиотехнику, P-CAD, передатчики и т.д., а с недавних пор стал учить студентов работе с Arduino. Я негативно отношусь к этой платформе, но вижу много плюсов в ее изучении в стенах образовательного учреждения.

Достаточно давно я подрабатываю в Уральском радиотехническом колледже. Вел разные предметы: электронику, радиотехнику, P-CAD, передатчики и т.д., а с недавних пор стал учить студентов работе с Arduino. Я негативно отношусь к этой платформе, но вижу много плюсов в ее изучении в стенах образовательного учреждения.
+120
Вклад авторов
DAN_SEA 3291.0smart_alex 1919.6shiru8bit 880.0vladkorotnev 664.0AlexeyNadezhin 596.0Berkseo 516.0CyberBot 473.0MaFrance351 421.0chv 371.0gerasimenkoao 340.0