• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

NodeMCU ESP8266 Нужен ли стягивающий резистор к пину?

Seriga

New member
Ставлю любой доступный пин в режим "вход" и кидаю текущее значение в сериал порт.
Так в отличие от Arduino на ESP8266 входное значение на неподключенном пине настроенном на вход абсолютно стабильно, на ардуинке оно "пляшет". Такое впечатление что пины на ESP уже стянуты к нулю.

[HASHTAG]#include[/HASHTAG] <ESP8266WiFi.h>
bool Pin;

void setup()
{
Serial.begin(115200);
pinMode(Pin, OUTPUT);
}

void loop()
{
delay(100);
Serial.println(digitalRead(Pin));
}
 

Seriga

New member
@Seriga вы до этого Пина дотроньтесь пальцем и посмотрите что будет потом :)
Я знаю. Я не только дотрагиваюсь. И об волосы чтоб статику навести )). И провод на какой ни будь на пин. И все пины одновременно опрашиваю. Все на удивление гладко.

Использую вот это: 1 шт. Беспроводной модуль NodeMcu Lua WI FI Интернет вещей доска развития на основе ESP8266 CP2102 с Антенной на печатной плате и usb порт купить на AliExpress

[HASHTAG]#include[/HASHTAG] <ESP8266WiFi.h>
int i = 0;
bool Pin0;
bool Pin2;
bool Pin4;
bool Pin5;
bool Pin10;
bool Pin12;
bool Pin13;
bool Pin14;
bool Pin15;
bool Pin16;

void setup()
{
Serial.begin(115200);
pinMode(0, OUTPUT);
pinMode(2, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(10, OUTPUT);
pinMode(12, OUTPUT);
pinMode(13, OUTPUT);
pinMode(14, OUTPUT);
pinMode(15, OUTPUT);
pinMode(16, OUTPUT);
}

void loop()
{
delay(100);
Pin0 = digitalRead(0);
Pin2 = digitalRead(2);
Pin4 = digitalRead(4);
Pin5 = digitalRead(5);
Pin10 = digitalRead(10);
Pin12 = digitalRead(12);
Pin13 = digitalRead(13);
Pin14 = digitalRead(14);
Pin15 = digitalRead(15);
Pin16 = digitalRead(16);
Serial.print("i="); Serial.print(i);
Serial.print(" Pin0="); Serial.print(Pin0);
Serial.print(" Pin2="); Serial.print(Pin2);
Serial.print(" Pin4="); Serial.print(Pin4);
Serial.print(" Pin5="); Serial.print(Pin5);
Serial.print(" Pin10="); Serial.print(Pin10);
Serial.print(" Pin12="); Serial.print(Pin12);
Serial.print(" Pin13="); Serial.print(Pin13);
Serial.print(" Pin14="); Serial.print(Pin14);
Serial.print(" Pin15="); Serial.print(Pin15);
Serial.print(" Pin16="); Serial.println(Pin16);
if ((Pin0 == 1) || (Pin2 == 1) || (Pin4 == 1) || (Pin5 == 1) || (Pin10 == 1) || (Pin12 == 1) || (Pin13 == 1) || (Pin14 == 1) || (Pin15 == 1) || (Pin16 == 1))
{
while (1){}
}
i++;
}
 
Последнее редактирование:

tretyakov_sa

Moderator
Команда форума
Ставлю любой доступный пин в режим "вход" и кидаю текущее значение в сериал порт.
Так в отличие от Arduino на ESP8266 входное значение на неподключенном пине настроенном на вход абсолютно стабильно, на ардуинке оно "пляшет". Такое впечатление что пины на ESP уже стянуты к нулю.
pinMode(Pin, OUTPUT); Это вы поставили пин на выход, но никак не на вход.
 

Junkie

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

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

roiksv

Member
Sonoff, gpio14. К нему подключены ds18b20 плюс параллельно кнопка без фиксации для отслеживания кратковременных нажатий. Первые 30 минут после запуска работает без нареканий (показания температуры и нажатия). Могут ли быть косяки при дальнейшем использовании?
 
Сверху Снизу