Увеличение количества входов

Megawollt
Offline
Зарегистрирован: 06.12.2015

Под проект мне нужно 24 входа с состоянием 0-1, но к сожалению у атмеги только 20 потенциально возможных. Что делать? Использовать ADC конвертеры с резисторами я не хочу, так как нужна очень стабильная работа прибора.

a5021
Offline
Зарегистрирован: 07.07.2013

74HC165, как вариант

di_mot
Offline
Зарегистрирован: 12.08.2016

Чем мультиплексоры не устраивают? 8х1 к примеру? И на них хоть 24х1 ваяй..

a5021
Offline
Зарегистрирован: 07.07.2013

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

Arhat109-2
Offline
Зарегистрирован: 24.09.2015

У мега2560 - целых 86 ног и все миожно заюзать на вход .. тоже "маловато будет"? :)

Valera19701
Valera19701 аватар
Offline
Зарегистрирован: 18.10.2015

у atmega128a-au 53 ноги и все можно заюзать на вход

Megawollt
Offline
Зарегистрирован: 06.12.2015

В силу компактности хочу использовать атмегу 328. Ардуино мега слишком огромная. atmega128a-au слишком тяжела для заливки кода и впайки в домашних условиях

Задача такая: Есть 24 тумблера on-оff и передача их состояния по последовательному порту

Valera19701
Valera19701 аватар
Offline
Зарегистрирован: 18.10.2015
a5021
Offline
Зарегистрирован: 07.07.2013

Тогда все-таки проще всего отмасштабировать вот эту схему:

Megawollt
Offline
Зарегистрирован: 06.12.2015

Спасибо. Идея с МСР23017 мне понравилась

a5021
Offline
Зарегистрирован: 07.07.2013

И чем она вам понравилась? Дополнительными расходами?

Megawollt
Offline
Зарегистрирован: 06.12.2015

100р/ штука это расход? Идея понравилась связью по i2c/spi и наличием библиотеки. Насколько я понял правда внутренних подтягивающих резисторов у нее нет

Valera19701
Valera19701 аватар
Offline
Зарегистрирован: 18.10.2015
a5021
Offline
Зарегистрирован: 07.07.2013

Megawollt пишет:
100р/ штука это расход? Идея понравилась связью по i2c/spi и наличием библиотеки. Насколько я понял правда внутренних подтягивающих резисторов у нее нет

Я может многого не понимаю, но 83 р/штука на али стоят ардуины про-мини на атмеге 168. Дешевле целого ардуину тогда посадить за тумблерами следить.

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

Megawollt пишет:

В силу компактности хочу использовать атмегу 328. Ардуино мега слишком огромная. atmega128a-au слишком тяжела для заливки кода и впайки в домашних условиях

А про другие микросхемы слышали?  Любые 40-ножки подойдут. мега8515, мега8535, мега16, мега32 итп.  Расширители, увеличители -изврат  ;-)

Megawollt
Offline
Зарегистрирован: 06.12.2015

a5021 пишет:

Megawollt пишет:
100р/ штука это расход? Идея понравилась связью по i2c/spi и наличием библиотеки. Насколько я понял правда внутренних подтягивающих резисторов у нее нет

Я может многого не понимаю, но 83 р/штука на али стоят ардуины про-мини на атмеге 168. Дешевле целого ардуину тогда посадить за тумблерами следить.

Я думал об этом. И про другие МК тоже слышал :)

Мне нравится контроллер ATmega644-20PU (для другого проекта), но как зашить его в среде ардуино я не знаю

a5021
Offline
Зарегистрирован: 07.07.2013

А чем забить 64к флеша полностью, стало быть, уже знаете? Я вот как-то не улавливаю суть подобных метаний.

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

Megawollt, кстати если ваши тублеры кроме МК ни к чему к другому подключаться не будут, то можно включить их матрицей, в таком случае потребуется всего 10 входов стандартной ардуины уно/нано  :)

a5021
Offline
Зарегистрирован: 07.07.2013

