Сообщество - Arduino & Pi

Arduino & Pi

1 493 поста 20 825 подписчиков

Популярные теги в сообществе:

143

Самодельный робот OTTO - открытый проект детского интерактивного робота на Arduino

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

Спешу поделиться впечатлениями - мне кажется эта затея достойна популяризации!

Можно купить готовый набор для сборки (продаются как в РФ, так и на Али), можно самостоятельно распечатать пластиковые детали и купить отдельно электронику.

Помимо корпуса минимально желательно:

- 4 сервомашинки SG90;

- ардуинка (есть модели корпуса под разные варианты, я использовал Arduino Nano);

- подходящий шилд для сервомашинок;

- ультразвуковой датчик HC-SR04;

- пьезодинамик;

- с десяток коротеньких проводов dupont connector;

- аккумулятор для питания ардуинки;

- выключатель.

-----

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

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

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

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

Совсем уж без понимания как работает Ардуино будет, по-моему, сложновато, но в качестве "нижней планки" упомяну, что я, например, настолько тупой, что сжёг два контроллера, подключая 9V батарейку ко входу 5V вместо VIN... Ну то есть, если Вы хотя бы понимаете куда подключать питание контроллера - Вы уже справитесь лучше меня! :))

Вся исчерпывающая информация представлена на сайте https://www.ottodiy.com/ Всё разжёвано прям очень подробно, даже иногда слишком подробно: некоторые моменты пересекаются, и иногда не совсем понятно, что лучше читать отдельную инструкцию по, например, блютусу, чем пытаться разобраться по одной картинке в общей инструкции. Всё поделено на разделы: вот модели, вот сборка, вот код, вот моддинг... Очень круто, и всё даром!

Весьма недурственная среда блочного программирования, вполне доступная и привычная современным детям - тоже даром. (можно программироать и напрямую через Arduino SDK при желании, естественно)

Приложение для прямого управления роботом (через Bluetooth) удобное, надёжное. Куча всяких движений, эмоций. Особенно детям нравится как робот "умирает".

Да, самостоятельно без помощи взрослых такого робота сможет собрать, пожалуй, уже только старший школьник - в отличии от наборов Лего. Но и с Лего - он у нас тоже есть - не всё так однозначно... Собирать-то они его собирают - чё там хитрого: вот инструкция пошаговая в телефоне, вот детали... А понимания как именно чё там работает - не очень-то. Мой старший (7 лет), по крайней мере, собирает ровно по инструкции, что-то там самостоятельно конструировать - как-то нет. С этим же проектом даже сидя рядом с отцом - понимания куда больше, как мне показалось.

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

Последняя затея пришлась ОЧЕНЬ по душе младшему роботостроителю. Костюм "панды" мгновенно сделал из робота лучшего друга и любимую игрушку. Возился с ним весь вечер, сам записал ролик о приключениях Бабука... :)

Если не жалко - ткните лайк в видео, маленькому чувачку будет приятно! Он полностью самостоятельно и по своей инициативе всё выдумал, снял, я только на ютубе описание забить помог ему.

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

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

Показать полностью 5 1
90

Беспроводные кнопки для своей игры на Ардуино (SiGame)

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

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

Работать она не хотела от слова совсем, точнее при сканировании всех каналов, она прекрасно видела "Шум" на каналах моего роутера, но общаться со второй такой же штукой не хотела. Позже было выяснено, что nrf24l01 категорически против разъемных соединений, поэтому, пришлось все припаять. Также добавил небольшую задержку при старте контроллера, так как радиомодуль не всегда успевал инициализироваться После этих манипуляций работать стало более менее стабильно. Запихал в те "корпуса", которые были под рукой, чтобы протестировать на ближайшей игре.

Тесты прошли успешно и я перешел к следующему этапу, разведению платы в Altium и последующему ее изготовлению методом ЛУТ.

Логотип Гайвера добавил дабы занять пустое место и отдать дань арудинщику всея Руси, много информации почерпнул именно у него на канале и на форуме.
Печатаем, переводим, травим.

