Помогите со схемой подключения трёх кнопок с подтягивающими резисторами.

XpomIX
Offline
Зарегистрирован: 03.08.2021

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

Написал маленький скриптик для проверки первой(7) кнопки:

void setup() {
  pinMode(LED_BUILTIN, OUTPUT);
  pinMode(7, INPUT);
}

void loop() {
  if(digitalRead(7) == HIGH) {
    digitalWrite(LED_BUILTIN, HIGH);
  } else {
    digitalWrite(LED_BUILTIN, LOW);
  }
}

При тесте светодиод горит всегда, вне зависимости от кнопки, но заметил один момент, когда я касаюсь плюсом паяльник, светодиод гаснет. И монитор моргает : )

Что не так со схемой, или я что то напаял не так? Заранее спасибо!

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

XpomIX пишет:

заметил один момент, когда я касаюсь плюсом паяльник, светодиод гаснет. И монитор моргает : )

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

XpomIX
Offline
Зарегистрирован: 03.08.2021

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

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

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

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

XpomIX пишет:

я заметил когда отпаивал кнопку при включённой плате.

если на жало паяльника пробивает 220в (или сколько там у тебя на паяльнике) то ардуина давно улетела в мир иной

XpomIX пишет:

 И монитор моргает : )

а вслед за ардуиной выгорит порт USB на системнике... или что похуже

 

Кто тебя надоумил паять схемы под напряжением?

XpomIX
Offline
Зарегистрирован: 03.08.2021

Значит, если представить, что на картинке 3V и GND поменялись местами, то всё должно заработать?

XpomIX
Offline
Зарегистрирован: 03.08.2021

У меня паяльник на 60, может поэтому ардуинка ещё пашет. Надо было кнопку быстро отпаять, лень было отключать, ну и было интересно что будет, но больше не буду раз такое дело.

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

XpomIX пишет:

Значит, если представить, что на картинке 3V и GND поменялись местами, то всё должно заработать?

нет.

Замыкать кнопку ЖЕЛАТЕЛЬНО на GND, но не обязательно. При правильном подключении должна  работать и твоя схема. ищи проблему в другом месте.

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

XpomIX пишет:

У меня паяльник на 60, может поэтому ардуинка ещё пашет.

Скорее всего пин кнопки выжег. Максимальное напряжение на пине ардуины - 5.5в. Выше что 60, что 220 - ужебез разницы.

паяльник в первый раз в жизни в руки взял?

mykaida
mykaida аватар
Offline
Зарегистрирован: 12.07.2018

DetSimen пишет:

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

Дед - чего над неофитом стебёшься? Все подтягивают к минусу. Чтобы при пропадании напряжения состояние портов не изменялось ( согласно СП) !!! :)

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

mykaida пишет:

Дед - чего над неофитом стебёшься? Все подтягивают к минусу.

если ты серьезно - я бы поспорил. все ровно наоборот. Не зря в АВР PULLUP есть, а PULLDOWN нету

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

mykaida пишет:

Все подтягивают к минусу. 

Нет.  Я с децтва состою в секте управления нулем.  Как-то привычнее видеть CS, OE, WR и т.д  с чёрточкой над названием.  

XpomIX
Offline
Зарегистрирован: 03.08.2021

Нет, я слышал что может что то случиться, но у меня такого никогда не случалось, наверное поэтому подзабивать стал. Но вроде всё работает, светодиод если между v3 и gnd поставить - светит.

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

XpomIX пишет:

Нет, я слышал что может что то случиться, но у меня такого никогда не случалось, наверное поэтому подзабивать стал. Но вроде всё работает, светодиод если между v3 и gnd поставить - светит.

порт кнопки еще поменяй на любой кроме 5, 6, 7 - и можно проверять.

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

mykaida
mykaida аватар
Offline
Зарегистрирован: 12.07.2018

DetSimen пишет:

Нет.  Я с децтва состою в секте управления нулем.  Как-то привычнее видеть CS, OE, WR и т.д  с чёрточкой над названием.  

Я тоже с детства предполагал плюс общим. Да так оно и было в аналоге.

Ну в цифре малость по другому, согласитесь?

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

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

mykaida
mykaida аватар
Offline
Зарегистрирован: 12.07.2018

DetSimen пишет:

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

Сигнальные линии обычно коротко-замкнутые.

В своё время (до адресных устройств) это была аксиома. Пока реле держит - всё нормально, отпустило - авария.

nik182
Offline
Зарегистрирован: 04.05.2015

mykaida пишет:

Дед - чего над неофитом стебёшься? Все подтягивают к минусу. Чтобы при пропадании напряжения состояние портов не изменялось ( согласно СП) !!! :)

Какого такого СП? Открой примеры устройств на сайте AVR (теперь на микрочипе ) найди хоть одну схему где кнопки и притягивают их входы к земле. Будешь очень удивлён не найдя. Потом поговорим куда притягивать для МК AVR кнопки и куда замыкать.

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

DetSimen пишет:

mykaida пишет:

Все подтягивают к минусу. 

Нет.  Я с децтва состою в секте управления нулем.  Как-то привычнее видеть CS, OE, WR и т.д  с чёрточкой над названием.  

+100500. Подтягивание к земле - путь к постоянным сбоям и наводкам, это раз, и управление низким уровнем не зависит от напряжения высокого, это два. Это часто важно при совмещении  3.3В и 5В логики.

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

DetSimen пишет:

Но это уже другая секта, Святого Закрывающего Резистора.  :)))  

Та ни, Дет! Одна и та же секта. Входы - к питанию, выходы - к земле  (при NPN или N-fet ключах) . И совершенно одно и то же объяснениеэ