Я уж тоже об этом думал, но не стал предлагать, т.к. эта ветка про чудеса больше.

Megawollt
Offline
Зарегистрирован: 06.12.2015

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

Как забить 64к знаю. Всего то библиотека со шрифтами покрупнее, да пара массивов

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013
Megawollt
Offline
Зарегистрирован: 06.12.2015

Спасибо

Arhat109-2
Offline
Зарегистрирован: 24.09.2015

Кстати, а насколько целесообразно сканировать кнопки сдвиговым регистром 74HС595, это "что-то сэкономит"? А если организовать симбиоз сканированием через 595 и резистроную матрицу с анализом через входы АЦП, можно сэкономить на ногах МК?

a5021
Offline
Зарегистрирован: 07.07.2013

Megawollt пишет:
Как забить 64к знаю. Всего то библиотека со шрифтами покрупнее, да пара массивов

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

diger67
Offline
Зарегистрирован: 25.07.2015

Как вариант можно применить двунаправленный расширитель портов mcp23s17. Есть м/с и с spi и с i2c. Два полноценных восьмибитных порта. https://cdn-shop.adafruit.com/datasheets/mcp23017.pdf

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

dimax пишет:

Расширители, увеличители -изврат  ;-)

А что делать, если не хватает входов?

a5021
Offline
Зарегистрирован: 07.07.2013

diger67 пишет:
Как вариант можно применить двунаправленный расширитель портов mcp23s17.

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

andriano пишет:
А что делать, если не хватает входов?

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

diger67
Offline
Зарегистрирован: 25.07.2015

a5021 пишет:

diger67 пишет:
Как вариант можно применить двунаправленный расширитель портов mcp23s17.

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

andriano пишет:
А что делать, если не хватает входов?

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

Ну да, Все надо решать только мощьностью одного чипа. И пусть при опросе в цикле программа имеет время отклика до полутора секунд. Это ваш метод, завязать себе узлом яйца и радоваться жизни. Если вы смотрели даташит, то эта м/с умеет определять прерывания по портам, что может помочь оптимально построить алгоритм программы. Жаль что вы оказались таким усколобым, даже разработчик arduino рассматривает этот вариан http://playground.arduino.cc/Main/MCP23S17 .

a5021
Offline
Зарегистрирован: 07.07.2013

Вот хорошо вам. Вы пишете не задумываясь и не вникая. А мне плохо. Мне потом всю эту вашу ахинею читать приходится. Пожалейте.

diger67
Offline
Зарегистрирован: 25.07.2015

a5021 пишет:

Вот хорошо вам. Вы пишете не задумываясь и не вникая. А мне плохо. Мне потом всю эту вашу ахинею читать приходится. Пожалейте.

Гавнокодерам не привыкать.

a5021
Offline
Зарегистрирован: 07.07.2013

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

diger67
Offline
Зарегистрирован: 25.07.2015

a5021 пишет:

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

А что идиотского, человеку нужно отслеживать состояние 0/1 на 24 входах. Если посчитать сколько выводов занято на ардуино то минимум 9. Уточнять не буду, сами посчитаете. Остается 19. Матрица вариант, но что если нужно одновременно отследить несколько срабатываний. Упс, что то да упустим. Сдвиговые регистры тоже еще та зараза, пока байт будет выводится последовательно есть шанс что то упустить. То что я предложил дает возможность отслеживать как минимум два сигнала одновременно, также дает возможность разбить их на 3 группы по приоритету. Ну и как аргумент купите себе РК-80 на 8080 чего уж там, а лучше ZX, зачем вам северный, южный мост, USB? Ардуино можно и по rs232 подключить. А вобщем каждый решает проблему исходя из своего понимания поставленной задачи.

a5021
Offline
Зарегистрирован: 07.07.2013

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

ТС ничего не говорил о скорости реакции. Это вам пришлось этот критерий выдумывать, чтобы хоть как-то подпереть свою идею, чтобы та окончательно не завалиась.

