Robotik Kodlama

Robotik Kodlama
Ana Sayfa

İLGİNİZİ ÇEKEBİLECEK LİNKLER :

w5100 etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
w5100 etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

2 Mayıs 2021 Pazar

Ethernet Shield W5100 ile Arduino Sunucuya nasıl veri gönderilir ?

 

Ethernet Shield Arduino Sunucuya nasıl veri gönderilir ?


Ethernet'in çalışmasını ve Arduino ile nasıl kullanıldığını öğreneceğiz? Ethernet ve Arduino kullanarak bir proje yapacağız. Gerçek hayattaki nesneleri kontrol etmek için Ethernet üzerinden iletişim kuracağız. 

Arduino ile arayüz oluşturan ethernet modülü

Arduino ile arayüz oluşturan ethernet modülüne giriş

Geleneksel Ethernet, saniyede 10 megabit hızında veri aktarımlarını destekler. İhtiyaçlar zamanla geliştikçe, Hızlı Ethernet ve Gigabit Ethernet için endüstri tarafından ek yeni Ethernet özellikleri geliştirilmiştir. Hızlı internet 100Mbps'ye kadar, Gigabit Ethernet 1000Mbps hıza sahiptir. Ethernet kabloları da belirli standartlar için hazırlanmıştır. CAT 5, hem geleneksel hem de Hızlı Ethernet'i destekleyen en popüler kablodur. CAT 5e ve CAT 6 kabloları Gigabit Ethernet'i destekler. Ethernet kablolarını bir bilgisayara veya başka bir ağ cihazına bağlamak için, bir kişi bir kabloyu doğrudan cihazın Ethernet bağlantı noktasına takar. Ethernet desteği olmayan bazı cihazlar, dongle adı verilen USB - Ethernet Adaptörleri aracılığıyla Ethernet bağlantılarını da destekleyebilir.

Ethernet'in Çalışması:

Ethernet'in çalışması aşamalı bir süreçtir. İnternetin çalışmasında yer alan adımlar aşağıdadır.

  1. Öncelikle kullanıcıların bilgisayar sistemlerinde Ethernet kartı yani ağ arayüz kartına sahip olması, verilerin bir yerden başka bir yere aktarılmasında ana bileşenlerden biridir. Genel olarak Ethernet, verileri farklı veri paketleri biçiminde iletmek için kullanılır, bu nedenle Ethernet ile çalışmak için ana donanım bileşenidir.
  2. İkinci bileşen, Ethernet'in çalışması için önerilen ağ kablosudur. Tek bir kabloda veri aktarımının bağlı olduğu çok sayıda kablo vardır ve bu kablolar aynı zamanda her iki yönde de veri aktarmamızı sağlar.
  3. Ethernet'in çalışmasındaki son adım, verileri bir yerden diğerine iletmektir. Bu amaçla yönlendiriciler kullanılır. Bilgisayarları ağa yönlendirirler ve verileri farklı bilgisayarlar arasında paylaşmaya yardımcı olurlar.
  4. Ethernet bağlantısı olan bilgisayarları internete veya herhangi bir ağ kaynağına bağlayın. Bu durumda Ethernet'in yönlendiricileri modeme bağlanır ve ardından diğer ağa bağlı sistemlerle veri gönderir veya alır.

Arduino için Ethernet Shield

Ethernet Shield, bağlantılar için sağlanan farklı pinlerle birlikte gelir. Bu shield'ı Arduino kartına düzgün bir şekilde yerleştiriyoruz ve Ethernet Portunu internet hizmeti sağlayan yönlendiriciye bağlıyoruz.Ethernet kalkanı 10, 11, 12, 13 pinlerine takılı olduğundan bunlar genel amaçlı giriş çıkış pinleri olarak kullanılamaz.

Arayüzün Devre Şeması 

  1. Ethernet kalkanını yönlendiriciye bağlayın.
  2. 220ohm'luk direnç üzerinden Ethernet Shield'in 8 numaralı pinine led pozitif pini bağlayın.
  3. Negatif LED pinini Ethernet Kalkanının GND'si ile bağlayın.

Not: Programda bağlantınızın ip adresini kullanın ve varsayılan portunuz internet servis sağlayıcısı tarafından bloke edilmişse, yani 80 kendi portunuzu kullanın. Çoğu zaman 80 iyi çalışıyor.

Arduino ile arayüz oluşturma kodu

/*

  Web Server

A simple web server

Circuit:

* Ethernet shield attached to pins 10, 11, 12, 13

*/

//-------------------------------------------------------------------------------------------------------

#include <SPI.h>

#include <Ethernet.h>


// Enter a MAC address and IP address for your controller below.

byte mac[] = {0x90, 0xA2, 0xDA, 0x0D, 0x48, 0xD3 };


// The IP address will be dependent on your local network:

// assign an IP address for the controller:


IPAddress ip(192,168,1,2);

IPAddress gateway(192,168,10,1);

IPAddress subnet(255, 255, 255, 0);


// Initialize the Ethernet server library with the port you want to use.

EthernetServer server(80);

String readString;

//-------------------------------------------------------------------------------------------------------

//-------------------------------------------------

// Any extra codes for Declaration :




// Declare Pin 8 as an LED because thats what we will be connecting the LED to.You could use any other pin and would then have to change the pin number.

int led = 8;




//-------------------------------------------------

//-------------------------------------------------------------------------------------------------------

void setup()

{

//-------------------------------------------------




// Extra Set up code:

pinMode(led, OUTPUT); //pin selected to control




//-------------------------------------------------

//-------------------------------------------------------------------------------------------------------

//enable serial data print

  Serial.begin(9600);




  //start Ethernet

  Ethernet.begin(mac, ip, gateway, subnet);

  server.begin();

  Serial.print("Server is at ");

  Serial.println(Ethernet.localIP());

  Serial.println("LED Controller Test 1.0");

}

//-------------------------------------------------------------------------------------------------------

//-------------------------------------------------------------------------------------------------------




void loop()

{

  // listen for incoming clients

  EthernetClient client = server.available();

  if (client)




  {

    Serial.println("new client");




    while (client.connected())

    {

      if (client.available())




      {

        char c = client.read();




        //read char by char HTTP request

        if (readString.length() < 100)




        {




          //store characters to string

          readString += c;

          //Serial.print(c);







          Serial.write(c);

          // if you've gotten to the end of the line (received a newline

          // character) and the line is blank, the http request has ended,

          // so you can send a reply

          //if HTTP request has ended

          if (c == '\n') {

            Serial.println(readString); //print to serial monitor for debuging

//--------------------------------------------------------------------------------------------------------

// Needed to Display Site:

client.println("HTTP/1.1 200 OK"); //send new page

            client.println("Content-Type: text/html");

            client.println();

            client.println("<HTML>");

            client.println("<HEAD>");




//--------------------------------------------------------------------------------------------------------

//-------------------------------------------------




// what is being Displayed :    

       

            client.println("<TITLE>Home Automation</TITLE>");

             client.println("<center>");

            client.println("</HEAD>");

            client.println("<BODY>");

            client.println("<H1>Home Automation Microcontrollerslab.com</H1>");

            client.println("<hr />");

            client.println("<center>");




            client.println("<a href=\"/?lighton\"\">Turn On Light</a>");

            client.println("<br />");

            client.println("<br />");

            client.println("<a href=\"/?lightoff\"\">Turn Off Light</a><br />");    




            client.println("</BODY>");

            client.println("</HTML>");




            delay(1);

            //stopping client

            client.stop();




            //-------------------------------------------------

            // Code which needs to be Implemented:

            if(readString.indexOf("?lighton") >0)//checks for on

            {

              digitalWrite(8, HIGH);    // set pin 8 high

              Serial.println("Led On");

            }

            else{

              if(readString.indexOf("?lightoff") >0)//checks for off

              {

                digitalWrite(8, LOW);    // set pin 8 low

                Serial.println("Led Off");

              }

            }

            //clearing string for next read

            readString="";




            // give the web browser time to receive the data

            delay(1);

            // close the connection:

            client.stop();

            Serial.println("client disonnected");




          }

        }

      }

    }

  }

}

Programı yükledikten sonra Arduino seri monitörden ip adresini kopyalayın ve tarayıcıya yapıştırın. LED'i kontrol etmenizi sağlayan bir html sayfası göreceksiniz.

Uygulamalar:

  1. Ethernet Katman 2 Sanal Özel Ağlar, ağ kontrolünü artırarak mevcut BT altyapısının performansını en üst düzeye çıkarır.
  2. Ethernet'in belirleyici ve dinamik hizmet öznitelikleri, bulut bilişimin kullanılma ve tüketilme biçimine fayda sağlar.
  3. Tüm lokasyonlarda servis standardizasyonu ile birlikte ek performans ve daha yüksek bant genişliği seviyeleri sağlar.
  4. Tüm lokasyonlarda daha iyi şeffaflık, standardizasyon ve daha kolay performans yönetimi sunar.
  5. Video uygulamalarında daha kaliteli hizmet sağlar.
  6. İnternet Protokolü üzerinden Ses, maliyet tasarrufu ile tanınır. Ethernet, kaliteli hizmet seçenekleri ve gelişmiş performans yönetimi sağlar.
  7. Dağıtılmış depolama alanlarında ek performans ve daha yüksek bant genişliği seviyeleri sağlar.
  8. Ethernet bağlantısı, CCTV uygulamalarında gelişmiş hizmet yönetimi sağlayan tutarlı maliyet ve her yerde bulunabilirlik sunar.
  9. Ethernet, iş sürekliliğinin ve felaket kurtarma ağlarının ölçülebilir performans ve esnek bant genişliği seviyeleriyle en iyi şekilde çalışmasını sağlar.
  10. Ethernet, resim arşivleme ve iletişim sistemi dahil olmak üzere dağıtılmış görüntüleme sistemleri için gereken daha yüksek bant genişliğini sağlar.

ANA SAYFAYA DÖN

Bahadır ÖZGEN
Electronic Robotic Coding Research and Development 1975 - ∞
Learn Forever
If you want, let's learn together...
https://roboticcode2020.blogspot.com/
bahadirozgen1975@gmail.com
facebook    robotic.code
instagram    @roboticcode


Sayfalarımı ziyaret ettiğiniz için teşekkür ederim.Bu sitede mevcut olan içerikler kendi oluşturduğum projeler yazı,resim ve videolardan oluşmaktadır.İçerik oluşturmak çok uzun sürdüğü için bazı projelerde yurtdışı kaynaklardan faydalandım.Buradaki amacım ticari değildir.Kaynağı belli olan ve bizim kaynağına ulaşabildiğimiz materyal (yazı, fotoğraf, resim, video v.b.) için ilgili konularda fotoğraflarda logo varsa v.b. not olarak gösterilecektir.Sitemizde yayınlanan tüm içerik, bizim tarafımızdan ve internet üzerinden youtube, facebook ve blog gibi paylaşıma sunulmuş kaynak sitelerden alındığı için, sitemiz yasal yükümlülüğe tabi tutulamaz. Sitemizde telif haklarının size ait olduğu bir içerik varsa ve bunu kaldırmamızı isterseniz, iletişim sayfamızdan bizimle iletişime geçtiğiniz takdirde içerik yayından kaldırılacaktır.Bu konu ve modüller ile uğraşarak, ileride çok güzel makine ve elektronik aletler yapabilirsiniz.

1 Mayıs 2021 Cumartesi

Arduino kullanarak ethernet tabanlı ev otomasyonu projesi - IOT

 

Arduino kullanarak ethernet tabanlı ev otomasyonu projesi - IOT


Arduino kullanarak bir bilgisayarla Seri iletişim IR uzaktan kumanda ve alıcı, Bluetooth , Ses Kontrolü ve GSM tabanlı ev otomasyon sistemi gibi çeşitli yollar kullandım.Şimdi cihazları uzaktan kontrol etmek için Ethernet kalkanı kullanıyorum. Arduino bu projenin beynidir. Ethernet kalkanı, cihazları bir web sayfasından açma ve kapatma talimatı almak için Arduino'yu internete bağlamak için kullanılır. Yani bu ethernet tabanlı ev otomasyonu projesinde, ev cihazlarını dünyanın her yerinden erişilebilen web sunucusu üzerinden kontrol edebileceğiz. 
Ethernet Shield W5100 modülünü kullanacağız.Modülün görünümünü aşağıda görebilirsiniz...


Arduino kullanarak Ethernet tabanlı ev otomasyon projesi

Ethernet tabanlı ev otomasyon projesinin Blok Şemasıarduino blok diyagramı kullanarak ethernet tabanlı ev otomasyonu projesi

Ethernet tabanlı ev otomasyon sistemi için gerekli bileşenler

  • Arduino Uno : Ethernet shield ile uyumluluğundan dolayı Arduino Uno kullanıyoruz, Arduino Mega da kullanabiliyoruz ama Uno harika çalışıyor. Bir projenin prototipini oluştururken çok kullanışlıdır.
  • 4 Kanal Röle Modülü : Bu projede kullandığımız röle modülü HL-54S'dir. Arduino'dan 5 voltluk mantıksal bir sinyal kullanarak açılır ve kapanır. 250V'a kadar alternatif akımı kaldırabilir ve 10A'ya kadar tutabilir. Bu modüllerin 4 rölesi vardır, böylece bir seferde 4 AC cihazı kontrol edebiliriz.
  • Ethernet Shield : Ethernet Shield, Arduino'nuzu internete bir dakikadan daha kısa sürede bağlar. Bu modülü Arduino kartınıza takın, RJ45 kablosuyla ağınıza bağlayın. Bu modül açık kaynak kodludur, tüm belge şemaları Arduino web sitesinde mevcuttur.

Kalkanda bir dizi bilgilendirici LED bulunur:

  • PWR: kartın ve kalkanın çalıştırıldığını gösterir
  • LINK: bir ağ bağlantısının varlığını gösterir ve kalkan veri ilettiğinde veya aldığında yanıp söner
  • FULLD : ağ bağlantısının tam çift yönlü olduğunu gösterir
  • 100M: 100 Mb / sn'lik bir ağ bağlantısının varlığını gösterir (10 Mb / sn'nin aksine)
  • RX: kalkan veri aldığında yanıp söner
  • TX: kalkan veri gönderdiğinde yanıp söner
  • COLL: ağ çakışmaları algılandığında yanıp söner
  • Tutuculu AC ampuller: AC ampuller, cihazları temsil etmek için kullanılır. Çünkü herhangi bir AC projesinin prototipini oluştururken kullanımı kolaydır ve çok kullanışlıdır. Nihai üründe, kontrol etmek için sadece AC soketiyle değiştirin.
  • Fişli AC kablosu: Daha yüksek voltajlarla çalışırken daima kaliteli kablo kullanın. Bant veya ısıyla daralan makaron kullanarak bağlantıları koruyun ve kapatın.
  • Harici 5 Volt besleme: Röleyi açıp kapatmak için harici 5 volt dc besleme kullanılır, aksi takdirde çalışmaz.

Arduino kullanan Ethernet tabanlı ev otomasyon projesinin Devre Şemasıarduino devre şemasını kullanarak ethernet tabanlı ev otomasyon projesi

Bağlantılar:

Çok az bileşen kullandığımız için bağlantı çok kolay. İlk olarak Ethernet shield'ı Arduino Uno üzerine monte edin; Bu shield aynı zamanda Arduino Mega uyumludur, bu nedenle daha fazla cihazı kontrol etmek istiyorsanız bu projede Arduino Mega'yı da kullanabilirsiniz. Şimdi Ethernet kalkanına bir bağlantı yapıyoruz.

  • Röle modülünün Ini1'i Dijital pin 3'e.
  • Röle modülünün Ini2'sini Dijital pin 4'e.
  • Röle modülünün Ini3'ü Dijital pin 5'e.
  • Röle modülünün Vcc'si Arduino'nun 5v'una.
  • Gnd, Arduino'nun zeminine.
  • JDVcc'den harici 5v beslemeye ve toprağa.
  • Ethernet kablosunu kullanarak Wifi'ı Ethernet kalkanına bağlayın.
  • Aletleri şemada gösterildiği gibi bağlayın.

Arduino ile Ethernet tabanlı ev otomasyon projesinin çalışması

Öncelikle Ethernet kalkanı internete bağlanır ve Seri monitörde bir IP adresi görüntüler. Bu IP adresi, cihazları kontrol etmek için web sayfasını açan URL'dir. Bir web sayfasındaki düğmeye bastığımızda ilgili röle açılır ve kapanır. Aşağıdaki kod, bir web sayfasındaki metni görüntülemek ve üzerinde bir düğme yapmak için kullanılır. Aşağıdaki kodu değiştirerek buton üzerindeki metni ve etiketleri değiştirebilirsiniz.sunucu üzerinden arduino kontrolü kullanan ethernet tabanlı ev otomasyonu projesi