Alexey_Rem
Offline
Зарегистрирован: 09.09.2019

 Мне кажется Ваш код

01 void setup() {
02   pinMode(LED_BUILTIN, OUTPUT);
03   pinMode(7, INPUT);
04 }
 

Нужно привести к более каноническому виду типа:

int ledPin = 13;                 // Светодиод подсоединен к цифровому выводу 13
 
void setup()
{
  pinMode(ledPin, OUTPUT);      // устанавливаем режим работы вывода, как "выход"
}

 

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

DetSimen пишет:

mykaida пишет:

Все подтягивают к минусу. 

Нет.  Я с децтва состою в секте управления нулем.  Как-то привычнее видеть CS, OE, WR и т.д  с чёрточкой над названием.  

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

Green
Offline
Зарегистрирован: 01.10.2015

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

Jeka_M
Jeka_M аватар
Offline
Зарегистрирован: 06.07.2014

XpomIX пишет:

У меня паяльник на 60

На 60 чего? :-)

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

подкину, чтоль, дермеца на вентилятор :) а то скучно

Изложу свой "незамутненный лишними знаниями" взгляд :)  Я никогда не увлекался электроникой и до возраста 47лет ничего не мастерил... поэтому все эти ваши "традиции аналоговой техники" мне до фонаря :) Я начал свое развитие с чистого листа и сразу с ардуино.

Исходя из отсутсвия опыта - я полагаюсь на мнение других людей. Насколько я вижу по дискуссии выше - ни одна сторона не привела обьективных аргументов в пользу притягивания сигналов к питанию или земле. Так что для меня остаются только субьективные факторы - во-первых, как я уже писал - в АВР есть аппаратная подтяжка вверх, а вниз нет. А во-вторых, за "кнопки на землю" выступает уважаемый мной Дед.

Для меня этих двух аргументов достаточно и я выбираю PullUP :)

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

Jeka_M пишет:

XpomIX пишет:

У меня паяльник на 60

На 60 чего? :-)

кстати да :) Наверно ватт :)

ТС, скорее всего. лет четырнадцать... так что простительно. Но вообще на уроки физики надо было ходить...

Green
Offline
Зарегистрирован: 01.10.2015

Хотя бы потому что не нужен внешний резистор, потому что уже есть встроенный.

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

Граф сказал очень правильно и ёмко, ни отнять, ни прибавить. 

wdrakula пишет:

Входы - к питанию, выходы - к земле  (при NPN или N-fet ключах).

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

b707 пишет:

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

Ну, аргумента здесь, пожалуй, два:

1. Традиция. В ТТЛ-логике отсутствие сигнала на входе означало логическую единицу (особенность схемотехники). Что с точки зрения симметричной КМОП эквивалентно подтяжке к питанию.

2. Несколько более высокая помехозащищенность в таком включении.

Цитата:

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

Думаю, это как раз следствие традиции.

Кстати, в STM32 подтяжка симметрична, т.е. есть как один, так и другой вариант.

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

Цитата:

А во-вторых, за "кнопки на землю" выступает уважаемый мной Дед.

Для меня этих двух аргументов достаточно и я выбираю PullUP :)

Ну а с этим, я думаю, никто спорить не будет.)))))))

XpomIX
Offline
Зарегистрирован: 03.08.2021

17 недавно исполнилось, но да ладно, не сержусь :). Я ходил на уроки физики, правда под конец какие то непонятные темы были на движение, а это... неинтересно. А на счёт ответа, мне говорят про ватты я отвечаю в ваттах, зачем уточнять то)

Jeka_M
Jeka_M аватар
Offline
Зарегистрирован: 06.07.2014

XpomIX пишет:

А на счёт ответа, мне говорят про ватты я отвечаю в ваттах, зачем уточнять то)

Покажи, где тебе говорили про ватты ;-)

XpomIX
Offline
Зарегистрирован: 03.08.2021

Блииин, ну там было 220в, а что такое в это вольты... а я про ваты, вот я дурак, меня разоблачили, но да ладно.  :((

Jeka_M
Jeka_M аватар
Offline
Зарегистрирован: 06.07.2014

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

sadman41
Offline
Зарегистрирован: 19.10.2016

Это разрешенная начальством мощность написана - 220Вт.
Напруга-то уже везде 230V должна быть, вроде.

SLKH
Offline
Зарегистрирован: 17.08.2015

andriano пишет:

Ну, аргумента здесь, пожалуй, два:

1. Традиция. В ТТЛ-логике отсутствие сигнала на входе означало логическую единицу (особенность схемотехники). Что с точки зрения симметричной КМОП эквивалентно подтяжке к питанию.

для ттл "отсутствие сигнала на входе" (не подключенный вход) недопустимо.  Для кмоп тоже.

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

SLKH пишет:

andriano пишет:

Ну, аргумента здесь, пожалуй, два:

1. Традиция. В ТТЛ-логике отсутствие сигнала на входе означало логическую единицу (особенность схемотехники). Что с точки зрения симметричной КМОП эквивалентно подтяжке к питанию.

для ттл "отсутствие сигнала на входе" (не подключенный вход) недопустимо.  Для кмоп тоже.

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

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

andriano пишет:

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

в Одесском ТПА-250см3 контроллер на 155 серии, количество корпусов более 400 ни одного свободного входа к питанию не подтянуто

Green
Offline
Зарегистрирован: 01.10.2015

SLKH пишет:
для ттл "отсутствие сигнала на входе" (не подключенный вход) недопустимо.  Для кмоп тоже.


Для ТТЛ не так страшно, для КМОП недопустимо.