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

Arduino & Pi

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

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

701

Цифровая панель из машины времени. Назад в будущее.

В продолжении к моему предыдущему посту  https://pikabu.ru/story/yenergeticheskiy_flyuksuator_iz_naza... расскажу как я делал цифровую панель  из машины времени Делориан.

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

Хотя даже с микроконтроллером, все равно получалось очень сложно. 30 - 7ми сегментных цифр и 9 - 16ти сегментных букв. Но однажды я нашел в интернете статью, в которой фанат "Назад в будущее" делал подобное устройство. Matt Schaefer, Спасибо тебе огромное!!! У него я подсмотрел идею, что один дисплей, это не буквы и цифры, а просто матрица 16х8 !!! И ей можно управлять по ДВУМ проводам, плюс питание. И дело пошло.

Сложнее всего было купить индикаторы. В Китае я смог купить только зеленые и красные 7ми сегментные (5261AG и 5261AS).  Желтые индикаторы и 16ти сегментные пришлось искать в России, в разных магазинах и городах. Купил Kingbright DS56-11YWA и PSC05-11. Получилось немного не красиво. Одни индикаторы черные, другие серые.

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

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

После сборки дисплеев и написания предварительного кода, начался тест-драйв.

В таком виде они просуществовали у меня примерно полгода. Вылезали разные косяки которые пришлось исправлять. Т.к. индикаторы разные,  у них разная яркость. Пришлось подгонять. Еще обнаружились зависания программы в момент обращения к часам ds1307. Пробовал менять код и ставил другие ds1307.  Все равно иногда виснет. Заменил часы на ds3231, и все , заработало "как часы")

Пришло время делать корпус.

Из за кривости своих рук, я не смог бы сделать корпус по канону из металла. Стал делать из пластика. Технологично и практично. Перед финальной сборкой покрасил краской из баллончика в  4 слоя.

На работе в старых завалах, нашел "антикварную"  клавиатуру. Ещё с разъемом DIN. Разобрал её и отпилил часть  платы с цифровыми клавишами. Ещё пришлось поменять местами цифры, т.к. на клаве "1" была слева внизу, а в машине времени слева вверху. Для уменьшения количества проводов, контроллер общается с клавиатурой тоже по шине I2C с помощью PCF8574.

В итоге плата управления получилась такая.

На плате: Ардуино нано, модуль часов RTC DS3231 который также используется для хранения в энергонезависимой памяти времени будильников. MP3 плеер с записанным на microSD саундтреком из фильма.  Усилитель, для вывода звука на динамики. USB разъем для подключения  энергетического флюксуатора. Разъем PS/2 для клавиатуры.


Компоновка в корпусе.

Функционал устройства. На зеленом дисплее отображается текущее время. На красном и желтом время срабатывания будильника. Причем контролируются только часы и минуты. Дату можно вводить любую, какая нравится. Когда разделительные точки между часами и минутами красного или желтого дисплеев светятся - будильник включен, когда не горят - отключен. При достижении времени срабатывания, звучит случайная музыка из фильма и включается флюксуатор.

Небольшое видео работы устройства.

На этом пожалуй закончу. Пост и так получился длинный. Ваш друг во времени SPYSOFT.  Увидимся в будущем... или в прошлом ;)

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

ТехноNews #1: Про Raspberry, роботов и новый клип Rammstein

Команда Arturos TV представляет свой новый проект! В этом выпуске Лиза расскажет вам про самые интересные новости из мира технологий за последние две недели, а также поведает, чем заняться на досуге. Приятного просмотра!


Самодельная Raspberry клавиатура: https://howchoo.com/g/zgmzytq1mmy/raspberry-pi-in-official-p...

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

Играю в Doom одной рукой на своем геймпаде

Продолжаю сериал о создании геймпада для людей с одной рукой.

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

Жду от вас вопросы и советы.

Всем спасибо!

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

Raspberry Pi перестал работать? Возможно, нужно восстановить карту памяти

Автоматические обновления хороши: они поддерживают систему в актуальном состоянии, используя новейшие функции и/или исправления безопасности. Но это до тех пор, пока прошивка не была испорчена. Как выяснила команда из Bootlin, а так же это было замечено многими другими, их Raspberry Pi перестали работать после последнего неудачного обновления Raspbian.

