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

Arduino & Pi

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

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

12

Сгорел Регулятор оборотов двигателя ШИМ 4.5 - 35В 5А

Сгорел у меня регулятор оборотов. Причиной стало подключение к источнику с низким напряжение.
Подключил к одной литиевой банке. Сначала стал греться сильно диод а за ним и транзистор которые и сгорели. Как оказалось транзистору не хватало напряжения чтобы открытая.
Диод заменил на первый что попался по руку хотя рекомендуют заменить на диод помощнее ампер на пять. Транзистор тоже поставил побольше первый из попавшихся в россыпи деталей, тот что сгорел был "N канальный mosfet".Первый n канальный masfet и поставил
Проверил на ленте светодиодной работает. На Ютубе ещё выпивали стабилизатор напряжения для увеличения мощность путем подачи на на микросхему таймера повышенного напряжения (таймер до 18 вольт можно питать). Но я пока воздержался от экспериментов.

Припаянный новый транзистор и диод

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

Старо как мир или "трекбол мне в кибердеку"

Если самоделки и колхоз вызывают у вас приступы кринжа - лучше пропустить этот пост😅

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

К нашим баранам. Как это выглядит, трекбол на фото светится фиолетовым. А сейчас подробнее.

Начнем с того, что есть устройство на линуксе raspberry pi4. И очень хотелось бы сделать его переносным. С клавой все решается достаточно просто - монтированием в корпус к самому устройству или подключив через usb/bt и кладешь куда угодно.

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

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

Так вот о чем это я? Мне для "кибердеки" нужна была мышь.

Исключая тачпад, есть два три стула:

  1. Джойстик (различных видов)

  2. Трекбол

  3. Трекпоинт (такие стоят на линейке Thinkpad от Lenovo)

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

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

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

Я выбрал трекбол из-за экзотики, размера и цены.

На алишке можно найти по запросу ICSH044A или Blackberry Trackball, так как такие стояли на телефонах Blackberry.

Также мне понадобилась Ардуинка, так как моя UNO не поддерживает работу USB HID, так что пришлось взять Pro Micro на чипе ATmega32U4 (который и позволяет в hid)

Ладно, я слегка затянул с прелюдией...

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

Подсветку можно запитать на свой вкус, подав на подписанные контакты "+", выбирая или миксуя синий, красный, зеленый и белый. Здесь запитаны красный и синий, что дает фиолетовое свечение.

Подключение к пинам ардуино:

right_pin  3

left_pin  4

down_pin  5

up_pin  6

Левая кнопка  7

Правая кнопка  8

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

Итак:

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

Расположение подобрано для большого пальца правой руки.

Итог:

Из плюсов:

Удивительно, но к этому действительно легко привыкнуть.

Подключается по USB и начинает работать сразу и в WIndows и в Linux.

Достаточно хорошая точность и отклик.

Из минусов:

Можно отметить небольшой брак(заводской), это остатки клея, которые мешали работе одной из осей и встроенной кнопки.

Отсутствие скролла в собранной конструкции.

Двигать курсором по диагонали не очень удобно.

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

Гусеничное шасси-робот на базе Arduino V2.01

Прошло больше года со дня публикации проекта гусеничного шасси, появилось свободное время и я решил его сделать заново. Цель - открытый проект робота под различные МК и мини ПК. Эдакая игрушка на поиграться с машинным зрением.

Размеры:
13,5 см на 10 см на 4 см

Печатал на SLA 3D принтере, время печати - 2 часа. Моделировал в Fusion360.
Предусмотрена установка "2 этажа", нет фото, так-как жду некоторые расходники.
Также на фото не показано посадочное место под аккумуляторные батареи типа 18650, но тут та же ситуация - жду доставку.
Серва на модели для установки датчика препятствий или манипулятора (попытка создать универсальную модель)

Есть идеи, что можно добавить для универсальности? Буду рад предложениям и критике.

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

Сбор и обработка показаний датчиков с Arduino в базу mysql

Говорят у меня появился один подписчик, возможно это будет интересно ещё кому-то.

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

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

В качестве базы использовал OrangePi One с установленной Armbian OS. В основе Debian, по этому всё как там. Соответственно MariaDB и Apach. Возможно что-то другое на свой вкус.

За сбор данных отвечает скрипт на Python запущенный в качестве сервиса. При запуске автоматом сканирует COM-порты и если такой находит, слушает его. Если в COM-порт что-то приходит, пытается разобрать и отправить в базу данных. База имеет такую структуру:

В базе две таблицы, в одну "data", заносятся показания датчиков, в другой "servo", заносятся значения устанавливаемые на сайте в разделе "Управление" для ручного управления какой-либо автоматикой (возможное дальнейшее развитие этого проекта), в моём случает для управления автоматизацией теплицы. На данный момент здесь нет логики которая основывалась бы на значениях датчиков и собственно автоматизированного управления. Пока только ручное управление.

Данные с базы "data" визуализированы и выводятся в виде различных графиков. По умолчанию выводятся на диаграммы последние значения, на общий график последние 12/48/... (сколько задать в настройках скриптов) значений, либо за указанный период.

Это архив болванки сайта.

Это скрипт Python для чтения и обработки полученных от Arduino данных.

Это скрипт запуска скрипта-Python как сервиса.

Его нужно закинуть в /etc/systemd/system в варианте для Armbian OS.

На этом пока всё. Спасибо за внимание :)

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

С чего начать кибердеку

Пост о кибердеке

Моё во временном корпусе

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

Железо