client.println("HTTP/1.1 200 OK");

          client.println("Content-Type: text/html");

          client.println();   

          client.print("<center><br><h1>Ethernet based Home Automation</h1><br><br><br><FORM>");

          client.print("<P> <INPUT type=\"submit\" name=\"status\" value=\"S1 ON\">");

          client.print("<P> <INPUT type=\"submit\" name=\"status\" value=\"S1 OFF\">");

          client.print("<P> <INPUT type=\"submit\" name=\"status\" value=\"S2 ON\">");

          client.print("<P> <INPUT type=\"submit\" name=\"status\" value=\"S2 OFF\">");

           client.print("<P> <INPUT type=\"submit\" name=\"status\" value=\"S3 ON\">");

          client.print("<P> <INPUT type=\"submit\" name=\"status\" value=\"S3 OFF\">");

          client.print("</FORM></center>");


Ethernet tabanlı ev otomasyon sistemi kodu

#include <SPI.h>
#include <Ethernet.h>
#include <LiquidCrystal.h>
LiquidCrystal lcd(8,9,10,11,12,13);


byte mac[] = {
0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED};
EthernetServer server(80);


void setup() {
lcd.begin(16, 2);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
digitalWrite(3 ,HIGH);
digitalWrite(4 ,HIGH);
digitalWrite(5 ,HIGH);
lcd.setCursor(0,0);
lcd.print("Ethernet Control");
lcd.setCursor(0,1);
lcd.print(" Home Automation0 ");
delay(2000);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Fan Light TV ");
lcd.setCursor(0,1);
lcd.print("OFF OFF OFF "); 
Ethernet.begin(mac);
server.begin();
Serial.begin(9600);
Serial.println("Server address:");
Serial.println(Ethernet.localIP());


}

void loop() {
EthernetClient client = server.available();
if (client){
boolean currentLineIsBlank = true;
String buffer = ""; 
while (client.connected()){
if (client.available()) {
char c = client.read(); 
buffer+=c; 
if (c == '\n' && currentLineIsBlank) {
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
client.println(); 
client.print("<center><br><h1>Ethernet based Home Automation</h1><br><br><br><FORM>");
client.print("<P> <INPUT type=\"submit\" name=\"status\" value=\"S1 ON\">");
client.print("<P> <INPUT type=\"submit\" name=\"status\" value=\"S1 OFF\">");
client.print("<P> <INPUT type=\"submit\" name=\"status\" value=\"S2 ON\">");
client.print("<P> <INPUT type=\"submit\" name=\"status\" value=\"S2 OFF\">");
client.print("<P> <INPUT type=\"submit\" name=\"status\" value=\"S3 ON\">");
client.print("<P> <INPUT type=\"submit\" name=\"status\" value=\"S3 OFF\">");
client.print("</FORM></center>"); 
break;
}
if (c == '\n') { 
currentLineIsBlank = true;
buffer=""; 
} 
else 
if (c == '\r') { 
if(buffer.indexOf("GET /?status=S1+ON")>=0)
digitalWrite(3, LOW);


if(buffer.indexOf("GET /?status=S1+OFF")>=0)
digitalWrite(3, HIGH); 


if(buffer.indexOf("GET /?status=S2+ON")>=0)
digitalWrite(4, LOW);

if(buffer.indexOf("GET /?status=S2+OFF")>=0)
digitalWrite(4, HIGH); 


if(buffer.indexOf("GET /?status=S3+ON")>=0)
digitalWrite(5, LOW);


if(buffer.indexOf("GET /?status=S3+OFF")>=0)
digitalWrite(5, HIGH); 

}
else {
currentLineIsBlank = false;
} 
}
}
client.stop();
}
}

ANA SAYFAYA DÖN

Bahadır ÖZGEN
Electronic Robotic Coding Research and Development 1975 - ∞
Learn Forever
If you want, let's learn together...
https://roboticcode2020.blogspot.com/
bahadirozgen1975@gmail.com
facebook    robotic.code
instagram    @roboticcode


Sayfalarımı ziyaret ettiğiniz için teşekkür ederim.Bu sitede mevcut olan içerikler kendi oluşturduğum projeler yazı,resim ve videolardan oluşmaktadır.İçerik oluşturmak çok uzun sürdüğü için bazı projelerde yurtdışı kaynaklardan faydalandım.Buradaki amacım ticari değildir.Kaynağı belli olan ve bizim kaynağına ulaşabildiğimiz materyal (yazı, fotoğraf, resim, video v.b.) için ilgili konularda fotoğraflarda logo varsa v.b. not olarak gösterilecektir.Sitemizde yayınlanan tüm içerik, bizim tarafımızdan ve internet üzerinden youtube, facebook ve blog gibi paylaşıma sunulmuş kaynak sitelerden alındığı için, sitemiz yasal yükümlülüğe tabi tutulamaz. Sitemizde telif haklarının size ait olduğu bir içerik varsa ve bunu kaldırmamızı isterseniz, iletişim sayfamızdan bizimle iletişime geçtiğiniz takdirde içerik yayından kaldırılacaktır.Bu konu ve modüller ile uğraşarak, ileride çok güzel makine ve elektronik aletler yapabilirsiniz.

