Arduino C# Haberleşmesi

Merhabalar. Ben arduino pro micro kullanarak bir programlanabilir klavye yaptım. Ancak klavyenin yuşlarına c# ile hazırlanmış bir windows uygulamasından atama yapmak istiyorum. Arduinoya bu verileri nasıl gönderebilirim acaba.

1 Beğeni

Arduino’ ya web server , http server kurup C# ile kartın ip adresine aşağıdaki şekilde request gönderebilirsin. Her iki cihazda aynı ağdaysa işin kolay.

var client = new RestClient("Kartın IP adresi");
client.Timeout = -1;
var request = new RestRequest(Method.POST);
request.AddHeader("Content-Type", "application/json");

var body = @"{
" + "\n" +
@"    ""data1"" : 21640,
" + "\n" +
@"    ""data2"" : ""death""
" + "\n" +
@"}";

request.AddParameter("application/json", body,  ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);

Peki bu sayede her bir tuşa atama işlemini nasıl yapıcam

var body parametresi içerisinde json yapısında bir metinde data gönderebilirsniz örneğin :

{
basilanTus : 1 ,
basilmaTarihi: "08.10.2022",
basanKisi :  "MuCoder"
}

bu örnekte 3 adet veri iletmiş oluyoruz. Dilersen sadece basılan tuşu aşağıdaki gibi iletebilirsin.

{ basilanTus : 1  }

basılan tuşa göre oradaki 1 sayısı yerine tuşlara verdiğin numaraları yazacaksın.

Eğer bu klavye bilgisayara usb olarak takılacaksa aşağıdaki videoyu izleyebilirsin. Wifi üzerinden bir haberlerşme söz konusuysa dediklerimi uygulayabilirsin.

Kusuruma bakmayın. Ben bunu web serversiz direk serialport üzerinden tuşlara atama yapmak istiyorum. 0 1 gibi değerleri gönderip mesela bir ledi açıp kapatabiliyorum ancak mesela yaptığım klavyedeki ilk tuşa ctrl+c komutunu vermek istediğimde serialporttan gerekli olan kodu alıp arduinoya tanımlayamıyorum. Gereken kod:
Keyboard.press(KEY_LEFT_CONTROL);
Keyboard.write(‘c’);
Bu kodları c# uygulamamdan alamıyorum. Bir tane textbox içinden ctrl+c metnini arduinoya gönderip arduinonun bunu yukarıdaki kod gibi anlamasını yapabilirsem galiba çözüme ulaşıcam. Ancak bir türlü beceremedim.
Tekrardan çok teşekkür ederim.

Direk arduino ide üzerinden istediğim tuş kombinasyonunu yaptırabiliyorum fakat benim amacım bu kombinasyonları bir windows form uygulamasından arduinoya gönderebilmek

Bu iki makaleyi incelemenizi öneriyorum. Bir tanesi C# ile porta veri göndermeyi diğeri ise Arduino’un gelen portu nasıl okuyabileceği konusunda bilgiler içeriyor.

Yardımlarınız için çok teşekkürler. Takıldığım yerlerde yine buradan güncelleme atarım.

Rica ederim. Bir problem yaşarsan yardımcı olmaya çalışırım.