• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Некорректно работает gpio.write или я туплю?

Darkbird

New member
Начал изучение ESP8266. Естественно с примеров. Загрузил в модуль нижеследующий код
для моргания.

Код:
lighton=0
pin=4
gpio.mode(pin,gpio.OUTPUT)
tmr.alarm(1,2000,1,function()
  if lighton==0 then
  lighton=1
  gpio.write(pin,gpio.HIGH)
  print("ON")
  else
  lighton=0
  gpio.write(pin,gpio.LOW)
  print("OFF")
  end
end)
Так вот. Светодиод зажигается по команде gpio.write(pin,gpio.LOW). (Очень четко видно по терминалке. Когда выводится OFF - светодиод включается и наоброт. Я чего-то не понимаю?

По идее LOW сигнал это выключение диода, нет?
 

Darkbird

New member
Второй вопрос. Почему нужны танцы с бубном чтобы подключиться к ЕСПшке в ESPlorer? Ну то есть после ресета вываливается в терминалку всякий мусор. Потом пишет что связи нет и только дерганье кнопок RTS и DTR приводит ее в чувство. (Ситуация полностью аналогичная если гружу дефолтовую прошивку INTERNAL://NODEMCU)

Вот кусок терминала. GOT ANSWER! появляется только если я потыкаю RTS и DTR

Soft restart by user command
node.restart()
> ON

ets Jan 8 2013,rst cause:2, boot mode:(3,6)

load 0x40100000, len 26144, room 16
tail 0
chksum 0xf9
load 0x3ffe8000, len 2304, room 8
tail 8
chksum 0x37
load 0x3ffe8900, len 8, room 0
tail 8
chksum 0x70
csum 0x70
Њвм‚nм’r‚тn|мllll`Њвr’lЊlLю

NodeMCU custom build by frightanic.com
branch: master
commit: 81ec3665cb5fe68eb8596612485cc206b65659c9
SSL: false
modules: adc,bit,cjson,file,gpio,http,i2c,mqtt,net,node,ow,pwm,spi,tmr,uart,websocket,wifi
build built on: 2017-01-15 07:04
powered by Lua 5.1.4 on SDK 1.5.4.1(39cb9a32)
nil
> print(uart.setup(0, 115200, 8, 0, 1, 1 ))
115200
>
Communication with MCU..Waiting answer from ESP - Timeout reached. Command aborted.Got answer! Communication with MCU established.
AutoDetect firmware...

Can't autodetect firmware, because proper answer not received (may be unknown firmware).
Please, reset module or continue.
тnnћlnnњвмbpмЋlrlrlpтnа‚lbnв|ЊЊЋpђЋbЊтnnо

NodeMCU custom build by frightanic.com
branch: master
commit: 81ec3665cb5fe68eb8596612485cc206b65659c9
SSL: false
modules: adc,bit,cjson,file,gpio,http,i2c,mqtt,net,node,ow,pwm,spi,tmr,uart,websocket,wifi
build built on: 2017-01-15 07:04
powered by Lua 5.1.4 on SDK 1.5.4.1(39cb9a32)
nil
>
 

Scorpio

New member
По идее LOW сигнал это выключение диода, нет?
LOW это практически соединение ножки с нулем питания (GND). Чтобы светодиод при этом засветился, надо подключить его катодом к ножке ESP, а анодом к 3.3В через токоограничительный резистор. Чтобы светодиод включался высоким уровнем на ножке, его надо, соответственно, подключать к ножке анодом, а катодом к GND. Не забывайте, что разным светодиодам нужен разный ток для свечения. Его всегда надо ограничивать, т.к. можно спалить не только светик, но и выходной транзистор порта ESP. Если есть мультиметр, то лучше подобрать резистор, подключая светодиод сначала не на ножку, а к источнику питания 3.3В. Подбором резистора (начать с 1кОм и постепенно уменьшать), добиться удовлетворительного, но не предельного свечения, и убедиться, что ток при этом не превышает 6 мА. Если известен тип светодиода, то полезно посмотреть его характеристики. Для экспериментов с миганием достаточно использовать синий светодиод, установленный на самом ESP. Он подключен катодом к GPIO2 (D4), т.е. включается как раз уровнем LOW. По второму вопросу советую переходить сразу на arduino IDE, чтобы не мучаться.
 

Darkbird

New member
По первому вопросу. Речь идет о светодиоде который штатно установлен на платке. Просто посылка со стартовым комплектом ардуино еще не пришла. Приехала только ESP8266 12E c usb входом, стабилизатором и прочей обвязкой. Поэтому подключил ее к компу и играюсь пока.

По второму вопросу. То есть LUA лучше не заморачиваться? (я еще сильно плаваю в этих средах и прошивках). Для Arduino IDE нужна какая-то своя прошивка?
 

Юрий Ботов

Moderator
Команда форума
По идее LOW сигнал это выключение диода, нет?
нет. LOW это уровень на ноге контроллера. Код не знает что и как на эту ногу припаяно.
Для Arduino IDE нужна какая-то своя прошивка?
нет. Ардуино ИДЕ само по себе создает прошивки и умеет прошивать.
 
Сверху Снизу