Raspberry Pi перестал работать? Возможно, нужно восстановить карту памяти

Причина в том, что пакет raspi-copies-and-fills, в котором реализована оптимизация низкоуровневой функции памяти для ARM процессора, обновили 11 марта и это обновление привело к тому, что некоторые программы полностью перестали работать. Это полностью объясняет, почему команда из Bootlin не смогли получить доступ к своему Raspberry Pi по SSH соединению.


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


Восстановите раздел rootfs с помощью:

e2fsck -f /dev/mmcblk0p2

И удалить:


etc/ld.so.preload

Вставьте обратно карту в Raspberry Pi. Если Raspberry Pi установлен в труднодоступном месте, то пока, что нет решений для удаленного восстановления вашей карты: SSH или другие методы сетевого подключения не будут работать.


Хорошая новость в том, что команда Raspbian быстро отреагировала и решила данную проблему, так что баг исправят в следующих обновлениях .


Источник:

ARMLab - канал про одноплатные компьютеры в Телеграм

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

NiteFury — плата в формате M.2

Плата NiteFury работает иначе, чем конкуренты. Разработчики с RHS Research LLC реализовали её в формате карты M.2 Key M, которую легко вставить в ноутбук или ПК с разъемом 80-мм M.2.

Характеристики NiteFury:


- FPGA — Xilinx Artix XC7A200T-2FBG484E, обеспечивающий скорость до ~ 1000 GMAC/с, с 215 360 логическими ячейками, 33 650 Slices, 269 200 триггеров и 740 DSP slices.

- Системная память — 8 Гбит DDR3 (512 МБ x 16)

- Хост-интерфейс — PCIe 4x gen 2 (2 Гбит/с)

- Внешние входы/выходы: через разъемы ввода/вывода — 12 входов/выходов, включая 4 выбираемых аналоговых или цифровых — JTAG

- Через разъем PCIe — 1x 3.3 В цифрового ввода-вывода (LED), SMBus

- Разное — 4x светодиода

- Размеры — 80 х 22 мм; M.2 (NGFF) 2280 с ключом для слота M; Высота: 5,5 мм без радиатора, 10 мм с радиатором

Плату можно запрограммировать с инструментом Xilinx Vivado Design Suite. Компания уже опубликовала схемы в PDF и примеры проектов на Github.


На CrowdSupply запущен сбор финансирования для выпуска платы, разработчики запросили $17 200. Цена платы $320 без радиатора, с ним и вентилятором $359. Доставка бесплатна для жителей США, для остальных стран $20. Продажи платы NiteFury ожидаются в августе 2019 года.


ARMLab - канал про одноплатные компьютеры в Телеграм
Показать полностью 2
19

Автовыключалка телевизора на Ардуино, или "АнтиСпящийБатя v.0.3"

Доброго времени суток. 

Более года назад я начал увлекаться ардуиной, и в частности одним из первых задуманных к исполнению проектов, было устройство, которое выключало бы телевизор в определенный момент времени, например, когда условный "батя" уснул в 3 часа ночи)

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

И вот, не так давно руки дошли таки запилить первый сырой рабочий прототип).

Схема собирается вот так

Весь код писался в программе FlProg.

Как видите, в проект я добавил дисплей, чтобы отслеживать не сбиваются ли часы, но в последствии решил не ставить его.

Как собирать все это.
1. Подключаем компоненты как указано на схеме выше.
2.Устанавливаем часы реального времени

3.Считываем код нужной кнопки ИК пульта

сохраняем его, и добавляем в блок IRsend

4.Выставляем нужное время в блоке RTC Alarm (будильник)

4.Заливаем код в Ардуину

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

Компоненты которые были использованы в поделке:

1. Ардуино NANO

2. Резисторы - 10 кОм, 200 Ом.

3. Модуль часов реального времени DS3231

4.IR светодиод(белый)

вместо него можно использовать готовый модуль HX-53

Показать полностью 8
30

Умная вытяжка, первое изделие проекта IoT Home

Всегда была интересна тема умного дома, вариантов купить готовый, большое многообразие, но т.к. я технарь, решил делать сам. IoT (интернет вещей) я думаю под это дело подходит на все 100,  и т.к. изделия подобного типа производят в одной знакомой мне организации, я решил попробовать сделать на их основе. Сама железка на CC1310 уже есть в наличии, остается только запилить под нее прошивку и подключиться к ней по нужным DIO.


