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

Нужна помощь Цифровые порты

dizzel

New member
Всем привет. Есть Wemos D1. Не могу понять как использовать цифровой порт. Беру пример блинк. Изменяю цифровой порт например на 3. Светодиод ноль реакции. На обычной ардуине все прекрасно. Расскажите как пользоваться портами. Необходимо 6 цифровых портов для диодов/датчиков, а пользоваться не могу ни одним. Или тут порты только под шины данных rx/tx, i2c и прочее? Извините за столь нубский вопрос.
 

Сергей_Ф

Moderator
Команда форума
Всем привет. Есть Wemos D1. Не могу понять как использовать цифровой порт. Беру пример блинк. Изменяю цифровой порт например на 3. Светодиод ноль реакции.
Порты, как порты, только многофункциональные. Посмотрите http://esp8266.ru/forum/resources/categories/raspinovka-pinout-modulej-i-plat.7/

Что значит порт на 3? В чем программируете? От этого зависит, какой вывод будет соответствовать 3. Если цепляете диод на вывод D3, то модуль перейдет в режим прошивки и никакая программа работать не будет.
 
Последнее редактирование:

dizzel

New member
Большое спасибо что ответили.
Программирую в АрдуиноИДЕ (портабл). Извиняюсь что сразу не уточнил что за пин. Да, на D3. Кстати спасибо за уточнение режима прошивки, не знал.
Решил поэкспериментировать. Начал перебирать пины от D0 до D13. Заливаю.
Код:
#define PIN 2
void setup() {
  pinMode(PIN, OUTPUT);
}

void loop() {
  digitalWrite(PIN, HIGH);
  delay(1000);
  digitalWrite(PIN, LOW);
  delay(1000);
}
Подсоединяю проводок. И вижу что мигают только пины 4 и 12. Пин 2 - мигает только встроеный пин на самом модуле. Остальные либо молчат либо горят постоянно.

Пытаюсь на рабочих пинах подключить датчик температуры DS18B20. Выдается ошибка:
Arduino: 1.6.9 (Windows XP), Плата:"WeMos D1 R2 & mini, 80 MHz, 921600, 4M (3M SPIFFS)"

In file included from C:\DOCUME~1\9335~1\LOCALS~1\Temp\arduino_modified_sketch_300108\DS18x20_Temperature.pde:1:0:

C:\Documents and Settings\Администратор\Рабочий стол\инфо\arduino\мои скетчи\libraries\OneWire/OneWire.h:108:2: error: [HASHTAG]#error[/HASHTAG] "Please define I/O register types here"

[HASHTAG]#error[/HASHTAG] "Please define I/O register types here"

^

exit status 1
Ошибка компиляции для платы WeMos D1 R2 & mini.
Уж не знаю связано ли это все между собой.
 

dizzel

New member
Попробуй заменить
[HASHTAG]#define[/HASHTAG] PIN 3
на
[HASHTAG]#define[/HASHTAG] PIN D3
Большое спасибо, что ответили.
Как ни странно, но именно такую формулировку именования портов я встречал и в примерах (например для того же датчика температуры). Но, попробовав так их обозвать, ИДЕ выдал ошибку, что, мол, чего это вы мне подсовываете, таких определений знать не знаю.

Вообще же перед тем как начать заливать код в Вимос по-человечески, ИДЕ каждый раз истошно вопил, что не может найти файл "c++config.h" в далекой-предалекой галактике директории. Путем поиска я нашел этот файл в другой директории и скопировал в ту, в которой ИДЕ не мог его найти. Также он ругался на другие файлы из той же директории. Не долго думая я просто скопировал туда все файлы из исходного каталога. Ругань прекратилась.

Как вы думаете это может как-то быть связано между собой?
 

dizzel

New member
Там на выбор предлагалось 2 варианта. Wemos (retired) и Wemos D1 & mini (или что-то на подобие) я выбирал второй вариант.
Я попробую еще поэкспериментировать и позже отпишусь о результатах.
 

dizzel

New member
Итак, как и обещал отписываюсь. Решил опробовать на другом компьютере. Ура! С пинами удалось пообщаться. В менеджере плат было установлено Wemos D1 (Retired), пины указывал через литеру D. Никаких ошибок с отсутствующими файлами. На другом же компьютере просто измучился, пробовал и так, и сяк, никак не получалось. Видимо сказывалось то, что он очень слабый и работает под управлением ВинХР.

Датчик температуры тоже удалось победить благодаря тому, что обновил библиотеку OneWire непосредственно из ИДЕ. До этого при компиляции постоянно вылетала ошибка "[HASHTAG]#error[/HASHTAG] "Please define I/O register types here" что там, что тут. Все таки рассчитывал, что с гитхаба скачалась последняя версия, ан нет.

Большое спасибо всем.
 

dizzel

New member
Друзья!
Все дело оказалось в моей не достаточной внимательности. Мне бы надо было сначала задуматься от чего ИДЕ ругается на файлы и глянуть на путь их расположения, а он оказался крайне длинным, чтобы возникла ошибка "fatal error 'bits/c++config.h' file not found". Все дело в ВинХП, и, разместив папку с ИДЕ на рабочий стол, я сильно увеличил длину пути каталогов, на которую данная ОС накладывает свои ограничения. Переместив каталог в корень диска, я избавился от данной проблемы. Будьте внимательны!
 

YaSerg

New member
Всем привет. Есть Wemos D1. Не могу понять как использовать цифровой порт. Беру пример блинк. Изменяю цифровой порт например на 3. Светодиод ноль реакции. На обычной ардуине все прекрасно. Расскажите как пользоваться портами. Необходимо 6 цифровых портов для диодов/датчиков, а пользоваться не могу ни одним. Или тут порты только под шины данных rx/tx, i2c и прочее? Извините за столь нубский вопрос.
Привет! Не поделишься библиотеками к этому датчику для Wemos D1. Какие только уже не пробовал и этого форума и со сторонних блогов. Так и не удалось заставить датчик отвечать.
Подключен через резистор. Писк библиотекой OneWire не даёт результатов.
 
Сверху Снизу