Да, на фотках разные версии плат, но какие нашлись..
Дальше все это дело лудим и распаиваем рассыпуху. SMD элементы паял впервые, но в целом приловчился.

Арудиуну и контроллер заряда расположил с обратной стороны.

Дополнительно докупил аккумуляторы, лотки для них и более удобные кнопки. Ну и заменил "корпуса" на более удобные из FixPrice. Поскольку корпуса временные, то зафиксировал все внутри на изоленту и двусторонний скотч.

Очередной тест показал, что все ок и нужно делать еще 4 таких кнопки. Так как сделать нужно было к ближайшим выходным, то пригласил товарища помочь и мы поставили производство на поток. Я травил, лудил, сверлил и мыл, а он паял. Для сверления приобрел себе дремель со стойкой для вертикального сверления, который сильно упростил мне работу.

Готово, можно играть.

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

Показать полностью 16
715

ИК паяльная станция

Да да, очередная, но у меня первая. И самодельная, ибо денег нет но вы держитесь.
Собрана из того что было:
Бп на 12 вольт, ардуино нано, конфорка от ИК плитки, 4 линейные галогенки, 2 ДХО на подсветку, дисплей Нокиа 5510, кулеры со старых серверов, всякий нержавеющей металл, горсть радиодеталей. Программу написал за несколько вечеров на работе, в ардуино иде.

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

Плата изготовлена методом лут, схема (вместе с клавиатурой). Кнопки взяты готовые, с мёртвого телека

Верхний нагреватель, собран из алюминиевого профиля, линейных галогенок 4х150 вт, включённых по 2 последовательно. Мощности с избытком, ограничил на 60% и всё равно программа отключает в процессе, т.к. температура набирается быстрее, чем указано в профиле

Прошивку в данный момент довожу до ума, всё работает, остались мелочи.
Прошивка и проект для протеус 8.5 на моём Гугл диске:
https://drive.google.com/file/d/1aLpQSflGfLFoRFTgXVdUvGoridW...

Прошу не пинать за ссылку. Ну а чё, на телегу же можно...

Всё, закончил. По возможности отвечу на все вопросы в комментариях.

Показать полностью 10
206

Продолжение поста «Гусеничное шасси-робот на базе Arduino V2.0»1

А вот и небольшое обновление:

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

Показать полностью 2
13

Maruino

Я решил сделать игру марио от gamebuuno на ардуино на дисплее nokia 5110

библиотека:

https://github.com/Gamebuino/Gamebuino-Classic

сама игра:

https://www.dropbox.com/s/6taou4chz667zu9/Maruino.zip?dl=0

Как указать нужные пины для дисплея как в Adafruit? я залез в библиотеку, и увидел что там есть функция display.begin(SCR_CLK, SCR_DIN, SCR_DC, SCR_CS, SCR_RST); внутри цикла void Gamebuino::begin().

так вот я уже в ардуино иде после  gb.begin(); вписал gb.display.begin(7, 6, 5, 4, 3); и ничё не изменилось.

как дисплей не работал, так и не работает. причём на Adafruit с точно таким-же подключением всё работает.

Показать полностью 2
375

Домофон на ESP. Маленькое продолжение

Домофон на ESP. Маленькое продолжение

Прошло уже больше года с тех пор, когда я приспособил ESP для управления домофоном. Кто не видел - начало тут. Многие заинтересовались, желали себе такую штуку, и ничего не оставалось как делать его всем желающим.

