Połączenie Arduino z modułem Ethernet
ENC28J60
1. Instalacja biblioteki
Pierwszy etap to pobranie i instalacja odpowiedniej biblioteki Arduino np. ze strony github.com, a następnie należy:
- Rozpakować pobrane archiwum
- Zmienić nazwę wypakowanego folderu na przykładowe EtherCard, następnie przenieść wraz z całą zawartością do katalogu libraries w folderze Arduino
- Zrestartować środowisko Arduino IDE, nowa biblioteka powinna zostać dodana
2. Połączenie układów
Kolejnym krokiem jest fizyczne połączenie układów (np. za pomocą przewodów połączeniowych). Należy to zrobić według poniższej tabelki:
VCC |
3,3V | 3,3V |
GND |
GND | GND |
SCK |
PIN 13 | PIN 52 |
SO |
PIN 12 | PIN 50 |
SI |
PIN 11 | PIN 51 |
CS |
PIN 10 | PIN 53 |
Dodatkowo w programie dla Arduino Mega należy zamienić linię:
ether.begin(sizeof Ethernet::buffer, mymac)
na
ether.begin(sizeof Ethernet::buffer, mymac,53)//53 - jest linią CS
3. Przykładowy program
Następnie należy otworzyć przykład backSoon, znajdujący się w nowo dodanej bibliotece i skonfigurować wartości:
- myip - adres IP Arduino
- gwip - adres bramy domyślnej (ang. gateway), jest to np. adres rutera sieciowego.
- mymac - unikalny adres MAC modułu
Wartości te będą wykorzystane, gdy nie powiedzie się próba ustawienia dynamicznego adresu IP - serwer DHCP. W celu całkowitego wyłączenia próby połączenia poprzez DHCP należy wpisać wartości 1 przy definicji STATIC (domyślnie wartość 0).
Kolejne etapy to podłączenie Arduino poprzez USB, wgranie programu backSoon z odpowiednią konfiguracją adresu IP i bramy domyślnej.
W celu sprawdzenia poprawności działania, należy:
- otworzyć Monitor Portu Szeregowego znajdujący sie w Menu Narzędzia środowiska Arduino, ustawić prędkość transmisji 57600 baud (taki jak w programie backSoon)
- podłączyć przewód sieciowy do gniazda RJ-45 modułu ethernet
- zrestartować moduł Arduino za pomoca przycisku RESET
- po upływie kilkunastu sekund na ekranie Monitora Portu Szeregowego powinien pojawić się adres IP Arduino
- następnie należy sprawdzić odpowiedź modułu na polecenie ping uruchamiając wiersz poleceń i wpisując komendę ping x, gdzie x jest adresem IP modułu Arduino. Można uruchomić przeglądarkę i wpisać adres IP modułu. Na ekranie powinna pojawić się strona z informacją jak na rysunku poniżej.