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

Помогите с GPIOx

kms

New member
Подскажите что куда лучше подключить.
На данный момент у меня так
// Реле = 12
// OneWire = 4
//// I2C
// 2: SDA 0: SCL
// Buzzer = 5
// Кнопка Set = 14
// Кнопка UP = 3
// Кнопка Down = 13
// Свободные пины//
// 16
// 0
// 1
// 15
Все вроде работает, но нужно еще подключить модуль DS1302, понимаю что лучше взять другой с I2C, но на руках только такой и другой ждать долго.
Куда лучше подключить этот модуль и если придется переназначить другие пины, то без проблем, только посоветуйте что и куда :)
Экспериментировать не могу, устройство рабочее, но дело даже не в этом, там просто датчики и нагрузка к нему "намертво" подключены, то есть притащить его к себе поближе не могу.
Заранее спасибо!

PS: Вроде их названий пинов должно быть понятно что и куда.
 

Ildarmustafin86

Active member
DS1302 разве не по i2c работает?Назначаете другой адрес и подключаете к пинам i2c
 

nikolz

Well-known member
например так:
1) GPIO15-clk
2) если сон не используете, то GPIO16 -data
3) RST можно для начала к RST ESP.
 
  • Like
Реакции: kms

nikolz

Well-known member
А как мне потом с этим пином(RST ESP) работать?
а зачем?
Этот пин CE. Если на нем 1 то можно писать и читать
0- будет если сбрасываете ESP
Если во время работы у вас что-то не так то не будет работать и ESP и его надо сбросить - это делается кнопкой на RST на землю т е будет сброс ESP и сброс DS1302
Если Вы будете отдельно сбрасывать DS1302 в программе то вопрос - а почему и зачем.
----------------
Когда отладите работу и понадобится сброс программный то тогда и будете думать.
-------------------
 

kms

New member
Ок, я пока с библиотеками разбираюсь, об остальном буду думать потом :)
 

kms

New member
Вобщем не выходит аленький цветок))
При первом же обращении к модулю
C++:
if (!Rtc.IsDateTimeValid())
всё уходит в перезагрузку.
библиотеку использую вот эту https://github.com/Makuna/Rtc

PS: GPIO0 у меня оказывается под I2C занят, на данный момент подключено так
// 1 RST
// 16 DATA
// 15 CLK
Пробовал менять пины, без разницы.
 

nikolz

Well-known member
Вобщем не выходит аленький цветок))
При первом же обращении к модулю
C++:
if (!Rtc.IsDateTimeValid())
всё уходит в перезагрузку.
библиотеку использую вот эту https://github.com/Makuna/Rtc

PS: GPIO0 у меня оказывается под I2C занят, на данный момент подключено так
// 1 RST
// 16 DATA
// 15 CLK
Пробовал менять пины, без разницы.
И кто Вам посоветовал использовать GPIO01?
Вы либо делайте как говорят либо не спрашивайте советов.
-------------------
проверьте не подключен ли у вас вывод 16 на RST ESP для deep-sleep
и для начала просто подключите RST DS на питание через резистор 5-10 к и для сброса поставьте кнопку на GND
т е оставьте два вывода 16 и 15
можно DATA включать с data I2C, так как у вас разные clk для них, но тогда надо задействовать CE(RST) DS
 

kms

New member
Ну ок, подключу я RST модуля DS к питанию через резистор или как еще раньше писалось на RST самого ESP, мне потом в библиотеке какой пин для RST указывать?
C++:
ThreeWire myWire(4,5,2); // IO, SCLK, CE
Я уж не помню в какой именно библиотеке смотрел, там как минимум этот пин настраивается на вход.
 

nikolz

Well-known member
Ну ок, подключу я RST модуля DS к питанию через резистор или как еще раньше писалось на RST самого ESP, мне потом в библиотеке какой пин для RST указывать?
C++:
ThreeWire myWire(4,5,2); // IO, SCLK, CE
Я уж не помню в какой именно библиотеке смотрел, там как минимум этот пин настраивается на вход.
объясняю
GPIO01 - это выход UART на него при старте ESP всегда выводится сообщение.
кроме того TX - это связь с компом. Вы через него программируете и выводите данные на терминал
Если Вы его задействуете на DS то при включении ESP на DS поступят импульсы.
А они вам нужны?
Поэтому не надо туда подключать RST и CLK
Если Вы подключите туда Data, то в случае режима чтения из DS получите конфликт если в это время будет вывод в терминал.
------------------
В итоге с Вашими скромными знаниями ESP и программирования Вы сами не справитесь с этими проблемами и вполне получите кирдык.
-------------------
Поэтому для начала рекомендую задействовать только CLK и Data а CE который на вашей плате называется RST подтянуть к питанию и поставить ручной сброс кнопкой
Потом напишите простой тест который читает из регистров DS и выводит в терминал
Когда разберетесь с работой DS и поймете нужно ли Вам программно управлять CE, тогда и решите куда его подключать.
Все это займет не более часа возни и через час ( а не несколько дней как уже Вы здесь хнычите) Вы будете думать про CE.
 

kms

New member
Бессмысленный разговор, я вопрос задаю про одно, вы мне кучу текста про другое.
Если вы мне предлагаете работать с модулем DS напрямую, без библиотеки, то к чему это?
Если бы я мог, то как минимум задал бы вопрос не разделе для начинающих.
Заказал другой модуль с I2C, ну а пока будет идти, с учетом всего здесь понаписанного попробую конечно добить до конца, нет да и хрен с ним.

PS: иногда кажется что попал не на форум ардуинщиков а в какое то высшее научное сообщество и пытаюсь выведать труды всей жизни.
Лучше никакой помощи, чем такая, с понтами.
Для меня тема закрыта, остальным желающим велком.
 

CodeNameHawk

Moderator
Команда форума
Ну ок, подключу я RST модуля DS к питанию через резистор или как еще раньше писалось на RST самого ESP, мне потом в библиотеке какой пин для RST указывать?
Обычно ресет не указывают в библиотеке, так как его не подключают к процу.
 
Последнее редактирование:

kms

New member
Вобщем разобрался.
В библиотеке ThreeWire удалил все упоминания о RST(CE), она этот пин просто перед работой "сажала" на 0.
Сам RST модуля подиянул к питанию.
Теперь указывать пин RST не требуется ну и все работает.
Но это так, просто ради интереса уже. Как придет модуль с I2C поставлю его и deepsleep верну на место.
 
Сверху Снизу