В этой статье я бы хотел передать личный опыт подключения интернет модуля к ардуино. Сам я с ним довольно таки сильно намучался. Причиной этому послужило отсутствие нужной информации по подключению этого модуля к самой ардуино.
Вот собственно сам интернет модуль: ENC28J60
Вот собственно само ардуино: Arduino MEGA2560
Так, начнем с распиновки.
RST —> RESET
GND —> GND
3V3 —> VCC
D2 —> INT
D53 —> CS
D51 —> SI
D50 —> SO
D52 —> SCK
D** это номер цифрового порта
Вот библиотека, необходимая для работы с модулем Библиотека Зеркало 2
В этой библиотеке, в файле enc28j60.c нужно исправить код. Для Ленивых, вот ссылка на заточенную библиотеку под мегу2560 http://yadi.sk/d/QH3TT79-6z32A
Для любознательных, я напишу статью о том как вручную прописать порты в библиотеку чуть позже.
И так. Мы подключили модуль к ардуино, загнали библиотеку в компилятор. Теперь можно воспользоваться готовыми примерами, чтобы проверить все ли работает. Жмем Фаил - примеры - ETHER_28J60 - HelloWorld
#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);}
Подскажите в какой версии Arduino ide скомпилилили?
ОтветитьУдалитьИспользовал Arduino IDE версии 1.0.5
УдалитьВерсия либы и IDE такая же как и у Вас-но при компиляции вот такое вылазиет
ОтветитьУдалить"sketch_aug02c.ino:1:25: error: etherShield.h: No such file or directory
sketch_aug02c.ino: In function 'void loop()':
sketch_aug02c.ino:33: warning: deprecated conversion from string constant to 'char*'"
Не подскажите в чем проблема?
Не видит библиотеку. Вы правильно распаковали архив?
УдалитьВыдернул из архива,копировал в libreries.Но при открытии скетча в примерах-пришет нет доступа
ОтветитьУдалитьhttp://i.gyazo.com/419c8788826ece52ea96760438586d92.png вот с похожей проблемой
УдалитьОтпишите, если помогло
УдалитьПомогло стандартным импортированием библиотек.Еще вопрос-а сетевая карточка со статическим должна быть ip или с автоматическим?
ОтветитьУдалитьСо статическим, я думаю, удобней работать будет. Например: на карту ip 192.168.0.16 ; на шилд 192.168.0.15
УдалитьПрописал IP как сказали,плата у меня arduino mini pro,подключил SPI к 10,11,12,13
ОтветитьУдалитьзапускаю скетч из Вашей статьи -но платка не пингуется.. пишет вебстраничке- нет подключения.Соединения проверил питание до плат доходит 3,3 вольта
подключил к Меге 2560, импортировал исправленную библиотеку, из примера взял Хелло, Мир, скомпилировал и закинул на Мегу. сетевой модуль изображает активность, мигает диодом в RJ-45, но ничего не пингуется и не отвечает на 80 порту
ОтветитьУдалитьВ данный момент у меня нету платы mega2560, проверить не могу. Попробуйте соединить по этому мануалу. http://vipvizor.blogspot.ru/2013/08/arduino-2560-dht11-enc28j60-220.html
УдалитьКак вариант, попробуйте сгенерировать MAC . http://www.miniwebtool.com/mac-address-generator/
Удалить