Arduino ve C# haberleşme

bassislife

Üye
Katılım
30 Kas 2018
Mesajlar
10
Puanları
1
Yaş
29
Konum
Izmir
Merhabalar. Benim öğrenmek istediğim şey arduino ve c# kullanalarak bir led kontrol etmekle alakalı. Led yakmak için c#'dan arduinoya 1 ve 0 bilgilerini yollayarak kontrolü sağlayabiliyorum. Ancak benim yapmak istediğim arduinoda giriş ve çıkışları tanımladıktan sonra geri kalan tüm işi c#'a yaptırmak. Benim yazdığım programın arduino kısmı şu şekilde idi;

void setup()
{
pinMode(13,OUTPUT);
Serial.begin(9600);
}

void loop()
{
if(Serial.available()>0)
{
String temp=Serial.readString();
if(temp=="1")
{
digitalWrite(13,HIGH);
}
else if(temp=="0")
{
digitalWrite(13,LOW);
}
}
}

Buradaki "digitalWrite(13,HIGH);" ve " digitalWrite(13,LOW);" işlemlerini arduino IDE değilde c#'a yaptırmak istiyorum. C# kısmı da fotoğraf olarak yüklüyorum. Umarım anlatabilmişimdir. Yardımlarınız için şimdiden teşekkür ederim.

55023


55024
 
Kabaca yaziyorum

port.write(" digitalWrite(13,HIGH)"); yaparsın arduino tarafında gelen komutun içinden 13 ve HIGH kısmını çeşitli string komutlarıyla ayıklayarak ne geldiğine bakarsın

Port=13
Status = HIGH

if (Status==HIGH) digitalWrite(Port,HIGH);

if (Status==LOW) digitalWrite(Port,LOW);

Anca bu mantıkta yapılır.
 
Kabaca yaziyorum

port.write(" digitalWrite(13,HIGH)"); yaparsın arduino tarafında gelen komutun içinden 13 ve HIGH kısmını çeşitli string komutlarıyla ayıklayarak ne geldiğine bakarsın

Port=13
Status = HIGH

if (Status==HIGH) digitalWrite(Port,HIGH);

if (Status==LOW) digitalWrite(Port,LOW);

Anca bu mantıkta yapılır.
Cevabınız için teşekkürler. Ama bu şekilde yaparsak işi yinede arduino yapmış olmaz mı ?
 
Başka türlüsü mümkün değil.

C# ile uğraşan birinin işlemci mantığını biliyor olması lazim. İşlemci digitalwrite dan anlamaz, bunun compile edilip makina koduna çevrilmiş halinden anlar. Dediğini yapabilmek için makina kodlarını atman lazım. Aldığı kodları hafızada biyere yazacak, sonrasında jump ile instruction pointeri o komutların olduğu yere konumlandırma lazım, sonrasında da ana programa geri dönecek
 
Selamlar,

C# üzerinden bu işi çözmek için Arduino IDE'sinde örnekler kısmında da bulabileceğin Firmdata yazılımları var. Dosya yolunu resim ile koydum. Bu yazılım belli bir data yapısı ile arduinoya gelen serial bilgisi kendi portlarını ve özelliklerini dışarıdan yönetmene yarar. Tam olarak istediğin şey. Blog sayfamda henüz buna yer veremedik maalesef, instructables üzerinde yapılmış örneği mevcut.

Arduino Standart Firmdata örneği;
https://www.instructables.com/id/Arduino-Installing-Standard-Firmata/

C# - Arduino ikilisi ile ilgileniyorsan, blogta yazdığımız C# içeriklerine göz atabilirsin. Şuan serye yeni başladık, güncellemeler yapıyoruz sürekli.

https://maker.robotistan.com/kategori/arduino/arduino-c-sharp-projeleri/

Aklına takılan kısımlarda yine yardımcı olmak isterim.
 

Ekli dosyalar

  • firmdata.png
    firmdata.png
    48.9 KB · Görüntüleme: 12
Selamlar,

C# üzerinden bu işi çözmek için Arduino IDE'sinde örnekler kısmında da bulabileceğin Firmdata yazılımları var. Dosya yolunu resim ile koydum. Bu yazılım belli bir data yapısı ile arduinoya gelen serial bilgisi kendi portlarını ve özelliklerini dışarıdan yönetmene yarar. Tam olarak istediğin şey. Blog sayfamda henüz buna yer veremedik maalesef, instructables üzerinde yapılmış örneği mevcut.

Arduino Standart Firmdata örneği;
https://www.instructables.com/id/Arduino-Installing-Standard-Firmata/

C# - Arduino ikilisi ile ilgileniyorsan, blogta yazdığımız C# içeriklerine göz atabilirsin. Şuan serye yeni başladık, güncellemeler yapıyoruz sürekli.

https://maker.robotistan.com/kategori/arduino/arduino-c-sharp-projeleri/

Aklına takılan kısımlarda yine yardımcı olmak isterim.
Sayenizde sorunum çözüldü teşekkür ederim.
 

Forum istatistikleri

Konular
129,852
Mesajlar
930,756
Kullanıcılar
452,706
Son üye
nurbay aktaş

Yeni konular

Çevrimiçi üyeler

Geri
Üst