Adatum
Мар
11
2013

Работа Arduino nano с сетевым контроллером ENC28J60

Работа Arduino nano с сетевым контроллером ENC28J60
Добрый день сегодня хочу представить вашему вниманию схему подключения сетевого контроллера ENC28J60 (HanRun HR911105A — в моём случае) к платке Arduino nano. Из всех библиотек больше всех понравилась библиотека ETHER_28J60 автора Simon Monk.

Скачать библиотеку

Распаковка подключения

RST —> RESET
GND —> GND
3V3 —> VCC
D2 —> INT
D10 —> CS
D11 —> SI
D12 —> SD
D13 —> SCK

В файле библиотеки enc28j60.c следует изменить подключение контроллера к нашей плате следующим образом, для nano соответственно pin 10,11,12,13 для Mega pin 53,51,50,52. В приложенной библиотеки настройки для Aduino nano:

#define ENC28J60_CONTROL_CS 53 //10
#define SPI_MOSI 51 //11
#define SPI_MISO 50 //12
#define SPI_SCK 52 //13

ardlan

Схема

Пример использования библиотеки.

#include "etherShield.h"
#include "ETHER_28J60.h"

static uint8_t mac[6] = {0x54, 0x55, 0x58, 0x10, 0x00, 0x24};   
static uint8_t ip[4] = {192, 168, 1, 15};                      
static uint16_t port = 80;                                    

ETHER_28J60 ethernet;

void setup()
{ 
  ethernet.setup(mac, ip, port);
}

void loop()
{
  if (ethernet.serviceRequest())
  {
    ethernet.print("<H1>Hello World</H1>");
    ethernet.respond();
  }
  delay(100);
}

Похожие статьи

Оставить комментарий

*

  • Хорошая статья, сами ардуинки по вкусным ценам тут http://modul-tech.ru/

  • У меня почему-то выдает ошибку при капмиляции?

  • Здравствуйте! Дмитрий большое спасибо за реальную помощь.

  • Для Бориса сделал новую статью http://adatum.ru/prosmotr-temperatury-s-datchika-dallas-18b20-po-seti.html

    • Od tematu: bÅ‚agam, napisz na samej górze, co by każdy czytacz mógÅ‚ przeczytać i zapamiÄ™tać. „Na pewno” pisze siÄ™ osobno, &#&wa2;napr22dÄ™8#8221; pisze siÄ™ razem. Aż oczy bolÄ…, bo ludzie czÄ™sto do rzeczy majÄ… myÅ›li i umiejÄ… je nazwać tylko zapisać już niekoniecznie.

  • Почитай про несколько устройств SPI.Пины SCK MISO MOSI параллельно на устройствах, а CS отдельно для каждого.

  • ENC28J60 сидит на Mega pin 53,51,50,52 , rc522 сидит на этих же ногах , если будут конфликтовать то как их развести?

  • Здравствуйте! Можно ли к этой схеме подключить датчик ds18b20, что бы по сети следить за температурой?

    • Конечно можно, вам показать пример для статического ip или получаемого по dhcp

      • Спасибо большое за ответ! Мне бы пример для статического ip адреса.

        • treading water is what I did. At time I had acecpmlishmonts on weight loss, but something would always dislodge my progress. I think I’m the better for the year without goals, but only if I capitalize on my observations from this past year.

        • Hey, I’m just sorry for my incredibly boring post on the Westernerd site- d’yoh! “Hey, I heard a song, and it was about the Replacements, and that’s a cool thing!” Scintillating, sir! Comments: Zero. Anyhoo – I always find your posts a hoot. You’ve got a good sense of humor. Or maybe it’s ’cause you throw in the odd, well-placed f’nheimer.Keep on a’postin’ & a&n#217;writi#&88217;!

  • Как на этой библиотеке dhcp клиент сделать. Везде в примерах ip жестко прописан. Это утопия и не работает с локальными сетями где ip выдает роутер.

  • На IDE 1.6.4 не пошло, на 1.0.1 все работает. Может кто знает как Modbus TCP прикрутить?

  • Добрый день. у меня выдается следующая ошибка. можно подсказать в чем проблема?

    Изменена опция сборки, пересобираем все
    In file included from C:\Program Files (x86)\Arduino\libraries\etherShield/etherShield.h:25:0,
    from sketch_may16d.ino:1:
    C:\Program Files (x86)\Arduino\libraries\etherShield/ip_arp_udp_tcp.h:32:66: error: ‘prog_char’ does not name a type
    extern uint16_t fill_tcp_data_p(uint8_t *buf,uint16_t pos, const prog_char *progmem_s);
    ^
    C:\Program Files (x86)\Arduino\libraries\etherShield/ip_arp_udp_tcp.h:32:77: error: ISO C++ forbids declaration of ‘progmem_s’ with no type [-fpermissive]
    extern uint16_t fill_tcp_data_p(uint8_t *buf,uint16_t pos, const prog_char *progmem_s);
    ^
    In file included from sketch_may16d.ino:1:0:
    C:\Program Files (x86)\Arduino\libraries\etherShield/etherShield.h:34:65: error: ‘prog_char’ does not name a type
    uint16_t ES_fill_tcp_data_p(uint8_t *buf,uint16_t pos, const prog_char *progmem_s);
    ^
    C:\Program Files (x86)\Arduino\libraries\etherShield/etherShield.h:34:76: error: ISO C++ forbids declaration of ‘progmem_s’ with no type [-fpermissive]
    uint16_t ES_fill_tcp_data_p(uint8_t *buf,uint16_t pos, const prog_char *progmem_s);
    ^
    Ошибка компиляции.

    • он же пишет — error: ‘prog_char’ does not name a type

      поменяй везде ‘prog_char’ на ‘char’

      • В смысле все поменять???
        Можно по подробнее?

    • Jonathan disse:Como vc tem coragem de postar um assunto no qual vc é leigo ,nunca viu um hd de un tera e nem testou como pode afirmar que não funciona ,eu uso um hd de um tera a 11 meses ,seria mais inttnigelee postar só aquilo que temos certeza ajudariamos mais os que estão chegando agora.

  • У меня диод на питание Nano взорвался, через некоторое время после подключения

  • Не как только на d3 т.к на arduino nano всего 2 выхода это d2 и d4

    • Извеняюсь d2 и d3

  • Здравствуйте. Не подскажите, как перекинуть INT c D2 на D9 ?

  • Здравствуйте, я хотела бы спросить, есть ли простой способ выяснить, может ли веб-модуль работает на всех. Библиотеки я установил, программа поступил в Arduino, но модуль не отвечает или я не могу пинговать его. Ни на маршрутизаторе, ни через статический IP. Можете ли вы назвать кого-то, чтобы попробовать его и работает? Спасибо.

    • Да, у меня и моих знакомых работает. Если собрали по моей схеме и используете библиотеку от сюда работает 100%.

  • Thank Dimitri good work :-)
    Please further instructions with Arduino and the Internet

  • Please where in the library to write those pins for Arduino Nano, there are two files. Thank you for your answer.

    • libraries/etherShield/enc28j60.c here in this file. Actually download the library from this page there is already configured for nano.

  • Привет, а не подскажешь как с помощью ардуинки можно смс отправлять?

    • Да конечно можно есть специальные платы расширения, позже скину ссылку.