Спустя буквально месяц после начала "продаж", стали появляться сообщения, о том что некоторые блоки вызова начинают свистеть, когда управление на себя берет устройство. Ну конечно же, так называемую схему "эхоподавления" я не делал, так как не понял, что это такое. Ладно, добавил схему "эхоподавления", - свистеть перестало. Хорошо, что на тот момент этих устройств было продано штук 10 от силы.
Следующим этапом стало желание у пользователей - добавить возможность отключать штатную трубку, да так, чтобы вызов с блока вызова шёл, но трубка молчала. Хорошо, добавил и это. И вот уже 3 версия устройства.
Время шло. Потихоньку народ покупает, всем нравится, всё-таки идея воспроизведения аудио файла на блок вызова - это весело, особенно на 3 сентября, если ты понимаешь о чем я. Надо дальше развиваться. Что ж, еще в первой части я упоминал, что хочется полностью отказаться от реле, но на тот момент я не смог придумать как. И честно говоря не скоро бы сам придумал. Когда-то я уже натыкался на гитхабе на похоже устройство, нет, не espdomofon, - натыкался на zintercom, - это устройство управления домофоном по ZigBee. И там автор реализовал без реле. Спасибо автору за схему. Теперь моё устройство имеет в своём составе только оптопару для детектора, отлично.

Немного о прошивке.

Я всё также использую ESPHome. Для более-менее простой замены аудио файлов удалось запустить FTP сервер. Вот так, казалось бы не приспособленная среда ESPHome, заработала с FTP и Аудио на ESP8266. Кто-то возможно скажет, что MediaPlayer в ESPHome уже давненько прикрутили. - Да, но только под ESP32 и для воспроизведения по HTTP.
Еще появилась альтернативная прошивка, которая умеет работать через "Облако", имеет свой навык для Алисы, Телеграмм-бота и MQTT. Так что с этой прошивкой, даже иметь свой сервер умного дома не нужно.

Устройство обзывается smartintercom.
Вы можете собрать его самостоятельно, для этого вам понадобится
1. Ссылка на схему: https://oshwlab.com/scrators/intercom-v4b
2. Ссылка на прошивку: https://github.com/SCratORS/SmartIntercom
3. Ссылка на нашу группу в телеграмме: .... ну видимо её придется найти тоже самостоятельно =)

Вот такая вот история.

Показать полностью 1
21

Вопрос от непрофессионала Профессионалам Ардуино

Дано:

N - количество шаговых двигателей в стенде, они могут быть разной мощности;

Вопросы:

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

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

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

36

Делаем аромадиффузор Xiaomi Youpin HL "умным"

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

Сам аромадиффузор выглядит так:

Делаем аромадиффузор Xiaomi Youpin HL "умным"

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

В результате доработки появляется возможность получать статус устройства и эмулировать нажатия на кнопку с помощью MQTT.

Для доработки нам понадобятся:

  1. D1 Mini. Маленькая плата с питанием от USB, с WiFi и разными входами-выходами для подключения внешних компонентов. Можно использовать и что-нибудь другое, но именно D1 Mini по габаритам идеально вписывается в корпус этого аромадиффузора, располагаясь под основной платой.

  2. Два резистора на 470 Ом

  3. Резистор на 10 кОм

  4. Две оптопары PC817.

Как сделать:

  1. Скачать скетч из репозитория, открыть его в Arduino IDE, вбить данные для Wi-Fi роутера и MQTT-брокера. Залить скетч в D1 Mini.

  2. Разобрать аромадиффузор. Для этого снимаем резинку снизу и выкручиваем четыре самореза. После этого корпус достаточно легко разделяется на две части.

  3. Соединить пины D6 и GND через резистор на 10 кОм.

  4. Светодиод первой оптопары присоединяем через резистор на 470 Ом параллельно контактам вентилятора. Фототранзистор - к пинам D6 и 3.3v. Это позволит нам узнавать статус устройства. Замечу, что у этого аромадиффузора есть особенность: если в бачке нет воды, то вентилятор включается на очень короткий промежуток времени. Что я и использовал для определения наличия воды. Наверное можно было иначе, но так проще и меньше деталей.

  5. Светодиод второй оптопары присоединяем через резистор на 470 Ом к пинам D7 и GND. Фототранзистор параллельно кнопке. Это позволит нам эмулировать нажатия.

После этого можно собирать аромадиффузор.

В MQTT можно использовать два топика:

  1. state - для получения статуса устройства. Может принимать значения on, off или error (если нет воды).

  2. command - для управления кнопкой. Соответственно, press - для включения и переключения цветов, а press_long для выключения устройства.

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

Показать полностью 1
Отличная работа, все прочитано!