Кучка реле, два дисплея, два энкодера.

wowscheg
Offline
Зарегистрирован: 14.02.2012

Приветствую!

Ищу программиста для написания скетча на Ардуино по управлению АТТ
Дано:
Arduino MEGA
Два дисплея от Nokia 5110
Два энкодера трещотки
Два ступенчатых аттенюатора от 0 до 127 дБ и немного математики.

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

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

wowscheg пишет:

Arduino MEGA

Два дисплея от Nokia 5110
Два энкодера трещотки
Два ступенчатых аттенюатора от 0 до 127 дБ и немного математики.

А Мега пошто одна?  Тоже две надо, чтоб стерео было. 

wowscheg
Offline
Зарегистрирован: 14.02.2012

DetSimen пишет:

 стерео было. 

А я глухой на одно ухо, и слепой на один глаз, что стерео, что моно, без разницы. Так зачем платить больше?

b707
Offline
Зарегистрирован: 26.05.2017

wowscheg пишет:

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

а почему это важно для исполнителя? - или это означает "больше 300 рублей не дам" ?

wowscheg
Offline
Зарегистрирован: 14.02.2012

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

wowscheg
Offline
Зарегистрирован: 14.02.2012

Для полного понимания того, с чем иметь дело, выкладываю ТЗ:

Дано:

Arduino MEGA

Два дисплея от Nokia 5110

Два энкодера трещотки

Два ступенчатых аттенюатора от 0 до 127 дБ

Задача:

Аттенюаторами управляет микросхема 74HC595. Каждый аттенюатор имеет 8 ячеек со следующими значениями 32, 32, 32, 16, 8, 4, 2, 1 дБ. Вращая энкодеры, необходимо менять ослабление аттенюатора с шагом в 1 дБ. Для каждого аттенюатора свой энкодер.

Выводы микросхемы 74HC595 отвечают за следующие ячейки аттенюатора:

7 вывод - ячейка 1 дБ

6 вывод - ячейка 2 дБ

5 вывод - ячейка 4 дБ

4 вывод - ячейка 8 дБ

3 вывод - ячейка 16 дБ

2 вывод - ячейка 32 дБ

1 вывод - ячейка 32 дБ

15 вывод - ячейка 32 дБ

 

Два дисплея, каждый для своего аттенюатора.

На первом дисплее выводить четыре строки:

  • Текущее напряжение в микровольтах крупным шрифтом. (например, 100 uV) если значение превышает 1000 uV переходить на mV (например, 1 mV)
  • Текущее напряжение в dBmV (например, -10 dBmV)
  • Текущее напряжение в dBuV (например, +10 dBuV)
  • Текущее значение положения аттенюатора (например, -25dB)

Отсчет ведется от 100mV вниз

 

На втором дисплее выводить четыре строки:

  • Текущее напряжение в микровольтах крупным шрифтом. (например, 100 uV) если значение превышает 1000 uV переходить на mV (например, 1 mV)
  • Текущее напряжение в dBmV (например, -10 dBmV)
  • Текущее напряжение в dBuV (например, +10 dBuV)
  • Текущее значение положения аттенюатора (например, -25dB)

Но отсчет ведется от 1V вниз.

 

Включаться схема должна с максимальным ослаблением аттенюаторов, то есть все выходы 74HC595 должны быть с логической единицей.

При подключении питания, оба дисплея должны заработать.

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

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

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

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

это не ТЗ  а поток логически не связанных с друг другом предложений.  Схема будет?

wowscheg
Offline
Зарегистрирован: 14.02.2012

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

microsystems
microsystems аватар
Offline
Зарегистрирован: 25.01.2020

"микровольты" откуда берутся?

wowscheg
Offline
Зарегистрирован: 14.02.2012

На вход аттенюатора подается 100мВ напряжения, и в зависимости от положения аттенюатора, на его выходе напряжение может быть ослаблено до микровольтов.

microsystems
microsystems аватар
Offline
Зарегистрирован: 25.01.2020

Т.е. это и есть ваша "математика"?

Слава богу. А то я уж испугался, что вы хотите мегой микровольты мерять. 

wowscheg
Offline
Зарегистрирован: 14.02.2012

Да это и вся математика :)

microsystems
microsystems аватар
Offline
Зарегистрирован: 25.01.2020

Тогда напишите мне: microsystems@mcuprog.ru

поторгуемся за цену.

wowscheg
Offline
Зарегистрирован: 14.02.2012

Написал

Бармалей
Бармалей аватар
Offline
Зарегистрирован: 23.09.2019

microsystems пишет:

"микровольты" откуда берутся?

Из microsystem наверное

microsystems
microsystems аватар
Offline
Зарегистрирован: 25.01.2020

Обоснуй, старый маразматик. Пиздишь не в строчку.