• Система автоматизации с открытым исходным кодом на базе 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 нужна какая-то своя прошивка?
нет. Ардуино ИДЕ само по себе создает прошивки и умеет прошивать.
 
Сверху Снизу