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

Arduino & Pi

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

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

73

Сигнализация из старого Android смартфона

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

GSM сигнализация из любого Android смартфона, для гаража, мастерской, дома и т.д., воплощается за пять минут, принимает команды по SMS: отзвон хозяину, запись происходящего, отключение охраны и пр..


Приложение в Google Play https://play.google.com/store/apps/details?id=appinventor.ai...


Понадобится:


- Датчик движения HC-SR501

https://ru.aliexpress.com/item/Free-shipping-1PCS-LOT-HC-SR5...

- Bluetooth модуль

https://ru.aliexpress.com/item/SPP-C-Bluetooth-serial-pass-t...

или

https://ru.aliexpress.com/item/Free-shipping-HC05-HC-05-mast...

- Любая плата Arduino

https://ru.aliexpress.com/item/Freeshipping-Nano-3-0-control...


Скетч для Arduino https://cdn.instructables.com/ORIG/FZF/MWKE/ITKIY517/FZFMWKE...

Сигнализация из старого Android смартфона
Показать полностью 1 1
52

Апгрейд старого советского будильника до nixie clock.

Нашел в закромах старый советский будильник, как на фото.

Решил дать вторую жизнь будильнику и сделать из них nixie clock (часы на газоразрядных индикаторах). Не отходя далеко от первого проекта, решил так же сделать под управлением arduino nano, но внести некоторые изменения. Найдя шесть штук индикаторов ИН-12 и ИН-17 (флешка для масштаба) начал разводить плату.

Первая плата с лампами получилась двух сторонняя, но я подготовил еще пару плат, с перемычками и с транзисторными отпорами TLP627(F) вместо транзисторных ключей на MPSA92 и MPSA42. Схему с TLP627 я не пробовал, возможно, надо будет поправить задержку между включением и выключением ламп.

В этом проекте я убрал RGB подцветку и их регулировку.

Добавил:

buzzer (пищалка) для воспроизведения мелодии будильника;

светодиод для обозначения включенного будильника и входа в его настройку;

стабилизатор напряжения L7805CV, родной стабилизатор arduino сильно нагревался.


Так же я заменил RTC модуль с DS1302 на DS3132, потому что DS1302 начинает отставать каждую неделю.

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

Платы делал, как обычно ЛУТ технологией травил в растворе перекиси водорода, лимонной кислоты и поваренной соли, больше информации об этом можно найти в интернете (достаточно подробно рассказывает @AlexGyver и спасибо ему за его уроки по arduino). Как будет свой ЧПУ, буду делать платы фрезеровкой или выжигать фоторезист лазером.

Решил снять старую краску будильника и покрасить его в черный матовый цвет, вот фото первой попытки, но она получилась не очень.

Переделав плату, получилось намного лучше, сразу протестировал работоспособность ламп и остальные элементы на макетной плате. Важный момент: функция tone() накладывается на ШИМ сигнал на "3" и "11" выводах Arduino. Т.е., вызванная, например, для пина "5", функция tone() может мешать работе выводов "3" и "11". Имейте это в виду, когда будете проектировать свои устройства. Можно использовать пищалку и без tone(), при помощи analogWrite, но из-за TCCR1B пищалка не работает. Что бы она работала необходимо:

1) С шестого пина перекинуть на третий

2) Заменить в программе TCCR1B на TCCR2B

3) использовать функцию analogWrite вместо tone().

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

Потратив еще вечер на настройку и отладку всех элементов часов, я их закончил.

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


Работа других четырех кнопок не изменилось

1. смена вывода даты или времени, в режиме настройки является сменой разряда;

2. +1 к настраиваемому числу если зажать, то прибавлять начнет быстрей;

3. -1 к настраиваемому числу если зажать, то прибавлять начнет быстрей;

4. Вход и выход в режим настройки часов;

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


Часы питаются от блока питания 9в-1А.

Все необходимые компоненты купил на все известном китайском сайте и в радио деталях.

Все необходимые материалы скину архивом, а именно:

• Плату в Sprint layout (2.0 то что на фото, 2.1 к155ид1 перенес к arduino, 2.2 это как 2.1 только транзисторных ключей на MPSA92 и MPSA42 заменил транзисторными отпорами TLP627(F)

• Программу для Arduino nano

• Список необходимых элементов и ссылками.

• Библиотеку для ds3132 которым пользовался (в ней можно найти примеры использования)

ссылка на папку со всем схемами и прошивками в ней ищите "часы ин-17 в будильнике"

П.С Всем добра и спасибо что дочитали до конца напоследок более качественных фотографий.

П.П.С Я не считаю, себя «тру программистом» под arduino и «про радио любителям», буду рад выслушать любую критику.

Показать полностью 14
29

Arduino набор для начинающих

Всем привет! Мне прислали на обзор стартовый набор Arduino от компании DFRobots. Давайте рассмотрим этот набор и посмотрим, подойдёт ли он для человека, который совершенно не разбирается в Arduino.

28

Программа по управлению элементами Arduino

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

В программе присутствует 2 раздела управления:
1)Лог/строка команды.
Тут все понятно, в лог приходят команды с Arduino, а с текстового поля можно отправлять команду на плату.