Выше уже говорил, что за меньшие деньги, чем стоимость одного расширителя (сознания?) портов, можно купить про-мини и доверить выключатели ему. По вашему же рецепту нужно два чипа, т.е. можно даже две ардуины использовать и это будет дешевле. Че, теперь будете тупить, что расширители круче ардуин? Не удивлюсь.

diger67
Offline
Зарегистрирован: 25.07.2015

a5021 пишет:

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

ТС ничего не говорил о скорости реакции. Это вам пришлось этот критерий выдумывать, чтобы хоть как-то подпереть свою идею, чтобы та окончательно не завалиась.

Выше уже говорил, что за меньшие деньги, чем стоимость одного расширителя (сознания?) портов, можно купить про-мини и доверить выключатели ему. По вашему же рецепту нужно два чипа, т.е. можно даже две ардуины использовать и это будет дешевле. Че, теперь будете тупить, что расширители круче ардуин? Не удивлюсь.

Вы смотрели даташит. Там два независимых порта, два прерывания по каждому. Стоит 1 м/с столько же как и про мини на али по 80 руб за корпус, 160 руб за эти деньги можно только что 1.5 литра пивасика купить. А как вы Умеете тупить, так это мы наслышаны из темы про stm. К стати, не хотите потестить на предмет неописанной переферии stm32f746, а то я в сметении купил тут со скидкой платку, вот думаю может там чего есть секретное. :-)))

a5021
Offline
Зарегистрирован: 07.07.2013

diger67 пишет:
Вы смотрели даташит. Там два независимых порта, два прерывания по каждому.

И в чем счастье? Кто еще кроме вас готов бесконечно восторгаться этим? Топикстартер ничего на этот счет не говорил.

Цитата:
Стоит 1 м/с столько же как и про мини на али по 80 руб за корпус,

Ссылочкой не поделитесь? Только не в количествах ста штук. Ардуины столько поштучно стоят.

Цитата:
А как вы Умеете тупить, так это мы наслышаны из темы про stm.

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

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

Цитата:
К стати, не хотите потестить на предмет неописанной переферии stm32f746,

Выкиньте его. Вам он точно ни к чему.

diger67
Offline
Зарегистрирован: 25.07.2015

a5021 пишет:

diger67 пишет:
Стоит 1 м/с столько же как и про мини на али по 80 руб за корпус,

Ссылочкой не поделитесь? Только не в количествах ста штук. Ардуины столько поштучно стоят.

​​

Не хочет вставляться ссылка, наверное очень длинная или блокируется как рекламма. Наберите на  али mcp23s17, там прямо в первой строке лот 5 шт. = 410 руб бесплатная доставка.

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

a5021
Offline
Зарегистрирован: 07.07.2013

Т.е. вы по прежнему не врубаетесь, что вместо покупки пяти расширителей за 400 руб, все-таки дешевле купить одну ардуину за 83р. ? Какие вам микроконтроллеры, вам счет учить надо.

diger67
Offline
Зарегистрирован: 25.07.2015

Да перестаньте вы уже свой флуд не по теме, тема не о цене вопроса, а о методах ее решения. Человек сам выберет подходящий.

a5021
Offline
Зарегистрирован: 07.07.2013

Предложение про расширители прозвучало впервые в этой ветке в сообщении №7. Его пожевали и выплюнули. Через несколько часов заваливаетесь вы и пытаетесь гальванизировать этот труп. Бредите. Тупите.

Еще и врете:

diger67 пишет:
З.Ы. И не утверждал я что не одного вывода от таймера не примапть наружу, а говорил что 3/4 таймеров можно использовать только как таймер или часть выводов имеют выход наружу.

Не утверждали? А это чьи слова?: "а как например использовать таймерN в режиме ШИМ или одиночного импульса, ну и на конец выводить меандр в корпусе 20 пин. Да ни как, только использовать для внутреннего применения, отсчетов задержек, периодов, не более того." Это же вы говорили вот здесь.

Так кто тупил в теме про stm32 ? Там тупили не перетупили, сюда пришли продолжать.

diger67
Offline
Зарегистрирован: 25.07.2015

