Одна кнопка на 2ве ардуины - как?

Sloper
Sloper аватар
Offline
Зарегистрирован: 30.03.2015

Всем привет. Есть задачка. 

Имеется пульт управления РУ машинкой. У него есть 2 потенциометра на крутилках и 2 тактовых кнопки програмирования. С этих кнопок/потенциометров провода идут на родной контроллер.

А я хочу читать с этих же кнопок на другую ардуину. Как это релизовать? Тупо припаять туда же +5 и пин на вход?

Или? 

Питаться будут оба от одной батарейки. 

vov4ik
Offline
Зарегистрирован: 10.09.2013

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

Sloper
Sloper аватар
Offline
Зарегистрирован: 30.03.2015

А модно поподробнее? Диод куда паять? 

Что где взять? И причем тут лампа?

vov4ik
Offline
Зарегистрирован: 10.09.2013

Ладно отставить лампу, http://ru.aliexpress.com/item/SMD-diode-BAW56-imprint-A1t-SOT-23-Original/32300405367.html идем по ссылке покупаем, центральный к кнопке, оставшиеся к контроллерам.

Sloper
Sloper аватар
Offline
Зарегистрирован: 30.03.2015

А в чипидипе их нету штоли? :) 

Во, нарисовал. Куда выткать диоды?

ignv
Offline
Зарегистрирован: 14.03.2015

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

Sloper
Sloper аватар
Offline
Зарегистрирован: 30.03.2015

Посмотрел, не правильно нарисовал. Короче, так:

Есть контроллер. Какой, не знаю. Он получает сигнал с кнопки. Напряжение там 3.3 вольта. 

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

 

Sloper
Sloper аватар
Offline
Зарегистрирован: 30.03.2015

Вот  так:

ignv
Offline
Зарегистрирован: 14.03.2015

Попробуй так, только когда кнопка нажата  - на входе ТВОЕЙ ардуины будет  0, а когда не нажата то 1, если земли ардуин соединять не желательно то можно через оптопару.

Sloper
Sloper аватар
Offline
Зарегистрирован: 30.03.2015

Спасибо, идея ясна. Можно наверное даже без подтягивающего резитора на 10км и подключения к 5В транзистора, если использовать встроеные подятигивающие сопротивления ардуины. 

pinMode(3, INPUT_PULLUP)

ignv
Offline
Зарегистрирован: 14.03.2015

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

inspiritus
Offline
Зарегистрирован: 17.12.2012

Читайте кнопку аналог ином и ловите изменение

Sloper
Sloper аватар
Offline
Зарегистрирован: 30.03.2015

inspiritus пишет:

Читайте кнопку аналог ином и ловите изменение

И что это даст?

Sloper
Sloper аватар
Offline
Зарегистрирован: 30.03.2015

ignv пишет:
главное обеспечить общую землю, 

А ничего, что моя ардуина будет на 5 вольтах работать, а контроллер - на 3.3 вольтах?

Тоже можно землю объединить?

vov4ik
Offline
Зарегистрирован: 10.09.2013

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

ignv
Offline
Зарегистрирован: 14.03.2015

Sloper пишет:

А ничего, что моя ардуина будет на 5 вольтах работать, а контроллер - на 3.3 вольтах?

Тоже можно землю объединить?

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

inspiritus пишет:

Читайте кнопку аналог ином и ловите изменение

Просто напрямую читать какое напряжение на кнопке (пин в состоянии аналогового чтения не будет влиять на соседа).

Sloper
Sloper аватар
Offline
Зарегистрирован: 30.03.2015

А мне еще мне нужно так же потенциометр читать. Тот же принцип: общая земля и аналоговый пин на вход? Диод не нужен в этом случае?

ignv
Offline
Зарегистрирован: 14.03.2015

Sloper пишет:

А мне еще мне нужно так же потенциометр читать. Тот же принцип: общая земля и аналоговый пин на вход? Диод не нужен в этом случае?

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

inspiritus
Offline
Зарегистрирован: 17.12.2012

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

ignv
Offline
Зарегистрирован: 14.03.2015

inspiritus пишет:

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

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

inspiritus
Offline
Зарегистрирован: 17.12.2012

Но ведь работа с мк и подразумевает наличие знаний ( или желание их получить) в программировании и электронике.

Гриша
Offline
Зарегистрирован: 27.04.2014

inspiritus пишет:

Но ведь работа с мк и подразумевает наличие знаний ( или желание их получить) в программировании и электронике.

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

Sloper
Sloper аватар
Offline
Зарегистрирован: 30.03.2015