LAUNCHXL-CC1310 – это отладочная плата на базе беспроводного микроконтроллера CC1310 поддерживающая обмен данными в диапазоне Sub-1GHz.


Особенности:

- LaunchPad с трансивером Sub-1GHz для беспроводных приложений с интегрированной PCB антенной;

- Широкополосная антенна поддерживает диапазона 868 MHz (ISM диапазон для Европы) и 915 MHz (ISM диапазон для US);

- Встроенный эмулятор на плате дает вам возможность начать разработку кода в CCS Cloud;

- Может использоваться с LaunchPad kit и Smart RF Studio приложениями;

- Все I/O сигналы доступны через разъем BoosterPack;

- Совместимость с LCD BoosterPack.

Датчик влажности и температуры AM2320: влажность: 0-100%, точность 3% Шина I2C


АМ 2320 имеет следующие технические характеристики:


Напряжение питания – 3,1-5,5 В;

Потребляемый ток – 8-10 мА в режиме ожидания, до 950 мА в режиме измерений;

Диапазон измерения температуры от -40º до +80ºС;

Максимальная погрешность измерений – 0,5 ºС;

Диапазон измерения влажности воздуха – 0-100%;

Погрешность измерений влажности воздуха – 3%;

Время между считыванием данных – 2 сек;

Габариты – 15х12,1х4,5 мм.

Вытяжка любая на 220 в.

AC-DC 220 -> 5 в. небольшого размера чтобы встроить в вытяжку.

И реле 5 в. 220в.

Моя железка выглядит примерно так.

По умолчанию I2C назначено на DIO4, DIO5, но т.к. я переделывал данное мне устройство, пришлось переназначить на DIO26 - SCL, DIO27 - SDA и DIO - 28 на управление реле. Причем столкнулся с глюком, зависало после не продолжительной работы, оказалось что на моей шине I2C стоят 2 конденсатора на GND, отпаял, все стабилизировалось.

Прошивка для устройства делается на OS Contiki, на Си, Делается прошивка для граничного роутера (о нем чуть ниже) и для устройств mesh - сети.

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

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

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

Граничный роутер работает на 6lbr (акроним от 6LoWPAN Border Router)

У меня граничный роутер сделан из nanopi neo плюс радиомодуль, соединенный через UART


Принцип работы


Граничный роутер должен включать 2 среды передачи данных для обеспечения возможности передачи данных и непосредственно само приложение обеспечивающее передачу данных между ними. Для работы приложения требуется вычислительное ядро. В итоге можно выделить следующие составляющие необходимые для аппаратной реализации (рассмотрим их последовательно для случая передачи данных из традиционной IP-сети в сеть 6LoWPAN):

контроллер/приёмопередатчик Ethernet,

вычислительное ядро для обработки пакетов,

контроллер/приёмопередатчик сети 802.15.4,


подробнее тут на русском языке.


В итоге я получил работающее устройство которое уже установлено и работает уже.. часов 12 ))

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

Дальше буду делать датчик задымления, с оповещением в виде СМС или другими способами, но тут придется делать "спящее устройство" чтобы батареи хватило на долго.

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

И "небольшое" видео как это устройство собиралось и работает.

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

CusDeb: Orange Pi PC Plus, обновления по воздуху и тестирование образов ОС в эмуляторе

Всем привет. С нашего последнего поста в команде разработчиков сервиса cusdeb.com произошло много событий, о которых пришло время рассказать.

CusDeb – это инструмент для кастомизации образов операционных систем онлайн, а мы – небольшая, но гордая команда его разработчиков. Этот инструмент начинался с поддержки нескольких моделей однопалатного компьютера Raspberry Pi и двух выпусков операционной системы Debian – Jessie и Stretch. Мы рассказали о CusDeb на Пикабу, получили много отзывов различной степени ценности, взяли на себя обязательство добавить Orange Pi и... пропали. Но ненадолго. Сегодня я рад сообщить о том, что CusDeb поддерживает кастомизацию Debian 10 «Buster» для Orange Pi PC Plus. Линейка Orange Pi в CusDeb'е будет расширяться, поэтому нам необходимо узнать, какие платы вам нужны в первую очередь и в каких проектах вы их используете или планируете использовать.