Вы не только тупой, но еще и читать не умеете, Иди учи уроки....

a5021
Offline
Зарегистрирован: 07.07.2013

Таких писателей надо пролистывать не читая.

diger67
Offline
Зарегистрирован: 25.07.2015

Иди спать пионер..... А если читаешь, может чему то и научишься....

a5021
Offline
Зарегистрирован: 07.07.2013

Шизофрении врят ли можно обучиться.

diger67
Offline
Зарегистрирован: 25.07.2015

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

a5021
Offline
Зарегистрирован: 07.07.2013

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

Arhat109-2
Offline
Зарегистрирован: 24.09.2015

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

А тем временем, вопросы заданные мною так и остались без ответов ..

Попробую поразсуждать самостоятельно:

Резистивное подключение кнопок, позволяет на 1 вход АЦП повесить 3-6 кнопок. Если к этом делу добавляем сдвиговый регистр для опроса столбцов на 8 выходов, то вроде как задействовав 1 аналоговый вход и 2 выхода для регистра получаем типа 24..48 кнопок.

3 ноги + 1мелкосхема + сопротивления .. и 48 кнопок (входов 0/1) .. возможно? А решение "лучше" бывает?

a5021
Offline
Зарегистрирован: 07.07.2013

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

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

a5021 пишет:

andriano пишет:
А что делать, если не хватает входов?

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

Так я не понял, 165/595 - это извращение или нет?

Или вот еще задачка - снимать 42 аналоговых сигнала в системе критичной к скорости реакции. Время отклика на данные из последовательного порта не должно превышать 2 мс. Аналоговые данные можно обновлять раз в 10 дольше. Какие предложения по аппаратной части?

Arhat109-2
Offline
Зарегистрирован: 24.09.2015

А5021, Так вроде как "всё просто" получается в варианте с анлаговоым чтением кнопок .. резистивные R-2R ЦАПы можно на SMD вокруг кнопок напаять и плюсом 1 корпус регистра .. и вот вам 8 сканирующих линий и по N-разрядности ЦАПа на вход для чтения. Скорости АЦП - более чем достаточно считывать в потоковом режиме. Вешаем на прерывания от АЦП и валим результат в клавиатурный буфер .. а там "трава не расти". :)

andriano, надо смотреть какую разрядность требуется получить, хватает ли скорости потокового чтения АЦП на обработку данных, можно ли мультиплексировать входы АЦП и чем по скорости обработки для расширения их количества (max=16 ваще-то), можно ли на этапе отправки по U(S)ART (кстати как там с синхронностью) останавливать чтение портов "на время отправки" (дабы не страдать с прерываниями впечатлительно) или можно свалить на I2C, где скорость передачи может тормозиться слейвом и т.д и т.п. Думаю без детализации ТЗ - вам врядли кто-то что-то скажет вменяемое..

Megawollt
Offline
Зарегистрирован: 06.12.2015

Вот и охота вам спорить. Я не заморачиваюсь по поводу бюджета. 80р будет стоить микросхема или 100 мне не особо важно.

Я думаю лучшее решение будет использовать сороконожку. Заодно и научусь шить что то отличное от 328амтеги.

Если кто поделится материалом по этому поводу, буду признателен

diger67
Offline
Зарегистрирован: 25.07.2015

Megawollt пишет:

Вот и охота вам спорить. Я не заморачиваюсь по поводу бюджета. 80р будет стоить микросхема или 100 мне не особо важно.

Я думаю лучшее решение будет использовать сороконожку. Заодно и научусь шить что то отличное от 328амтеги.

Если кто поделится материалом по этому поводу, буду признателен

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

Да там нет ничего сложного, можете шить из командной строки, по ключам есть много статей в инете, можете avrdudeprog скачать. Если у вас Win10, то обязательно почитайте коменты по проге avrdudeprog, там есть нюансы. Програматор то есть? Главное правильно сконфигурировать фьюзы, и извлечь из недр скрытых папок windows файл хекс прошивки. Лучше наберите в google "програмирование или прошивка AVR", а то вам тут насоветуют.