Как подключить кнопку на разьем 3v3?

MrPurpleBlack
Offline
Зарегистрирован: 28.01.2017

Моя задача заключается в том, чтобы подключить тактовую кнопку на NodeMcu. Все туториалы , которые я находил (например этот http://arduino.ru/tutorials/button), используют разьем питания 5v. Проблема заключается в том, что на NodeMCU этго разьема нет.

Поскажите, можно ли подключить кнопку через другой разьем? Желательно схему

Клапауций 823
Клапауций 823 аватар
Offline
Зарегистрирован: 13.01.2017

подразумевается, что используется напряжение питания контроллера, а не именно 5V

у меня контроллер питается от 4.75V - я же не возмущаюсь, что нет 5V ?

bizzon
Offline
Зарегистрирован: 29.03.2016

В Чём проблема??? Вместо 5 вольт подключаем к 3,3. Или Клапауций запретил?

Клапауций 823
Клапауций 823 аватар
Offline
Зарегистрирован: 13.01.2017

bizzon пишет:

В Чём проблема??? Вместо 5 вольт подключаем к 3,3. Или Клапауций запретил?

у него кнопка пятивольтовая.

NeiroN
NeiroN аватар
Offline
Зарегистрирован: 15.06.2013

А почему не использовать внутренюю подтяжку к VCC и кнопку подключать к GND?

 

Клапауций 823
Клапауций 823 аватар
Offline
Зарегистрирован: 13.01.2017

NeiroN пишет:

А почему не использовать внутренюю подтяжку к VCC и кнопку подключать к GND?

потому, что не всегда это возможно и работает.

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Не, ну это надо даташит кнопки смотреть!

gena
Offline
Зарегистрирован: 04.11.2012

"потому, что не всегда это возможно и работает." - а теперь приведите пример. Попробуем его "порешать".

Клапауций 823
Клапауций 823 аватар
Offline
Зарегистрирован: 13.01.2017

gena пишет:

- а теперь приведите пример.

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

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

gena пишет:

"потому, что не всегда это возможно и работает." - а теперь приведите пример. Попробуем его "порешать".

Хорошо.

Расскажите, как Вы будете включать внутреннюю подтяжку на 165 регистре.

gena
Offline
Зарегистрирован: 04.11.2012

    Нет возможности "включать внутреннюю подтяжку на 165 регистре" (совершенно не понимаю о чём 165 идёт речь - да это и не нужно),  припаять наружный резистор для подтяжки. Не знамо какой и куда - расспросим ТС о его плате детальнее. Если цепляет внешнюю кнопку, то прицепить можно и резистор. Я так думаю.  Или что то изысканнее?

MrPurpleBlack
Offline
Зарегистрирован: 28.01.2017

Спасибо за помощь. Я разобрался в проблеме, действительно достаточно было брать питание со входа 3v3(как на схеме).

Суть проблемы в том, что нажатие кнопки не считывается arduino ide (с этим еще не разобрался).

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

MrPurpleBlack пишет:

Суть проблемы в том, что нажатие кнопки не считывается arduino ide (с этим еще не разобрался).

А IDE и не должно считывать нажатия кнопок. Как Вы себе это видите?

MrPurpleBlack
Offline
Зарегистрирован: 28.01.2017
if(digitalRead(2) == HIGH){
    Serial.println(1);}

Примерно вот так

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Ну, так и говороите, что не можете отследить факт нажатия. IDE-то ту при каких делах?

Ну, на такой мелкой картинке я не вижу куда оно у Вас поключено (на какой пин), но проверяйте всё по очереди.

Для начала мультиметр на земмлю и пин. При отпущенной кнопке должно быть 0, при нажатой - +3.3В. Убедитесь, что это так. Если нет, смотрите, не перевернули ли Вы кнопку на 90 градусов, разбирайтесь, в общем.

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

xDriver
xDriver аватар
Offline
Зарегистрирован: 14.08.2015

при нажатие на пине будет 0

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Так будет или есть? Проверяли?

Проверьте уже.

А то на картинке подключение к пину 1, а в тексте "digitalRead(2)" и чему верить?

MrPurpleBlack
Offline
Зарегистрирован: 28.01.2017

Я для примера 2 пин написал. Сам все подключал и писал на 0 пин, так как на nodemcu, при сигнале на 0 пин загорается светодиод на плате

xDriver
xDriver аватар
Offline
Зарегистрирован: 14.08.2015

MrPurpleBlack пишет:

Я для примера 2 пин написал. Сам все подключал и писал на 0 пин, так как на nodemcu, при сигнале на 0 пин загорается светодиод на плате

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

народ вникает, рисует, советует, помагает.

В IDE - Файл->Примеры->01.Basic->Blink   наслаждайтесь.

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

MrPurpleBlack пишет:

Я для примера 2 пин написал. Сам все подключал и писал на 0 пин, 

Знаете что, когда Вас просят схему и скетч, приводите Вашу реальную схему и скетч, а не "для примера". Люди тратят время на то, чтобы разобраться в Вашей проблеме, а Вы им вместо реально собранной схемы "весёлые картинки" подсовываете. В скетче 1-ый пин, на схеме - 2-ой, а делал всё с нулевым. Вам не кажется. что это свинство? 

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

Buzin3000
Offline
Зарегистрирован: 15.08.2018

А вот у меня такая проблема. Собрал по схеме  http://arduino.ru/tutorials/button - все работает только если подключение пинов (data и gnd) произвести только после подключения питания на NodeMCU. Если подать питание на  NodeMCU при уже подключенных пинах (дата через резистор к земле), то ничего не работает. Ничего не могу понять.

 

Moderator : пожалуйста, вставьте код правильно (возможно, новым сообщением в тему), 

 
 
ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Я тоже, смотрю на Ваш код и

Buzin3000 пишет:

Ничего не могу понять.

Buzin3000
Offline
Зарегистрирован: 15.08.2018

Резонно. Доберусь до дома, выложу скетч.
Дело в том, что скетч ничем не отличается от скетчей которые использую на arduino uno, на которой все работает отменно.
С небольшой разницей того, что на uno использую внутреннюю подтяжку, а на NodeMcu как я понял таковой не имеется, поэтому использую внешний резистор, согласно схеме выше. Ну и конечно для Node добавляю библиотеку esp :-)

DIYMan
DIYMan аватар
Offline
Зарегистрирован: 23.11.2015

Buzin3000 пишет:

А вот у меня такая проблема. Собрал по схеме  http://arduino.ru/tutorials/button - все работает только если подключение пинов (data и gnd) произвести только после подключения питания на NodeMCU. Если подать питание на  NodeMCU при уже подключенных пинах (дата через резистор к земле), то ничего не работает. Ничего не могу понять

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

Buzin3000
Offline
Зарегистрирован: 15.08.2018

Попробую на другой пин . Сейчас стоит на d3 (gpio0 - flash).

DIYMan
DIYMan аватар
Offline
Зарегистрирован: 23.11.2015

Buzin3000 пишет:
Попробую на другой пин . Сейчас стоит на d3 (gpio0 - flash).

Поиск в гугле по "ESP8266 boot mode", в картинках есть таблички, даже с уровнями ;)

Buzin3000
Offline
Зарегистрирован: 15.08.2018

Спасибо помогло. Оказывается причиной являлось то, что при перемыкании земли с d3 (через резистор) - NodeMCU переходит в какой то режим загрузки. Переход с d3 на другой пин решило проблему.