После сравнения цен и характеристик я выбрал Raspberry pi 4, которую все небеспричинно называют малинкой. Многие миникомпьютеры схожие проекты сделаны именно на ней.

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

Плата сбалансирована, много выходов, имеет большую базу форумов.

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

Заказал, что удивительно, на озоне.

В цене разницы почти не было, да и повозиться с платой уже хотелось.

Набор уже содержал:

  • Плата

  • Активное охлаждение

  • SD-карта с адаптером

  • Блок питания 5в 3а

  • Кабель microHDMI to HDMI

Правда в этот раз китайцы поднатужились и прислали заказанный в тот же день, что и плата с озона, дисплей на день раньше.

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

К виндовс подключился моментально и тач подтянулся тоже. Plug & Play великая вещь.

Также для установки потребуются мышь и клавиатура.

Софт

Так как у платы есть рекомендованная для нее ОС ее я и решил установить в версии 64бит ибо мы имеем 8гб оперативы и нужно ее использовать. Что непременно было ошибкой и стоит выбрать 32бит. Но

"Опыт - сын ошибок трудных..."

Скачиваем образ ОС с оф. сайта.

Заливаем образ на нашу sd-карту с помощью balenaEtcher или Raspberry PI Imager. Достаточно просто в режиме "Что-Куда-Запись"

Raspbian, ныне именуемая Raspberry Pi OS только недавно обзавелась 64бит версией и не может похвастаться полноценной поддержкой всех программ, даже разработчики сказали, что это не приоритетная задача.

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

С этой ос легко проверить, что все работает. Но мне в последствии захотелось перейти на Twister OS. Но перейти на нее можно и с уже установленной Raspberry OS.

Адьёс, чумбы!

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

Arduino - передача показаний датчиков по "воздуху"

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

Собрал две макетки. На одну ардуинку зацеплены различные датчики и модуль NRF24l01 как передатчик, на другую ардуинку только приёмник NRF24l01.

Здесь скетчи передатчика и приёмника

На этом собственно всё, данные с датчиков передаются и принимаются. У этого проекта есть дальнейшее развитие, данные с датчиков собираются в mysql-базу и выводятся на сайт для дальнейшей обработки. Оформлю позже в другом посте.

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

выглядит это примерно так:

Humidity: 26.10% Temperature: 0.90°C 33.62°F Heat index: -2.27°C 27.91°F

Humidity: 26.30% Temperature: 0.70°C 33.26°F Heat index: -2.49°C 27.52°F

Humidity: 26.30% Temperature: 0.70°C 33.26°F Heat index: -2.49°C 27.52°F

Humidity: 26.40% Temperature: 0.50°C 32.90°F Heat index: -2.71°C 27.13°F

Humidity: 26.60% Temperature: 0.40°C 32.72°F Heat index: -2.81°C 26.94°F

Humidity: 26.60% Temperature: 0.30°C 32.54°F Heat index: -2.92°C 26.74°F

Humidity: 26.70% Temperature: 0.20°C 32.36°F Heat index: -3.03°C 26.55°F

Humidity: 26.90% Temperature: 0.00°C 32.00°F Heat index: -3.24°C 26.16°F

Humidity: 26.90% Temperature: 0.00°C 32.00°F Heat index: -3.24°C 26.16°F

Humidity: 27.10% Temperature: -3276.70°C -5866.06°F Heat index: -3607.57°C -6461.69°F

Humidity: 27.20% Temperature: -3276.60°C -5865.88°F Heat index: -3607.46°C -6461.49°F

Humidity: 27.30% Temperature: -3276.50°C -5865.70°F Heat index: -3607.35°C -6461.29°F

Humidity: 27.50% Temperature: -3276.30°C -5865.34°F Heat index: -3607.12°C -6460.88°F

Humidity: 27.50% Temperature: -3276.20°C -5865.16°F Heat index: -3607.01°C -6460.68°F

Humidity: 27.70% Temperature: -3276.10°C -5864.98°F Heat index: -3606.90°C -6460.48°F

Humidity: 27.80% Temperature: -3276.00°C -5864.80°F Heat index: -3606.78°C -6460.27°F

Humidity: 27.90% Temperature: -3276.00°C -5864.80°F Heat index: -3606.78°C -6460.27°F

Humidity: 28.00% Temperature: -3275.80°C -5864.44°F Heat index: -3606.56°C -6459.87°F

Humidity: 28.10% Temperature: -3275.70°C -5864.26°F Heat index: -3606.44°C -6459.66°F

Humidity: 28.20% Temperature: -3275.60°C -5864.08°F Heat index: -3606.33°C -6459.46°F

На последней строчке значение которое в дальнейшем не меняется.

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

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

Stm32h735g-dk запуск экрана

Добрый день уважаемые пользователи. В руки попал набор разработки STM32H7 Discovery kit for STM32H735 MCUs. Прошу помощи разобраться как завести дисплей.

Stm32h735g-dk запуск экрана

Я относительный новичёк в плане освоения STMок, плавно перехожу на них с ардуино. Дрыгать портами через HAL, обрабатывать кнопку, работать с последовательным портом или SPI уже умею.
Тут же переферии гораздо больше, и хотелось бы всё это освоить. В первую очередь сенсорный экран с параллельным RGB интерфейсом, для которого в МК есть модуль LTDC. У меня есть общее понимание как он должен работать, но завести не получается.
Проект настраиваю в CubeIDE, хочется научиться закрашивать 1 пиксель, дальше я по идее разберусь сам. Если же получится прикрутить проект из TouchGFX designer, то вообще суппер.

Если кто-то готов объяснить и показать на примерах - буду очень благодарен.

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