C# arayüzü ile arduino çıkış verme

Katılım
1 Eyl 2014
Mesajlar
49
Puanları
1
Yaş
33
Konum
Adana
Arkadaşlar merhabalar

Bitirme ödevim olarak bilgisayardan uzaktan kumandalı araba kontrol etme projesini aldım.
Projemde arduino bilgisayara bağlı olacak.C# dan gelen bilgi arduino üzerinden verici devreye gidecek.Verici devre bilgiyi araba üzerindeki alıcı devreye gönderecek.Arduino usb ile bilgisayara bağlı olacak.
Ancak C# arayüzünden gelen bilgiyi arduino görmüyor.

Bu sorunumla ilgili yardımcı olursanız çok sevinirim.

İyi Çalışmalar
 
usb ile bilgisayara bağlıyoruz.C# tan da COM aracılığı ile bilgi gitmesini sağlıyoruz.
 
Yani seri haberlesme
Internetten c# arduijo serial communication diye aratirsan bircok ornek mevcut
Ayrica youtube dada var
 
Zaten araştırdım o dediklerini. Şuan elimde bir arayüz var c# ta yazılmış. C# programlamam o kadar iyi değil uğraştım ama bi türlü yapamadım.
 
Kodlarını paylaşırsan yardımcı olmaya çalışırım
 
Bu c# kodu. Arduino için de okuma programı atıyorum içine string okuması için. benim yön tuşlarım W A S D bunlara bastığım da arduino bilgi görmüyor.

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO.Ports;

namespace ArduinoKontrol
{
public partial class Form1 : Form
{

delegate void SetTxt(string text);
bool kontrol = false;//seri haberlesme baslama durma
string[] ports = SerialPort.GetPortNames();
public Form1()
{
InitializeComponent();

kombo_guncelle();

}
private void kombo_guncelle()
{
foreach (string prt in ports)
{
comboBox1.Items.Add(prt);
}
}
private void serihab_kur(string kom)
{
arduino_port1 = new SerialPort(kom, 9600);
label5.Text = "Seri haberleşme " + kom + " bağlantısı ile kuruldu";
}

private void button1_MouseDown(object sender, MouseEventArgs e)
{
ileri_bas();
}

private void button1_MouseUp(object sender, MouseEventArgs e)
{
ileri_brak();
}

private void button2_MouseDown(object sender, MouseEventArgs e)
{
sol_bas();
}

private void button2_MouseUp(object sender, MouseEventArgs e)
{
sol_brak();
}

private void button3_MouseDown(object sender, MouseEventArgs e)
{
geri_bas();
}

private void button3_MouseUp(object sender, MouseEventArgs e)
{
geri_brak();
}

private void button4_MouseDown(object sender, MouseEventArgs e)
{
sag_bas();
}

private void button4_MouseUp(object sender, MouseEventArgs e)
{
sag_brak();
}


private void ileri_bas()
{

try { if (kontrol) { arduino_port1.Write("ileribas"); } }
catch { MessageBox.Show("Seri Port Bulunamadı"); }
pictureBox1.Image = ArduinoKontrol.Properties.Resources.led_on_hi;
}
private void ileri_brak()
{
try { if (kontrol) { arduino_port1.Write("ileridur"); } }
catch { MessageBox.Show("Seri Port Bulunamadı"); }
pictureBox1.Image = ArduinoKontrol.Properties.Resources.led_on_lo;
}

private void sol_bas()
{
try { if (kontrol) { arduino_port1.Write("solbas"); } }
catch { MessageBox.Show("Seri Port Bulunamadı"); }
pictureBox2.Image = ArduinoKontrol.Properties.Resources.led_on_hi;
}
private void sol_brak()
{
try { if (kontrol) { arduino_port1.Write("soldur"); } }
catch { MessageBox.Show("Seri Port Bulunamadı"); }
pictureBox2.Image = ArduinoKontrol.Properties.Resources.led_on_lo;
}

private void geri_bas()
{
try { if (kontrol) { arduino_port1.Write("geribas"); } }
catch { MessageBox.Show("Seri Port Bulunamadı"); }
pictureBox3.Image = ArduinoKontrol.Properties.Resources.led_on_hi;
}
private void geri_brak()
{
try { if (kontrol) { arduino_port1.Write("geridur"); } }
catch { MessageBox.Show("Seri Port Bulunamadı"); }
pictureBox3.Image = ArduinoKontrol.Properties.Resources.led_on_lo;
}

private void sag_bas()
{
try { if (kontrol) { arduino_port1.Write("sagbas"); } }
catch { MessageBox.Show("Seri Port Bulunamadı"); }
pictureBox4.Image = ArduinoKontrol.Properties.Resources.led_on_hi;
}
private void sag_brak()
{
try { if (kontrol) { arduino_port1.Write("sagdur"); } }
catch { MessageBox.Show("Seri Port Bulunamadı"); }
pictureBox4.Image = ArduinoKontrol.Properties.Resources.led_on_lo;
}







private void button1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyValue == 87) { ileri_bas(); }
if (e.KeyValue == 65) { sol_bas(); }
if (e.KeyValue == 83) { geri_bas(); }
if (e.KeyValue == 68) { sag_bas(); }
label5.Text = e.KeyValue.ToString();
}

private void button1_KeyUp(object sender, KeyEventArgs e)
{
if (e.KeyValue == 87) { ileri_brak(); }
if (e.KeyValue == 65) { sol_brak(); }
if (e.KeyValue == 83) { geri_brak(); }
if (e.KeyValue == 68) { sag_brak(); }
}

private void button2_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyValue == 87) { ileri_bas(); }
if (e.KeyValue == 65) { sol_bas(); }
if (e.KeyValue == 83) { geri_bas(); }
if (e.KeyValue == 68) { sag_bas(); }
label5.Text = e.KeyValue.ToString();
}

private void button2_KeyUp(object sender, KeyEventArgs e)
{
if (e.KeyValue == 87) { ileri_brak(); }
if (e.KeyValue == 65) { sol_brak(); }
if (e.KeyValue == 83) { geri_brak(); }
if (e.KeyValue == 68) { sag_brak(); }
}

private void button3_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyValue == 87) { ileri_bas(); }
if (e.KeyValue == 65) { sol_bas(); }
if (e.KeyValue == 83) { geri_bas(); }
if (e.KeyValue == 68) { sag_bas(); }
label5.Text = e.KeyValue.ToString();
}

private void button3_KeyUp(object sender, KeyEventArgs e)
{
if (e.KeyValue == 87) { ileri_brak(); }
if (e.KeyValue == 65) { sol_brak(); }
if (e.KeyValue == 83) { geri_brak(); }
if (e.KeyValue == 68) { sag_brak(); }
}

private void button4_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyValue == 87) { ileri_bas(); }
if (e.KeyValue == 65) { sol_bas(); }
if (e.KeyValue == 83) { geri_bas(); }
if (e.KeyValue == 68) { sag_bas(); }
label5.Text = e.KeyValue.ToString();
}

private void button4_KeyUp(object sender, KeyEventArgs e)
{
if (e.KeyValue == 87) { ileri_brak(); }
if (e.KeyValue == 65) { sol_brak(); }
if (e.KeyValue == 83) { geri_brak(); }
if (e.KeyValue == 68) { sag_brak(); }
}

private void button5_Click(object sender, EventArgs e)
{
try
{
if (kontrol) { kontrol = false; arduino_port1.Close(); label5.Text = "Haberleşme Durdu"; pictureBox5.Image = ArduinoKontrol.Properties.Resources.led_on_lo; }
else { kontrol = true; serihab_kur("COM20"/*comboBox1.SelectedItem.ToString()*/); arduino_port1.Open(); label5.Text = "Haberleşme Başladı"; pictureBox5.Image = ArduinoKontrol.Properties.Resources.led_on_hi; }
}
catch { MessageBox.Show("Seri Port Bulunamadı"); }
}

private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
try { arduino_port1.Close(); }
catch { }
}

private void comboBox1_MouseMove(object sender, MouseEventArgs e)
{
ports = SerialPort.GetPortNames();
}



private void arduino_port1_DataReceived(object sender, SerialDataReceivedEventArgs e)
{

listBox1.Items.Add(arduino_port1.ReadExisting());
}

private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{

}


}
}
 
Kodlarını inceledim de aklıma şöyle bir soru geldi
Bağlantı başarıyla kuruldu mesajı alıyor musun?
 
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için onları kabul etmelisiniz. Daha fazla bilgi edin…