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.
Ö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
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"); } } }
0 yorum