Arduino Mega + сетевая enc28j60
- Войдите на сайт для отправки комментариев
Ср, 22/07/2020 - 17:09
Проблема в подключении. Скетч - простейший пример присоединения к сети. На UNO R3 всё работает, для меги не могу реализовать:
при компиляции куча ошибок и не работает.
#include <EtherCard.h> static byte mymac[] = { 0x74,0x69,0x69,0x2D,0x30,0x32 }; byte Ethernet::buffer[700]; void setup () { Serial.begin(57600); Serial.println(F("\n[testDHCP]")); Serial.print("MAC: "); for (byte i = 0; i < 6; ++i) { Serial.print(mymac[i], HEX); if (i < 5) Serial.print(':'); } Serial.println(); if (ether.begin(sizeof Ethernet::buffer, mymac) == 0) Serial.println(F("Failed to access Ethernet controller")); Serial.println(F("Setting up DHCP")); if (!ether.dhcpSetup()) Serial.println(F("DHCP failed")); ether.printIp("My IP: ", ether.myip); ether.printIp("Netmask: ", ether.netmask); ether.printIp("GW IP: ", ether.gwip); ether.printIp("DNS IP: ", ether.dnsip); }
А вопрос какой?
Наверно вопрос - как сделать, что бы работало.
Получало IP и тд
1) Правильно присоединить модуль к ардуине
2) Скомпилировать пример из библиотеки.
То, что выше - и для Uno не скомпилируется.
это UNO R3
на меге встаёт на
пробовал разные подключения модуля к меге, результат один - не работает
Какие - разные?
Вот нормальное соединение, если модуль с 5V стабилизатором - подключать на +5V, а не на +3.3V: https://github.com/ntruchsess/arduino_uip/issues/177
попробовал еше раз эту схему - не идёт
... или 3.3 вольта запитать на 5 вольт Меги?
если модуль
с 5V стабилизатором - подключать на +5V, или на Меге паленые порты
Модуль 5вольтовый, на нем даже пин 5V есть - подписан.
попробовал на другой меге - результат тот же
... и на 5 вольт пробовал
Чудес не бывает. Или плохой контакт или хорошее замыкание происходит. С такими проводками много мороки. У меня с таким модулем особых проблем не было при корректном соединении.
уже и провода взял с UNO.
и так и сяк...
а по фото всё верно подключено?
бывает, замылится глаз...
Лично я не совсем понимаю что куда в Меге воткнуто.
ф - 50
з - 51
о - 52
ж - 53
ф (S0)- 50
з (SI) - 51
ораньжевый (SCK) - 52
ж (CS) - 53
Мне так вообще показалось, что жёлтый мимо воткнут.
Может библиотека не знает про CS=53 и ищет его на 10? Такое в штатной бывало...
при компиляции такой ворох сообщений:
Это опенсорц, привыкайте плавать самостоятельно.
Перейдите на UIPEthernet, если с EtherCard не справляетесь.
"опенсорц" - это ладно. Вдруг умные люди разглядели бы там ошибку среди предупреждений.
Чем поможет UIPEtherne, чем он проще?
А добавь в setup
А это перед setup
А добавь в setup
А это перед setup
ругается на
if (ether.begin(sizeof Ethernet::buffer, mac, 53) == 0) {
нет такого mac
ругается на
if (ether.begin(sizeof Ethernet::buffer, mac, 53) == 0) {
нет такого mac
Блин, так заведите! Почему в своих скетчах в начале ветки вы задавали mac. а тут - не можете?
Михаил, это у ни в какие ворота. Как уже сказали, опенсорц - это значит что вы сами пытаетесь разобраться.
ругается на
if (ether.begin(sizeof Ethernet::buffer, mac, 53) == 0) {
нет такого mac
Блин, так заведите! Почему в своих скетчах в начале ветки вы задавали mac. а тут - не можете?
Михаил, это у ни в какие ворота. Как уже сказали, опенсорц - это значит что вы сами пытаетесь разобраться.
пардон, туплю. я его стёр
стопорится на
if (ether.begin(sizeof Ethernet::buffer, mymac, 53) == 0)
Тогда не знаю... пробуйте альтернативу UIPEthernet
Диагноз тут простой - нет обмена по SPI. А почему - может и библиотеке надо ткнуть носом, мож провода не тащат, а может к уно подключается один модуль, а к меге - другой. Причин факапа - уйма.
...уф
заработало
Схема будет выглядеть так:
При использовании Arduino Mega она станет выглядеть так:
но второе - не верно. Для меги CS = 8
теперь интересно запустить
ESP-12E Wi-fi Shield
А не проще использовать ESP8266-12E WeMos D1 или WeMos D1 mini.
мне думается, это одно и то же в разном исполнении. или как?
Нет, это шидл, который использует возможности Ардуины, общаются я так понял они через serial AT командами.
А Wemos это самостоятельная esp8260 обвязкой, которую можно программировать в IDE
Нет, это шидл, который использует возможности Ардуины, общаются я так понял они через serial AT командами.
А Wemos это самостоятельная esp8260 обвязкой, которую можно программировать в IDE
это меня и настораживало, когда покупал...
надо искать Wemos