30 Nisan 2021 Cuma

ARDUINO ETHERNET SHIELD W5100 MODÜL

 

ARDUINO ETHERNET SHIELD

Geliştirme kartlarının seçimine geldiğimizde Arduino, uygun maliyetli, açık kaynak kodlu donanım ve yazılım olduğu ve en önemli özelliği genişletilebilir olduğu için aklımızda beliriyor. Arduino'yu bağımsız bir proje olarak kullanabiliriz, ancak internete bağlantı (kablosuz veya kablolu) veya motorlarla arayüz vb. Gibi bazı spesifik özellikler söz konusu olduğunda, kalkan olarak bilinen nispeten pahalı bir adaptör işe yarar. Bu yazıda, Arduino kartına internet bağlantısı sağlayan ETHERNET shield olarak bilinen belirli bir Arduino kalkanını tartışacağız. Arduino ile pin yapılandırması, gereksinimleri, bilgilendirici LED'ler, adreslerin nasıl atanacağı ve son olarak bu kalkanın kullanıldığı bazı projeleri listeleyeceğiz.








ARDUINO ETHERNET SHIELD'A GİRİŞ

Ethernet Shield, Ethernet kütüphanesini kullanarak Arduino kartına internet bağlantısı sağlar. Bu kalkanı internete bağlanmak üzere yapılandırmamıza yardımcı olacak skeçler (IDE'de yazılmış Arduino programı) yazmak için bu Ethernet kütüphanesini kullanabiliriz. Bu shield, Arduino kartlarının hemen hemen tüm versiyonları ile uyumludur. Panomuzun internet bağlantısı sağlayarak dünya çapında veri almasını ve göndermesini sağlar. SD kart seçeneği de mevcuttur ve bu kartı SD kütüphanesini kullanarak yazıp okuyabiliyoruz. Sadece projenizin internete bağlanmasına izin vererek sonsuz sayıda olasılık sağlanır.

Bu kalkan, 16 KB dahili tampon alanına sahip Wiznet W5100 çip Ethernet'e dayanır. Aynı anda 4 soket bağlantısını destekleyebilir. Bu çip, hem internetin taşıma katmanı protokolünü, yani TCP (iletim kontrol protokolü) ve UDP (kullanıcı datagram protokolü) kapasitesine sahip bir ağ IP yığını sağlar. TCP, UDP'ye kıyasla mesajların taşınması için daha güvenilir bir hizmet sağlar ve bu 2 protokolün çok daha fazla özelliği vardır, ancak şu anda bu makaledeki endişemiz bu değil. Sadece bu kalkan aracılığıyla pano internet bağlantımızı sağlamaya odaklandık.

Bu kalkanın yeni sürümü, 32 KB arabellek boyutuna sahip W5500 Ethernet yongasına dayanır, otomatik anlaşmayı destekler ve I2C, UART arayüzünü destekler. Ethernet kalkanını Arduino kartına bağlamak için uzun tel çözgü başlıklarını kullanarak pin düzenini sağlam tutar ve diğer kalkanlar bunun üzerine istiflenebilir.


Arduino Ethernet Shield'i Arduino kartımıza takmamız gerekiyor, ancak aşağıda bazı zorunlu gereksinimler var:

  • Ağa bağlantı için RJ45 kablosu
  • Arduino kartı (elbette. Çünkü bu shield bağımsız bir proje olarak kullanılamaz)
  • 5 V'luk çalışma voltajı Arduino kartı ile sağlanmalıdır.
  • SPI portunda Arduino kartı ile bağlantı kurun
  • Ethernet üzerinden Güç modülü gereklidir (bu modül, aşağıdaki gereksinimleri karşılaması gereken geleneksel çift bükümlü Ethernet kablosundan güç çıkarmak için tasarlanmıştır):
  • Düşük çıkış gürültüsü ve dalgalanma
  • Giriş voltajı: 36 V - 57 V
  • Aşırı yükleme koruması
  • Çıkış voltajı: 9V
  • Çıkış izolasyonuna giriş 1500 V olmalıdır
  • Yüksek verimli DC / DC dönüştürücü
  • 3af uyumlu

Burada dikkat edilmesi gereken önemli bir nokta, Arduino'nun SPI portu üzerinden iletişim kurması nedeniyle hem SD kart hem de W5100'ün SPI veriyolunu paylaşmasıdır, böylece bunlardan yalnızca birini kullanabiliriz. İkisini de kullanmak istiyorsak, karşılık gelen kitaplıklarını kontrol etmeliyiz.











ARDUINO ETHERNET SHIELD üzerindeki BİLGİ LED'leri

Bu kalkan, çok sayıda bilgilendirici LED ile birlikte gelir. Bunlardan bazıları aşağıda listelenmiştir:

  • PWR: Kalkan ve kart gücünün gösterilmesi için.
  • LINK: Ağ bağlantısı varlığının göstergesi için ve veri alındığında veya iletildiğinde yanıp söner.
  • FULLD: Tam çift yönlü ağ bağlantısının göstergesi için
  • 100M: 100 MB / s ağ bağlantısı varlığı için
  • RX: Kalkan veri aldığında yanıp sönmeye başlar
  • TX: Shield veri gönderdiğinde yanıp sönmeye başlar
  • COLL: Ağ çakışmaları tespit edildiğinde yanıp söner

ARDUINO ETHERNET SHIELD ARDUINO BAĞLANTISI

Arduino Uno ile Arduino Ethernet Shield bağlantısı

Ethernet Arduino bağlantısı iki şekilde kullanılabilir:

  • SUNUCU: Arduino'muzun sunucu olarak çalışmasını sağlayabiliriz yani internetten erişilebilir ve Arduino kartımızdan komutlar göndereceğiz. Bu sunucu, örneğin evdeki şeyleri kontrol etmek için birçok şekilde kullanılabilir ve aynı zamanda sensör okumaları gibi bilgileri ve çok daha fazlasını görüntüleyebilir.
  • İSTEMCİ: İstemci temelde sunucuya veri gönderir. Arduino'muzun bir istemci gibi davranması durumunda, verileri sunucuda depolanan veritabanına gönderebilir. Bu tür Arduino istemci modeli, büyük miktarda veriyi işlemenin yanı sıra veri kaydı amacıyla kullanılır.

ARDUINO VE ETHERNET KALKANI BAĞLANTISIArduino Ethernet Shield pin çıkışı

Arduino ve Ethernet shield'ın genel pin konfigürasyonu aşağıda verilmiştir. Bununla birlikte, modelden modele değişebilir, bu nedenle karışıklığı önlemek için bir açıklama da verilir.

  • Arduino iletişimi, ICSP başlığı üzerinden SPI veri yolu kullanılarak yapılır, bu nedenle klasik Arduino modellerinde bu amaçla kullanılan D11, D12, D13 pinleri kullanılır ve Arduino Mega üzerindeki D 50 ve D 52 pinleri aynı amaca hizmet eder.
  • W5100 D için 10 pin kullanılır ve genel amaçlı bir giriş çıkış pinidir. Yani W5100'e gidersek bu pin giriş-çıkış pini olarak kullanılamaz.
  • D 4 pin yine genel amaçlı giriş çıkış pinidir ancak SD kart için kullanılır. SD kart kullanmıyorsak bu pin genel amaçlı giriş çıkış pini olarak kullanılabilir.
  • D 2 pini Arduino kartında INT olarak adlandırılır ve W5100'ün INT pini ile bağlanır.

Donanım SS pini yani pin D 53'ün SPI pini olmasına rağmen W5100 veya SD kartı seçmek için kullanılamadığına, ancak bir çıkış olarak saklanması gerektiğine veya SPI arayüzümüzün çalışmayacağına dair bir ihtiyati tedbir vardır.

Tüm bu noktaları aklımızda tutarak kalkanımızı Arduino kartımızın üzerine monte edebilir ve ardından USB kablosu ile bilgisayarımıza bağlayabiliriz. Eskizimiz (IDE'de yapılan Arduino programı) yüklendiğinde, kartımızı bilgisayardan ayırabilir ve ardından harici bir güç kaynağı kullanarak çalıştırabiliriz.

ARDUINO ETHERNET SHIELD'E ADRES ATAMA

İnternete bağlı her cihaz, ev adreslerimize benzer IP / MAC adresi olarak bilinen bir adrese sahiptir. Tam ev adreslerimiz küresel olarak benzersiz olduğundan, MAC adreslerimiz de benzersizdir. Ağımızı nasıl yapılandıracağımıza bağlı olarak IP adresleri sabitlenebilir veya değiştirilebilir. Bu IP / MAC adreslerinin ayrıntılarına girmeyeceğiz, çünkü endişemiz sadece Arduino'muzun internet bağlantısına sahip olduğunda nasıl bir IP adresi alacağıyla sınırlı. Bu adresler, verilerin başka cihazlardan alınabilmesi veya gönderilebilmesi için ağdaki cihazları tanımlamamıza yardımcı olur.

Cihazları tanımlamak için kullanılan adresler iki türdendir:

  • IP adresi:
  • Mac Adresi

MAC adresi her zaman benzersizdir ve üretim sürecinde her cihaza atanır. Yani cihazımız zaten bir MAC adresine sahip olacak ve bu, panomuza yapıştırılan etikete yazılacaktır. IP adresi ataması için Arduino kartımızı yönlendiricimize bağlayacağız ve yönlendiricimiz otomatik olarak cihazımıza bir IP adresi atayacak ve cihazımız kapatılmadıkça ve kapanana kadar sabitlenecektir. Cihazımız kapatıldıktan sonra aynı IP adresi atama prosedürünü tekrar edeceğimizde farklı bir IP adresi alabilir veya alamayabiliriz. Yönlendiricinin temel amacı, o bölgedeki tüm IP adreslerini yönetmek ve iletişim kurmalarına izin vermektir.

Cihazınıza atanan IP adresini kontrol etmek istiyorsanız, önceden yüklenmiş "DHCP Adres Yazıcısı" taslağını kullanın ve ardından seri monitörü açın. IP adresiniz bunun üzerine yazdırılacaktır.

ARDUINO ETHERNET SHIELD ile yapabilecekleriniz

Ethernet shield kullanılarak yapılan projelerden bazıları aşağıda listelenmiştir:

  • Arduino Ethernet shield kullanan Ethernet tabanlı ev otomasyon sistemi 
  • Sohbet sunucusu
  • Homeotic (Ev otomasyon sistemi)
  • Web istemcisi
  • Otomatik Bahçe
  • Web sunucusu
  • Barometrik basınç web sunucusu
  • Web istemcisi tekrar ediyor
  • UDP gönder dizeyi alır
  • UDP NTP istemcisi
  • DHCP adres yazıcısı
  • Telnet istemcisi
  • DHCP sohbet sunucusu

Umarım bu makaleyi beğenirsiniz. 


ANA SAYFAYA DÖN

Bahadır ÖZGEN
Electronic Robotic Coding Research and Development 1975 - ∞
Learn Forever
If you want, let's learn together...
https://roboticcode2020.blogspot.com/
bahadirozgen1975@gmail.com
facebook    robotic.code
instagram    @roboticcode


Sayfalarımı ziyaret ettiğiniz için teşekkür ederim.Bu sitede mevcut olan içerikler kendi oluşturduğum projeler yazı,resim ve videolardan oluşmaktadır.İçerik oluşturmak çok uzun sürdüğü için bazı projelerde yurtdışı kaynaklardan faydalandım.Buradaki amacım ticari değildir.Kaynağı belli olan ve bizim kaynağına ulaşabildiğimiz materyal (yazı, fotoğraf, resim, video v.b.) için ilgili konularda fotoğraflarda logo varsa v.b. not olarak gösterilecektir.Sitemizde yayınlanan tüm içerik, bizim tarafımızdan ve internet üzerinden youtube, facebook ve blog gibi paylaşıma sunulmuş kaynak sitelerden alındığı için, sitemiz yasal yükümlülüğe tabi tutulamaz. Sitemizde telif haklarının size ait olduğu bir içerik varsa ve bunu kaldırmamızı isterseniz, iletişim sayfamızdan bizimle iletişime geçtiğiniz takdirde içerik yayından kaldırılacaktır.Bu konu ve modüller ile uğraşarak, ileride çok güzel makine ve elektronik aletler yapabilirsiniz.