Bir Arduino'dan diğerine veri aktarma

Kapat
X
 
  • Filtre
  • Zaman
  • Gösterim
Clear All
yeni mesajlar
  • ozkandonmez
    Administrator
    • 30-12-2002
    • 47394

    Bir Arduino'dan diğerine veri aktarma

    screenshot_3_7bAq34eY2J.jpg


    PROJE HAKKINDA

    Bu projenin amacı basittir: Verilerin bir Arduino kartından diğerine nasıl aktarılacağını anlamak. Bu durumda, aktarılacak değer, ilk Arduino kartına bağlı bir potansiyometreden geliyor.
    Değer belirli bir eşiği geçerse, ikinci Arduino kartına bağlı LED'in yanmasını sağlayacağız.


    Bir Arduino kartından diğerine nasıl değer aktarılır?

    Yukarıda belirtilen hedefe ulaşmak için uygulanabilecek birçok farklı protokol vardır. Burada I2C protokolünü ana yazıcı / yardımcı alıcı konfigürasyonunda kullanacağız.



    I2C protokolü nedir?

    Basitçe söylemek gerekirse, I2C iletişim protokolünde iki cihaza, iki hat, bir veri hattı ve bir saat hattına bağlanan bir master ve slave cihazına sahipsiniz.
    Arduino Uno'da, veri hattı Analog pin 4 (A4) ve saat hattı Analog pin 5'tir (A5). Ancak bu, farklı board lar için farklıdır.

    Saat pimi alçaktan yükseğe çıktığında, bir veri biti veri pimi ile aktarılır. Slave kartı daha sonra aynı veri pimi ile veri geri gönderebilir veya bir görevi gerçekleştirebilir (bizim durumumuzda olduğu gibi). Bununla birlikte, ilk sekiz bit, master'ın değerleri gönderdiği slave Arduino kartının adresi için ayrılmıştır.



    Proje nasıl çalışır ve ne işe yarar?

    Bağlı olan bir potansiyometrenin değerini elde etmek için ana Arduino kartında analog okuma kullanıyorum. Sonra bu değer köle Arduino Kartına aktarılır ve eğer bir eşiğin üstünde ise, köle Arduino'ya bağlı LED yanar.


    Bağlantılar


    Bağlantılar için yüklenen Fritzing dosyasına bakın.

    İki panelin ortak bir şase bağlantısına sahip olması gerekir, bu nedenle şaseleri ( her iki panelden birbirine bağlayın.



    whatsapp_image_2019-06-24_at_18_01_38_ExCunEcUj8.jpeg

    Potansiyometre yeteri kadar açılmamış halde led ışık yanmayacak.



    i2c_on_bofTNN07Bq.jpg


    Potansiyometre yeteri kadar açıldığında led lamba yanacak.



    SONUÇ

    I2C iletişimi için özellikle IoT (Nesnelerin İnterneti) alanında birçok uygulama vardır. Bunun dışında, belirli bir proje için bir pimin tükenmesi ve birden fazla panoya sahip olması durumunda, bu da kullanılabilir.



    Code:
    //Code for the Master board
    #include<Wire.h>//This library is used for I2C communication
    int x;
    void setup() {
      Wire.begin(); 
      Serial.begin(9600);
    }
    void loop() {
      x = analogRead(A0);//Reading value from Potentiometer
      x/=4;
      Wire.beginTransmission(9);//9 here is the address of the slave board 
      Wire.write(x);//Transfers the value of potentiometer to the slave board            
      Wire.endTransmission(); 
      Serial.print(x);
      delay(1000);
    }
    
    //Code for the slave board
    #include<Wire.h
    int x;
    void setup() {
      pinMode (13, OUTPUT);//Connect LED to pin 13
      Wire.begin(9);//9 here is the address(Mentioned even in the master board code) 
      Wire.onReceive(receiveEvent);
      Serial.begin(9600);
    }
    void receiveEvent(int bytes) {
      x = Wire.read();//Receive value from master board
      Serial.print(x);
    }
    void loop() {
      if (x > 88) {//I took the threshold as 88,you can change it to whatever you want
        digitalWrite(13, HIGH);
        delay(200);
      }
      else{
        digitalWrite(13, LOW);
        delay(400);
      }
    }
    Ekli Dosyalar
    Üyelere Özel Konuları Görebilmek İçin Lütfen ÜYE GİRİŞİ Yapınız



    HAYDI IPTV YAPALIM

    TBS 6991 Dual Tuner Dual CI Tv kartı linux sürücü yükleme

    LÜTFEN OKUYUN

İşlem Yapılıyor
X