Arduino - Csharp Veri Gönderip Alma (Byte Olarak)


Arduino'dan bilgisayarınıza USB kablo veya kablosuz şekilde aşşağıdaki kod ile veri gönderebilirsiniz. Aynı şekilde bilgisayardan da bu veriyi alıp bir programa yazdırabilirsiniz. Bu işlem için HEX şeklinde veri alıp vermek byte yığını oluşmaması için daha verimlidir.

void setup() {
  Serial.begin(9600);
}

void loop() {
  String deger = "$66#"+(String)random(0,60)+"'"+(String)random(0,60)+"'"+(String)random(0,60)+"'"+(String)random(0,60)+"'"+(String)random(0,60)+"'"+(String)random(0,60)+"'"+(String)random(0,60)+"@";
  stringYazdir(deger);
  Serial.println();
}

void stringYazdir(String veri) { 

  for (int i = 0; i < veri.length(); i++)
  {
    Serial.write(veri[i]); 
  }

}

Yukarıdaki kod ile arduino'dan veri gönderdiğimize göre bilgisayardan da Csharp yazılımı ile veri alalım. Csharp üzerinde veri alıp grafiklere vs. işleme yapabilirsiniz. Bu işlem için serialportkütüphanesini kullanabilirsiniz. Fakat ben ayrı bir kütüphane vereceğim. Bu kütüphaneyi yazılımınıza import etmeniz gerekmektedir.
Sunucudan dosya indirme izniniz yok
dosyayı indirip form'unuzun içerisine aktarın. (Solution Exploler kısmında projenize sağ tıklayın ekle diyip var olan öğe ekleyi seçipzip içerisindeki cs dosyasını seçiniz.)
Com portunuzu açmak için gerekli kodlar:
using PCComm; // EN ÜST KISIMDA KAYNAKLARA EKLİYORUZ HATA ALDIĞINIZDA HATANIN DEVAMINA GİDEREK KURULUM YAPIN

//class'ınızı açtıktan sonra en üstüne de
CommunicationManager serialPort1 = new CommunicationManager();
//değerini ekleyerek serialPort1 değişkenini tanımlayalım.

serialPort1.PortName = "COM3"; // COM3 e bağlı cihaza bağlanmak istediğinizi belirtiyorsunuz.
serialPort1.Parity = "None";
serialPort1.StopBits = "One";
serialPort1.DataBits = "8";
// Klasik haberleşme standartları
serialPort1.BaudRate = "9600"; // Arduino cihazımızda 9600 baudrate olarak belirlemiştik onu kullanıyoruz.
serialPort1.textim = textBox1; // Sistemde yazıların nereye yazılacağını belirtiyoruz.
serialPort1.CurrentTransmissionType = PCComm.CommunicationManager.TransmissionType.Hex; //Hex şeklinde veri alacağımızı belirtiyoruz.
serialPort1.OpenPort();

"serialPort1" değişkeni tanımlanacak kısım: 


Ziyaretçi, yorum yapılsın mı?
İsim:*
E-Mail:


[not-allow-comm]
[/not-allow-comm]

Dikkat!

Aşağıdaki bağlantıdaki makaleye göz atın.

Site Kuralları ve Engellenme Sonrası
İstatistik
File engine/modules/zpstats.php not found.
Sıkça Sorulan Sorular
Video Trafiği
Etiketlere göre ara