Контакты Mini Ethernet Shield не имеют SI
Пожалуйста, помогите мне кто-нибудь, у кого была такая же проблема. Вопрос в том, как подключить этот шилд Mini Ethernet к Arduino. Основная проблема — это контакты, которые есть или нет на моем щите; мои текущие подключения к Arduino Mega 2560:
- От 5 В до 5 В
- Земля к земле
- LNT в NULL
- CLK в NULL
- ТАК для pin50
- WOL на NULL
- От SLK до PIN52
- ST до ???
- От RST до RST
- От CS до PIN53
- От Q3 до NULL
- ЗЕМЛЯ НА НУЛЬ
Но во всех случаях, когда я ищу схему подключения, на каждой картинке есть 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 не найден. Извините, не могу бежать
без оборудования. :(
1 ответ
Лучший ответ:
В «Mini Ethernet Shield» используется чип ENC26j60. Библиотека Arduino Ethernet предназначена для чипов Wiznet W5100/W5200/W5500. Вы не можете использовать его с ENC26j80.
С Arduino Mega я бы рекомендовал использовать библиотеку UIPthernet для ENC26j80. Другой вариант — библиотека EtherCard.
Библиотека UIPEthernet имеет тот же API, что и библиотека Arduino Ethernet.
Я думаю, вы правы, я использовал не ту библиотеку, а теперь протестировал с UIPethernet.h, и она отлично работает. Спасибо, Юрай., @AleksAnderson IT
- Где я могу найти лучшую схему выводов для платы «Arduino Ethernet»?
- NodeMCU - Vin контакт как выход 5V?
- Использовать все контакты как цифровые входы/выходы
- Что такое ICSP pin (разъём)?
- Как получить HTTPS на Arduino?
- Сколько датчиков может поддерживать один модуль Arduino?
- NodeMCU - использовать кнопку flash в качестве входного сигнала в loop()
- Какой тип разъема использует система GROVE?
СТ — это СИ. какой чип? какую библиотеку вы используете? ты инициализировал библиотеку для 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