ignv пишет:

Может человек талантлив в другом, а элелектронику не учил и не понимает. 

Абсолютно верно. Мои познания в электрике, электронике равны нулю. Вот вникаю теперь. Опять же не понятно, что тестером мерять у кнопки.

Ведь она може как VCC заведена так и на землю. Имеющийся контроллер закрыт. 

В оконцовке, у меня есть пульт РУ для машины, хороший пульт, но он програмируется по дурацки, с помощью 2-х конопок и диода, который мигает энное количество раз. 

А я хочу туда экран вкрячить на ардуине. Скеч уже написал, отладил и на макетке опробовал. 

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

inspiritus
Offline
Зарегистрирован: 17.12.2012

Красииива, только вот безпаечная макетка - ЗЛО.

Sloper
Sloper аватар
Offline
Зарегистрирован: 30.03.2015

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

А почему зло?

inspiritus
Offline
Зарегистрирован: 17.12.2012

Контакты отходят. Вот и получается , как настоящее, только не работает...

ignv
Offline
Зарегистрирован: 14.03.2015

Sloper пишет:

Абсолютно верно. Мои познания в электрике, электронике равны нулю. Вот вникаю теперь. Опять же не понятно, что тестером мерять у кнопки.

1 Меряй напряжение на кнопке (входе контроллера машинки) когда она нажата/не нажата (относительно общей земли).

2 Потом  точно так же меряй ардуиной (у тебя как раз 2 аналоговых входа свободны)

3 И в соответствии с напряжениями  полученными на шаге 1 пиши логику программы.

Sloper
Sloper аватар
Offline
Зарегистрирован: 30.03.2015

Разобрал пульт, взял тестер, все оказалось много проще. 

Объединил землю. Запитал ардуино мини про от батареек пульта через RAW.

И посмотрел, что твориться на кнопках. На одном пине кнопки земля. На втором пине кнопки 3.3 вольта. При замыкании кнопки 3.3 вольта превращаются в 0.

Так и подключил. Второй пин кнопки (там где 3.3В) подключил на цифровой пин контролера. Кнопка отжата - там 1, кнопка нажата, там 0.

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

А потенциометры - тупо подключил средний выход потенциометра к аналоговым входам и получил вход 0-3.3 вольта. 

 

 

 

 

Sloper
Sloper аватар
Offline
Зарегистрирован: 30.03.2015

Осталось побороть прыгание значений потенциометров и добавить делитель на +/- батареек, что бы выводить вольтаж на дисплей.

ignv
Offline
Зарегистрирован: 14.03.2015

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

Sloper
Sloper аватар
Offline
Зарегистрирован: 30.03.2015

Да нафег! Я лучше програмно сглажу. Сейчас сижу-пишу код. 

Лучше расскажите, как прочитать вольтаж с батареек (0-6 вольт) к которым у меня эта мини про подключена через raw. 

Прочитал статьи про делители, но так нехрена и не понял. Как подобрать сопротивления? Написано, что они должны быть в 100 раз меньше, чем сопротивление нагрузки. А какое там сопротивление нагрузки на аналоговом входе? 

И как лучше: подобрать одинаковые резистры и потом умножать результат в 2 раза? Или подобрать так, что бы при 6 вольтах батареи было бы 5 вольт? (пересчитать пропорционально?)

 

ignv
Offline
Зарегистрирован: 14.03.2015

на вход ардуины сильно желательно не подавать больше Uпит, если у тебя 3,3 в то делитель 100кОм-100кОм(200-200,300-300) будет нормально, соответственно показания с аналогового входа умножить на 2 с копейками, "копейки" возникают от того что у ардуины тоже есть какое-то входное сопротивление, включенное параллельно нижнему резистору А можно на копейки забить и так точности хватит. Чем меньше сопротивления делителя тем меньше копейки, но больше впустую протекающий ток, сажающий батарею.

Sloper
Sloper аватар
Offline
Зарегистрирован: 30.03.2015

Т.е. я 560 ом вкрячил - это не правильно?  

Sloper
Sloper аватар
Offline
Зарегистрирован: 30.03.2015

ignv пишет:
 Если у тебя 3,3 в то делитель 100кОм-100кОм(200-200,300-300) 

Не, у меня дуня на 5 вольт.

ignv
Offline
Зарегистрирован: 14.03.2015

560 ом это ооочень мало, да хоть и 5 вольт питание делай 100к -100к, и умножай на 2, а лучше просто сделай сложение с собой , будет быстрее и меньше нагрузка на проц, че перемножать дроби.