Контакты Mini Ethernet Shield не имеют SI

Пожалуйста, помогите мне кто-нибудь, у кого была такая же проблема. Вопрос в том, как подключить этот шилд Mini Ethernet к Arduino. Основная проблема — это контакты, которые есть или нет на моем щите; мои текущие подключения к Arduino Mega 2560:

  1. От 5 В до 5 В
  2. Земля к земле
  3. LNT в NULL
  4. CLK в NULL
  5. ТАК для pin50
  6. WOL на NULL
  7. От SLK до PIN52
  8. ST до ???
  9. От RST до RST
  10. От CS до PIN53
  11. От Q3 до NULL
  12. ЗЕМЛЯ НА НУЛЬ

Но во всех случаях, когда я ищу схему подключения, на каждой картинке есть SI, а у меня его нет (пробовал подключить ST к PIN51, безуспешно).

Что это за Ethernet-щит? Или как соединить эти контакты?

Надеюсь, кто-нибудь сможет мне помочь; заранее спасибо.

/*
IP-принтер на основе DHCP

В этом скетче используются расширения DHCP для библиотеки Ethernet.
чтобы получить IP-адрес через DHCP и распечатать полученный адрес.
с помощью Ethernet-шилда Arduino Wiznet.

Схема:
Экран Ethernet прикреплен к контактам 10, 11, 12, 13.

создан 12 апреля 2011 г.
изменено 9 апреля 2012 г.
Том Айго
изменено 2 сентября 2015 г.
Артуро Гуадалупи

*/

#include <SPI.h>
#include <Ethernet.h>

// Введите MAC-адрес вашего контроллера ниже.
// Более новые экраны Ethernet имеют MAC-адрес, напечатанный на наклейке на экране.
byte mac[] = {
  0x00, 0xAA, 0xBB, 0xCC, 0xDE, 0x02
};

void setup() {
  // Вы можете использовать Ethernet.init(pin) для настройки вывода CS
   // Ethernet.init(53); // Большинство шилдов Arduino
  //Ethernet.init(5); // щит MKR ETH
  //Ethernet.init(0); // Крошка 2.0
  //Ethernet.init(20); // Крошка++ 2.0
  //Ethernet.init(15); // ESP8266 с Adafruit Featherwing Ethernet
  //Ethernet.init(33); // ESP32 с Adafruit Featherwing Ethernet

  // Открытие последовательной связи и ожидание открытия порта:
  Serial.begin(9600);
  while (!Serial) {
    ; // ждем подключения последовательного порта. Требуется только для собственного порта USB
  }

  // запускаем Ethernet-соединение:
  Serial.println("Initialize Ethernet with DHCP:");
  if (Ethernet.begin(mac) == 0) {
    Serial.println("Failed to configure Ethernet using DHCP");
    if (Ethernet.hardwareStatus() == EthernetNoHardware) {
      Serial.println("Ethernet shield was not found.  Sorry, can't run without hardware. :(");
    } else if (Ethernet.linkStatus() == LinkOFF) {
      Serial.println("Ethernet cable is not connected.");
    }
    // нет смысла продолжать, поэтому ничего не делайте навсегда:
    while (true) {
      delay(1);
    }
  }
  // распечатываем ваш локальный IP-адрес:
  Serial.print("My IP address: ");
  Serial.println(Ethernet.localIP());
}

void loop() {
  switch (Ethernet.maintain()) {
    case 1:
      //обновленный сбой
      Serial.println("Error: renewed fail");
      break;

    case 2:
      //новый успех
      Serial.println("Renewed success");
      //распечатываем ваш локальный IP-адрес:
      Serial.print("My IP address: ");
      Serial.println(Ethernet.localIP());
      break;

    case 3:
      //перепривязка не удалась
      Serial.println("Error: rebind fail");
      break;

    case 4:
      // перепривязываем успешно
      Serial.println("Rebind success");
      //распечатываем ваш локальный IP-адрес:
      Serial.print("My IP address: ");
      Serial.println(Ethernet.localIP());
      break;

    default:
      //ничего не произошло
      break;
  }
}

И результат:

  • 16:41:14.242 -> Инициализировать Ethernet с помощью DHCP:
  • 16:41:14.804 -> Не удалось настроить Ethernet с помощью DHCP
  • 16:41:14.848 -> Экран Ethernet не найден. Извините, не могу бежать
    без оборудования. :(

, 👍0

Обсуждение

СТ — это СИ. какой чип? какую библиотеку вы используете? ты инициализировал библиотеку для 53 как CS?, @Juraj

Я использую <SPI.h> и <Ethernet.h>, Sketch для DHCP-клиента, который интегрирован в примеры Arduino. Ethernet > DHCPAddressPrinter, и он показывает, что на последовательном мониторе экран Ethernet не найден. Извините, не могу работать без оборудования. :(", @AleksAnderson IT

Я тоже назначил контакт 53 на CS, но все равно ничего :(, @AleksAnderson IT

Я спросил про чип. Я подозреваю, что вы пытаетесь использовать библиотеку Ethernet с чипом enc28j60., @Juraj

@Юрай Извините за это. Да, вы правы, я использую чип enc28j60., @AleksAnderson IT

В своем вопросе я добавил код и результат, @AleksAnderson IT


1 ответ


Лучший ответ:

0

В «Mini Ethernet Shield» используется чип ENC26j60. Библиотека Arduino Ethernet предназначена для чипов Wiznet W5100/W5200/W5500. Вы не можете использовать его с ENC26j80.

С Arduino Mega я бы рекомендовал использовать библиотеку UIPthernet для ENC26j80. Другой вариант — библиотека EtherCard.

Библиотека UIPEthernet имеет тот же API, что и библиотека Arduino Ethernet.

,

Я думаю, вы правы, я использовал не ту библиотеку, а теперь протестировал с UIPethernet.h, и она отлично работает. Спасибо, Юрай., @AleksAnderson IT