Примечательно, что некоторые из вас даже спустя несколько месяцев в комментариях под нашими постами напоминали об обещании добавить поддержку Orange Pi в CusDeb. Таким образом, ваша поддержка вкупе с нашей упоротостью помогли добить начатое. Спасибо!

CusDeb: Orange Pi PC Plus, обновления по воздуху и тестирование образов ОС в эмуляторе

Напомню, что сердцем CusDeb'а является Pieman, поэтому любителям чистейшего open source'а не обязательно заводить учетку на cusdeb.com, т.к. они могут кастомизировать образы у себя на машинах под управлением GNU/Linux, macOS или Windows 10.

Несмотря на то, что Pieman является сердцем CusDeb'а и разрабатывался исключительно для этого сервиса, в CusDeb прокинуты еще не все возможности Pieman'а. К одной из таких возможностей относится генерация образов на основе Alpine Linux. Если вам необходима система, которая будет загружаться на вашем Raspberry Pi за 3 секунды, тогда обратите внимание на Alpine. Pieman с недавних пор поддерживает последнюю версию (3.9) этой операционной системы. В планах добавить возможность создания образов на базе Alpine для Orange Pi PC Plus.

Pieman'у был посвящен на Пикабу отдельный пост.

А теперь, когда я рассказал о главном, хочу поделиться другими новостями.

Mender

Это как раз то, что отсрочило добавление поддержки Orange Pi в CusDeb как минимум на пару месяцев. Дело в том, что наш сервис засветился в The MagPi Magazine, официальном журнале Raspberry Pi, после чего с нами связались разработчики Mender'а, системы OTA-обновлений для встраиваемых устройств с открытым исходным кодом, и предложили объединить наши силы с целью добавить в CusDeb возможность генерации образов, которые возможно было бы в будущем обновлять «по воздуху». Можно конечно вручную перезаписывать SD-карту, но это не очень удобно если у вас более одного устройства для обновления. Также можно было бы подключаться к целевому устройству через SSH и обновлять необходимые пакеты, но после установки новых версий пакетов невозможно гарантировать, что удаленное устройство не превратится в кирпич. С Mender'ом же все иначе: образ бьется как минимум на 4 раздела – загрузочный раздел, раздел A (по умолчанию активный), раздел B (по умолчанию пассивный) и раздел для данных. Первые запуски системы до обновления осуществляются с раздела A. Когда прошивка обновляется, ее обновленная версия пишется на раздел B, а затем система перезагружается. Если система загружается с раздела B успешно, то он помечается как активный, а раздел A становится пассивным. В противном случае обновление отзывается, система снова загружается с раздела A и устройства опять оказывается в строю, даже несмотря на то, что обновление оказалось неудачным.

Пока CusDeb поддерживает генерацию Mender-совместимых образов и обновлений только на основе Raspbian, но мы планируем добавить такую возможность для Ubuntu, чтобы предоставить пользователям и разработчикам альтернативу операционной системы для встраиваемых устройств Ubuntu Core, в которой используется проприетарная система OTA-обновлений.

Тестирование 64-битных образов на основе Ubuntu в эмуляторе

Некоторые пользователи CusDeb'а писали нам о том, что им необходим инструмент для тестирования образов. Дело в том, что они хотят использовать сервис, но их устройство может находиться на пути домой из Китая или Великобритании домой, и этот путь может занять 2-3 недели. Мы подумали, что можно сделать и добавили возможность тестирования образов в эмуляторе прямо на сайте. Это работает примерно так:

Данная возможность пока доступна только для образов на основе 64-битной версии Ubuntu для Raspberry Pi 3, но если фича окажется востребованной, мы расширим список поддерживаемых операционных систем и устройств. Кстати, данную возможность реализовали при нашей поддержке двое студентов Ростовского колледжа связи и информатики. Это стало их дипломным проектом.

Заключение

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

* добавление первой модели Orange Pi, которой стала Orange Pi PC Plus и с которой начнется поддержка этого одноплатника в CusDeb;

* интеграция обновлений по воздуху на основе Mender;

* тестирование образов операционных систем в эмуляторе для тех, кто ждет свое устройство издалека.

Впереди еще много вкусных фич. К примеру, совсем скоро появится возможность создавать кастомные сборки Kali Linux, звезды сериала Mr. Robot.

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