Ethernet modülü, Arduino'yu kablolu internet ağına bağlamak için kullanılan bir karttır. Ethernet modülüyle Arduino, web tarayıcısı gibi web sitelerine girebilir, web sitelerine veri kaydedebilir hatta sizin için tweet atabilir.
Kart üzerinde Wiznet W5100 entegresi bulunmaktadır. Ethernet modülü hem TCP hem de UDP ile uyumludur. Yeni üretilen ethernet modüllerinde, internete bağlanma özelliğinin yanında SD kart kullanabilme özelliği de bulunur.
Arduino, Wiznet W5100 entegresi ve SD kart SPI üzerinden haberleşir. İnternete bağlanmayı sağlayan Wiznet entegresi ile Arduino'nun haberleşmeye geçmesi için Arduino'nun 10. pininin 0 Volt (LOW) düzeyine getirilmesi gerekir. Eğer SD kart ile işlem yapılmak isteniyorsa Arduino'nun 4. pini 0 Volt (LOW) düzeyine getirilir.
W5100 ile SD kart aynı SPI hattını kullandıkları için beraber çalışamazlar. Bu yüzden aynı anda 4. ve 10. pinler 0 Volt (LOW) düzeyine getirilmemeli. Kullanılmayacak olan özelliğin SPI kontrol pinin 5 Volt (HIGH) konumuna getirilmesi gerekir.
Arduino'yu internete bağlamak için shield'e göre daha ucuz olan ethernet modülleri kullanılabilir. Bu modüller ile Arduino arasındaki kablo bağlantıları elle yapılmalıdır. Aşağıdaki resimde shield'lere göre daha ucuz olan Enc28j60 ethernet modülü gösterilmiştir.
Enc28j60 ethernet modülünü kullanacak Arduino geliştiricilerinin, kablo bağlantılarını aşağıdaki tablo veya devre şemasına göre yapmaları gerekir.
Enc28j60 Ethernet modülü | Arduino |
CS | 10 |
SI | 11 |
SO | 12 |
SCK | 13 |
VCC | 3.3V |
GND | GND |
Kablo bağlantılarını yaptığımıza göre artık programlama kısmına geçebiliriz. Ethernet modüllerinin Arduino ile kullanılması için birçok hazır kütüphane bulunur. Biz bu kütüphanelerden "ethercard-master" isimli olanını kullanacağız. Bu kütüphaneyi seçme nedenimiz, diğer kütüphanelere göre daha kolay kullanıma sahip olması ve daha kararlı çalışmasıdır. Kütüphaneyi buradan indirebilirsiniz.
Not: Kütüphanede tanımlanan CS pininin 10 olarak değiştirilmemesi Arduino'nun ethernet modülü ile bağlantı kuramamasına neden olacaktır. "EtherCard.h" dosyasındaki "csPin" değişkenini 10 olarak ayarlamayı unutmayınız.