2)Элементы управления Arduino.
Здесь все иначе, но проще воспринимается пользователю. Команды отправляются и принимаются с помощью элементов управления(кнопки, текстовое поле и метка(label),пока только 3 элемента), с помощью кнопки можно отправлять заранее заданную команду
пр.: d1(включить диод), или же принять строку в текстовое поле
пр.: «td1:Диод 1 включен»(про префиксу td1: определяется в какой элемент будет выведена строка)и указанный label или textbox будет отображена строка о том что Диод 1 включен.

Для наглядности использования, я записал/смонтировал не большое видео, чтобы было понятно как с ней работать.

Кому надо вот ссылка на программу со скетчем(вроде скетч в папке libraries) : https://cloud.mail.ru/public/M75i/MqnztXcy1

p.s: Программу написал на языке c#

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

E-Learning. Часть 5. Образовательная робототехника. Wi-Fi

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


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


О чем этот пост: в комментариях к одному из прошлых постов меня попросили подробнее рассказать про Wi-Fi. Как я его использую, как работаю с прошивкой для esp8266. Об этом и буду рассказывать. Недавно приехал с конференции Графикон-2017 в Перми, посвященной визуализации и машинному зрению. Все было круто, понравилось.



1. Software.


Не буду долго ходить вокруг да около и просто выложу одну из прошивок для своей последней работоспособной версии руки, а именно для 5 версии из этого поста https://pikabu.ru/story/elearning_obrazovatelnaya_robototekh...

https://yadi.sk/d/a8IjAOq-3NNi4F

Схема отличается еще тем, что там мало ножек для управления, отчего был запаян еще 16 канальный мультиплексор. (нам все равно были нужны только ноги выбора устройства CS в стандарте SPI). Поэтому в код добавлены элементы управления мультиплексором.


За основу взят код из стандартного примера "BasicHttpClient" в Arduino IDE.

Когда работал с ним - частота передачи желала оставлять лучшего. 1.8 Гц (проводной тест частоты этой же руки показывал 124 Гц).

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

http.end();

Вот эта зараза. Без неё мы как бы не закрываем соединение, а просто транслируем данные в потоковом режиме. Частота поднялась до 70+ Гц. Никакой магии, просто костыли и отвага.

Вы думаете, что пост написал только из-за одной удаленной строчки кода? Нет. Если на поиск удаления этой строчки ушло дня 4, то еще столько же я потратил, пока решил еще проблемы.


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


Данные решил передавать через post запросы. Так мне показалось проще всего.

Сервер приема данных на втором питоне выглядит как-то так. Дешево и без излишеств. Работает.


from bottle import route, run, template

@route('/hello/<number>/<gx>/<gy>/<gz>/<ax>/<ay>/<az>')

def index(number,gx,gy,gz,ax,ay,az):

print number,gx,gy,gz,ax,ay,az

run(host='192.168.0.100', port=8080)


2. Hardware.

Те, кто читал мой пост про эволюцию костюмов могли заметить, что я хотел запустить 45 чипов esp8266. Однако когда я посчитал энергопотребление такой махины, то оказалось, что для работы на полдня мне потребуется аккумулятор для грузовика массой 60 кг. Я был несколько удивлен... Ну т.е. я знаю, что для всей системы потребуется хотя бы 10 000 мАч, но это было уже за рамками добра и зла.

Но потом начал искать альтернативные варианты. ESP8266 по документации на пике жрет не более 200мАч. Может быть есть более интересные варианты? Есть.

RS9110-N-11-22-05

Энергопотребление у такого модуля заявлено значительно ниже. Находил, что он до 30мАч, однако сейчас по документации еще раз прошелся и конкретных цифр не нашел. Это не важно, потому как такой стоит более 2500р. Что умножая на 45 дает непомерную стоимость костюма.


Что же делать? Так чтобы и дешево и сердито, да еще и чтобы работало.

Обычный радиоканал. RD-NRF24L01P-N. Потребляет он около 15мАч, что минимум на порядок меньше ESP8266.

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

Таким образом предполагаемое потребление будет максимум 800мАч для всего устройства. Что по-прежнему прожорливо, но не потребует телегу для аккумулятора.

Причем стоимость чипа для этого радиомодуля на алиэкспрессе 25 рублей, что положительно скажется на конечной стоимости костюма.


до 6 октября постараюсь сделать еще как минимум один пост, а может не успею. Совсем скоро свадьба предстоит. В любом случае про что будут следующие посты:


- Обоснование гипотезы о том, что обучающая робо-накидка возможна для образовательных и реабилитационных целей (литературный обзор) с источниками как из классического интернета, так и со специализированных сервисов типа Web Of Science, Scopus, Гугл академия.

- Проблемы в предоставлении обратной связи обратно телу человека.

- Тесты по удешевлению костюма, совмещая в работе зависимые 6 и 9 осевые датчики (нужно больше дешевизны, богу дешевизны).

- Тесты радиодатчиков RD-NRF24L01P-N (взял 4 штуки поковырять пока). Буду уменьшать дальность действия до 2х метров и думать как защищать канал от пересечения с подобными же костюмами.

- Схема предполагаемой коммерциализации или о том почему схема для железа бесплатна.


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


Проект мой, тесты и программы мои, наука всеобщая. Тег моё :)

Показать полностью 4
218

Веб-интерфейс для создания образов для Raspberry Pi

Введение


Всем привет. Наконец наша небольшая команда снова дает о себе знать. На этот раз речь пойдет о системе кастомизации образов для Raspberry Pi онлайн под названием CusDeb. Последнее время, когда я пытаюсь рассказать как это работает, мне в голову в качестве аналогии приходит Subway. Когда я первый раз купил саб, меня поразила возможность еще до покупки продукта, указать те компоненты, из которых он будет состоять. Мне всегда казалось, что у нас должно быть в Debian и Ubuntu что-то похожее на «кастомизированные сэндвичи». Спустя несколько лет мы вернулись с друзьями к этой идеи и реализовали ее. Тем не менее, по какой-то причине люди до сих пор берут Raspbian и затачивают его под конкретную задачу уже на самой RPi, редактируя конфигурационные файлы, удаляя и устанавливая пакеты, как если бы они покупали универсальный саб и перед едой заменяли кетчуп на горчицу, тунец на бекон и добавляли красный лук и халапеньо.

Конечно, идея кастомизации Linux-подобных систем не нова. Существенная порция вдохновения к нам пришла от SUSE Studio, который появился аж в 2009.

Этот сервис в основном ориентируется на виртуальные окружения, позволяя генерировать образы кастомизированных openSUSE и SUSE Linux Enterprise для различных систем виртуализации, хотя и не ограничивается этим. Мы, в свою очередь, решили сосредоточиться на одноплатных компьютерах и Debian-подобных дистрибутивах. В идеале я вижу CusDeb системой, которая предоставляет единый интерфейс для приготовления проблемно-ориентированной операционной системы для широкого круга одноплатных компьютеров. На данный момент у нас есть поддержка пока только двух моделей RPi (2 и 3) и двух выпусков Debian (Jessie и Stretch).


Первое знакомство с CusDeb


После регистрации вы попадете в панель управления, откуда сразу можно начать сборку образа. В будущем здесь можно будет найти все собранные образы. Также здесь в качестве эксперимента находится образ с уже готовым приложением – Nextcloud, которое позволяет создать домашнее облачное хранилище на базе Raspberry Pi 2 или 3. Этому приложению была посвящена другая статья на Пикабу.

Основная движуха начинается после нажатия на «СОЗДАТЬ НОВЫЙ».

На этом этапе нужно выбрать устройство, для которого необходим кастомизированный образ операционной системы, и дистрибутив, на базе которого этот образ будет построен. Наша задача в ближайшее время расширять эти два списка, чтобы сделать CusDeb более привлекательным для конечных пользователей. Как уже говорилось выше, CusDeb пока поддерживает только Debian Jessie и Debian Stretch, причем последний доступен только по подписке. После нажатия на кнопку «Далее» придется немного подождать, т.к. лично для вас необходимо создать персональное окружение, в рамках которого вы будете работать над своим будущим образом.

Кастомизация начинается с выбора пакетов. В основу будущего образа закладывается минимальная версия операционной системы, поэтому в ней нет ничего лишнего. Примечательно, что минимальная (или базовая) версия Debian Jessie состоит аж из 121 пакета, что не мало. Для сравнения, минимальная версия Debian Stretch состоит всего из 76 пакетов.

Здесь мы явно заимствовали одну из крутейших фич SUSE Studio – список пакетов всего дистрибутива с возможностью разрешения зависимостей в реальном времени. Если вы выберите тот или иной пакет, то сразу увидите, какие пакеты добавятся в ваш образ в качестве зависимых, а также общее количество пакетов.

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

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

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

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


Как помочь проекту


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

* какой фичи лично вам не хватает в CusDeb и почему не хватает именно ее;

* какие одноплатники вы бы хотели видеть в списке целевых устройств;

* в каких проектах (коммерческих и некоммерческих) вы используете одноплатники и какими вы пользуетесь инструментами.


Покупка Pro-подписки может считаться материальной поддержкой проекта.

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