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?
 

Forum istatistikleri

Konular
129,829
Mesajlar
930,556
Kullanıcılar
452,656
Son üye
kontrolkalemi355
Geri
Üst