Arduino Ethernet Shield Nasıl Kullanımlır

Merhaba arkadaşlar, bu yazımızda Arduino Ethernet Shield modülünü kullanacağız. Bu modül ethernet kablosu ile arduino’ dan bilgisayara veri göndermemizi sağlar. Buna ek olarak Arduino’ yu bu modül sayesinde evdeki modemize bağlayarak, bilgisayarınızdan yada telefonunuzdan haberleşebilirsiniz. Örneğin, bir sıcaklık sensörü bağlayıp siz evde yokken bile siz sinyal gönderebilecek şekilde programlayabilirsiniz.

Biz bu uygulamamızda bilgisayardan Telnet(23.port) kullnarak Arduino’ya bağlanıp veri gönderip veri alacağız arkadaşlar.

Arduino Ethernet Shield

Özellikleri:

  • Bu Ethernet Shield ile, Arduino tahtası internete bağlanmak için kullanılabilir
  • Sunucu veya istemci olarak kullanılabilir
  • Doğrudan takılır, lehimleme gerekmez
  • Denetleyici: W5100
  • Bu, Ethernet Kalkanı’nın en son sürümüdür
  • Wiznet W5100 Ethernet Yongasına dayanan bu Arduino Ethernet Kalkanı, Arduino’yu çevrimiçi almanın kolay bir yolunu sunar
  • Doğrudan Arduino resmi Ethernet Kitaplığı tarafından desteklenmektedir
  • Ağ üzerinden hizmet vermek için dosyaları depolamak için kullanılabilen bir mikro SD kart yuvası ekler
  • Arduino Duemilanove (168 veya 328), Uno ve Mega (1280/2560) ile uyumludur ve SD kitaplığı kullanılarak erişilebilir
  • Wiznet W5100 hem TCP hem de UDP kapasitesine sahip bir ağ (IP) yığını sağlar
  • Dört eşzamanlı soket bağlantısını destekler
  • Arduino Ana sürümünün tüm versiyonuna uyar, 2009, UNO, mega 1280, mega 2560
  • Öğe boyutu: 73 * 53 * 23mm
  • Net ağırlık: 31g
Arduino Ethernet Shield Montajlı
Arduino Ethernet Shield Montajlı

Ethernet Shield’ ı Arduino üzerine yukarıdaki gibi takıp ethernet kablosu ile bilgisayarınıza bağlayın. Aynı şekilde Arduino’yu programlamak için de USB kablosunu takın. Aşağıdaki kodu Arduino IDE nize yazın ve yükleyin.

// www.kaizen40.com

#include <SPI.h>
#include <Ethernet.h>

byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };                      // istenilen bir numara yazılabilir ama diğer cihazlarla çaışmaması gerek
IPAddress ip(xxx,xxx,1,1);                                              // laptopa bağlanacaksa onun ki ile çakışmayacak bir numara
IPAddress gateway(xxx,xxx,0,1);                                           // varsayılan ağ geçidi, laptop direk bağlanacaksa aynı, modeme bağlanacaksa modeminki ile aynı 
IPAddress subnet(255, 255, 0, 0);                       
IPAddress myDns(xxx,xxx,1,1);                                            // bu adres internete çıkmak için yazıldı

EthernetServer server(23);                                                // telnet defaults to port 23

String inputStringPc = "";
boolean sendToPc = false;

//---------------------- BAŞLANGIÇ AYARLARI ------------------------------//
void setup()
{
  Ethernet.begin(mac, ip, myDns, gateway, subnet);                        // ethernet shield' ı başlat
  server.begin();                                                         // server' ı başlat

  //Serial.begin(19200);                                                  // seri portu başlat
  //delay(1000);

  //Serial.println(Ethernet.localIP());                                   // local ip yi serial' a yaz
  
}

//-------------------------- ANA PROGRAM ---------------------------------//
void loop()
{
  EthernetClient client = server.available();                             // client bağlanmasını bekle
  
  while (client.available())                                              // bufferda okuacak veri olduğu sürece tek tek byte ları oku
  {
    //delay(1);                                                           // verinin tamamının gelmesini bekle
    char inChar = client.read();                                          // tek bir byte oku
    inputStringPc += inChar;

    if(inChar == 'x')                                                     // x karakteri geldiğinde bilgisayara gönder
    {
      sendToPc = true;
      server.write("www.kaizen40.com");
    }       
  }
}

 

Bir cevap yazın

E-posta hesabınız yayımlanmayacak.

This site uses Akismet to reduce spam. Learn how your comment data is processed.