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

Merhabalar,
Uzun bir süredir arduino ve ethernet shield kullanımı ile ilgili sorular almaktayız.Bu yazımızda arduino ethernet kütüphanesi nasıl kullanacağımızdan ve bunu c# tarafında nasıl okuyabileceğimizden bahsedeceğiz

Arduino IDE yi açtığınızda yukarıdaki file menusunu sırası ile examples + ethernet + chatserver olarak ilerleyin.Aşağıdaki programı göreceksiniz.



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


byte mac[] = { 
  0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
IPAddress ip(192,168,1, 177); //ip adresimiz



// 80 portu açıldı
EthernetServer server(80);
boolean alreadyConnected = false; //bağlı bir client varmı yok mu ?

void setup() {
  // ethernet bağlatısını sağlıyoruz
  Ethernet.begin(mac, ip);
  // bilgisayarı C# tarafından dinliyoruz
  server.begin();
 // Seri haberleşme başlatıldı.
  Serial.begin(9600);
  Serial.print("Chat server address:"); //Serial consola server adresi yazıldı
  Serial.println(Ethernet.localIP());
}

void loop() {
  // client için bekleniyor
  EthernetClient client = server.available();

  //eger ki clienttan haber gelirse merhaba de
  if (client) {
    if (!alreadyConnected) {
      // inputu temizle
      client.flush();    
      Serial.println("We have a new client");
      client.println("Hello, client!"); 
      alreadyConnected = true;
    } 

    if (client.available() > 0) {
      // clienttan gelen verileri oku
      char thisChar = client.read();
      //clienttan ne geliyorsa aynısı geri ilet
      server.write(thisChar);
      
      // clienttan gelen veriyi aynı şekilde seri consola yaz.
      Serial.write(thisChar);
    }
  }
}

Peki biz ne gibi bir değişiklik yaparak C# tarafında arduinodan gelen verileri okuruz?.Örnek olarak 1 nolu analog pinimizde bir potansiyometre bağlı olsun ve ADC den (analog - dijital çevirici ) gelen 0-1023 bilgi aralığındaki değeri C# a gönderelim.

Yukarıdaki örnek kodumuzdaki

  if (client.available() > 0) {
      // clienttan gelen verileri oku
      char thisChar = client.read();
      //clienttan ne geliyorsa aynısı geri ilet
      server.write(thisChar);
      
      // clienttan gelen veriyi aynı şekilde seri consola yaz.
      Serial.write(thisChar);
    }

Aralığında oynamalar yapacağız nasıl mı ?

  if (client.available() > 0) {
      // cleinttan gelen sensör okuma isteğini al
      char thisChar = client.read();
      if(thisCaher=="1") //1. analog pin okuma isteği geldi
      {
         server.write(analoRead(1));
      }
    }

Yukarıdaki kırmızı alanlar değiştirdiğimiz kısımlar.C# tarafında neler yapmamız gerekiyor.Socket programming ile tcp bir bağlantı sağlayacağız ve C# tarafında tcp client oluşturmamız gerekiyor.Bunu oluşturduktan sonra server olan arduinomuz ve client olan ve pc mizde çalışan C#programımız arasında tcp bağlatısı yardımı ile veri aktarımı sağlayacağız.

Özetlersek:

arduino ve bilgisayar programı arasında haberleşmeyi harfler yardımı ile sağlayacağız 1-1nolu analog pin,2-2nolu analog pin oku gibi

Yine digital çıkışlarımıza değer verdirebiliriz."A" gönder 1 nolu dijital 1 high olsun, "a" gönder 1 nolu dijital pin low konumuna geçsin gibi.

Bir sonraki yazımızda işin C# tarafına ve socket programlamaya değineceğiz .

Yazar:Caner ÇAKAR


Merhabalar bu bölümde henüz tamamlanmamış olan bir projemden bahsetmek istiyorum

Arduino ve C# kullanarak basit bir kullanıcı arayüzlü ve verileri log tutabilen bir sistem yaratmaya çalışıyorum
Nedir bu sistemin alt yapısı

Arduino ile birlikte ethernet shield
dht11 sıcaklık ve nem sensoru
c# kullanıcı arayuzu ve log olusturma

yazılımda neler kullanıldı ya da kullanılacak

socket programming ethernet üzerinden haberlesme için
loglar için sql database











Günümüz teknolojileri artık giyilebilir uygulamalar olarak önü açık sekilde ilerlemekte

google gozlukleri ve akıllı saatler derken ilerleyen teknoloji ile birlikte giyilebilir teknolojiler ya da teknolojik aksesuarlar ilerleyen yıllarda hayatımızın bir parcası olma yolunda

bizde buna kayıtsız kalmayalım dedik ve giyilebilir bir proje üretmenize olanak saglayacak bir ürünü karsınıza cıkarıyoruz

MicroView

artık hemen hemen herkesin duydugu ve markalasmıs olan arduinodan da bu beklenirdi

sadece bir cip buyuklugundeki arduino uzerinde oled ekranla birlikte geliyor Firma ilk cıkardıgında ilk bir kac gunluk satıs hedefi olarak 25bin$ hedeflemis ancak bu rakan %823 fazlası ile gerceklesmis ve 204bin$ üzerinde bir satıs basarısı yakalamıs

olayın guzelligi içerisinde oled ekranı kullanabilecegimiz kutuphaneleri ile birlikte geliyor buda bizim istegimiz grafigi ya da animasyonu ekrana yansıtmamızı kolaylastırıyor











bu ornekte ısık siddeti ölçümü yapılarak ekrana yansıtılmıs








bu örnekte ise sıcaklık ölçer yani termometre dijital ekran üzerinde olusturulmus









bu örnekte ise hava durumu uygulaması gerceklestirilmis




cihaz özellikleri:




64x48 oled ekran
atmega 328p işlemci
çalışma voltajı 5Vdc

12 adet dijital giriş cıkıs bunlardan 3 ü pwm olarak da kullanılabilir

6 adet analog pin
32kb flash hafıza
2kb sram
clock speed 16Mhz
ELEKTRO BLOGGER A HOŞGELDINIZ

ARAMA YAP

EN COK OKUNANLAR

- Copyright © ELEKTRO-BLOGGER Blogger