Новые для микроконтроллеров и программирования на нижнем уровне, это можно сделать?

90
10

Привет, Все. Я недавно окончил BS в области машиностроения и работаю над проектом, который входит в область CS, и я хочу переделать беговую дорожку после того, как ее материнская плата 1990 года, наконец, ушла.

У меня есть следующие активы:

    Беговая дорожка со сломанной материнской платой (все остальные компоненты протестированы и функциональны) Сенсорный экран, подобный этому Полярный монитор сердечного ритма. Несколько жестких дисков, джойстики и другие аксессуары USB. Полный комплект подписки NI LabVIEW 2 (2000 эры) ноутбуки без ОС. Solidworks Местное место производителя

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

Это должно быть легко... правильно?

Получите настройку ПИД-регулятора с помощью микроконтроллера, чтобы вращать ремень беговой дорожки на [n] миль/ч и отрегулировать наклон к [n2] градусам на основе физического набора, ручки или кнопки физического ввода

* get microcontroller to read motor encoders for speed/incline 

* get microcontroller to recognize input from a physical button

* get microcontroller to compare current speed/incline values with target values
and increase/decrease current to motors appropriately

* have microcontroller display info on LCD screen

Переход от физического входа к входу сенсорного экрана.

*Figure out what they're doing [в ссылке 1 в комментариях ниже] and adjust for what я currently have (or buy fresh if absolutely necessary)

* change input from hardware buttons to software <up> <down> arrows

* Add hardware E-stop

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

Средняя сложность (я видел, как парень это сделал)

Загрузите на мой микроконтроллер какой-то дистрибутив Linux или другую ОС и превратите мою программу в приложение.

*Learn how to install Linux/Other OS

*Compile program as application

*Section off the bottom of the LCD Screen as a treadmill specific taskbar

* (bonus round) Make treadmill specific taskbar able to be moved and snapped
(similar to the windows taskbar)

Добавьте обратную связь от монитора частоты сердечных сокращений к беговой дорожке для ПИД-регулирования частоты сердечных сокращений

*SparkFun has a Single Lead Heart Rate Monitor - AD8232 [Link 2] write an application 
to read the monitor and control the treadmill program accordingly.

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

Жесткий режим (возможно ли это?)

Наденьте функциональность стиля смартфона.

* Install Android OS onto microcontroller

* Install Google Play store

* dedicate a set of pixels to the "treadmill OS" and the rest to the "smartphone."

* Add some sort of hook for the "treadmill OS" into the Android OS and maybe write
a few apps to control the treadmill based on [arbitrary value in app]

Если я смогу это сделать, почему все супердорогие и продвинутые беговые дорожки на рынке настолько дрянные в плане их программного обеспечения?

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

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

A) посмотрите на какой-то конкретный тип микроконтроллера, чтобы сделать все это (рекомендуются рекомендации)

B) Начните с одного из двух моих ноутбуков и напишите интерфейс для микроконтроллера, который просто делает легкий материал

C) Установите ОС Android на один из моих ноутбуков и начните писать приложение [treadmill]

D) Сделайте то, о чем я не думал, потому что это не мое поле.

ps: Хотя это проект DIY, когда дело доходит до кодирования, я действительно не хочу изобретать колесо, поэтому, пожалуйста, дайте мне знать о каких-либо библиотеках или ресурсах, которые могут существовать, что может быть полезно

спросил(а) 2021-01-19T15:40:48+03:00 6 месяцев назад
1
Решение
77

Ничего себе, какой проект!

Работа беговой дорожки

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

Контуры управления и сбор данных

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

Пользовательское взаимодействие

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

Но вы не хотите "работать", вы хотите "круто". Вы упомянули несколько разных способов взаимодействия пользователей с вашей системой: дисплеи, сенсорные экраны, телефоны и т.д. Уже сейчас это будет огромный проект, поэтому не теряйте время, изобретая колесо, пытаясь вручную реализовать эти вещи. Найдите рабочую систему (ваш ноутбук, ежедневный мобильный телефон или даже дешевый планшет в режиме онлайн) и используйте это, чтобы поговорить с микрофоном низкого уровня над чем-то вроде Bluetooth или WiFi.

Выбор правильных инструментов

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

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

Arduino может быть хорошим микро для вас. Посмотрите на это.

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

Другие мысли
    Вы упомянули LabVIEW: перестаньте это делать. Это неправильный инструмент для почти всех ваших целей. Вы спросили, как отрегулировать сетевое питание на небольшой доске: купите/найдите какой-нибудь старый адаптер для настенного стекла из старой электроники вокруг вашего дома. Отрежьте наконечник. Подключите провода к плате. Готово. (вся магия находится внутри кирпичного блока). Вы спросили, какой подход лучше всего: B. Получите беговую дорожку, работающую с основным микро. Затем добавьте беспроводной микрофон. Затем напишите приложение, чтобы дать вам приятный показ и управление беговой дорожкой (через микро). E-стоп. Умный.

ответил(а) 2021-01-19T15:40:48+03:00 6 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема