lostyazilim
tr.link

c# kullanarak devreyi nasıl kontrol edebilirim.

24 Mesajlar 3.603 Okunma
acebozum
tr.link

dadava dadava WM Aracı Kullanıcı
  • Üyelik 10.05.2012
  • Yaş/Cinsiyet - / E
  • Meslek Web Programlama
  • Konum
  • Ad Soyad ** **
  • Mesajlar 114
  • Beğeniler 3 / 24
  • Ticaret 0, (%0)
Merhaba arkadaşlar,

Öncelikle seviyemi anlamanız adına hakkımda biraz bilgi vereyim. Bilgisayar programcılığı okuyorum, 1. sınıfım, hoca bir ödev verdi ve bu ödev bizi fazlasıyla aşıyor. Yapabilirsek yüz alacağız. 1 haftadır araştırıyorum, kayda değer bir şey buldum diyemem. Buraya yazmayı uygun gördüm.

Bir devre yapacağız ve bu devrede 6 led olacak. C# da yazdığımız programda butonlar olacak, bu butonlara basarak ledleri yakacağız. Misal 1. butona bastığımızda 1. led yanacak 2. butona bastığımızda 2. led yanacak gibi bir ödevimiz var.

Devreyi bir şekilde yapabiliriz ama c# da kodları nasıl yazacağız bilmiyorum. 1 haftadır bir sürü koda baktık bir türlü işe yarayacak bir kod bulamadık yada biz araştırmayı bilemedik. Zor bir durumdayım yardımcı olursanız çok sevinirim.

İyi forumlar.
 

 

elektronikssl
webimgo

ozibu51 ozibu51 Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 10.05.2014
  • Yaş/Cinsiyet 34 / E
  • Meslek Öğrenci-Serbest meslek
  • Konum İstanbul Anadolu
  • Ad Soyad O** K**
  • Mesajlar 300
  • Beğeniler 9 / 13
  • Ticaret 3, (%100)
biraz daha detay verebilir misiniz bunun gibi mi ? http://www.youtube.com/watch?v=UjaTdSfs3IM
 

 

dadava dadava WM Aracı Kullanıcı
  • Üyelik 10.05.2012
  • Yaş/Cinsiyet - / E
  • Meslek Web Programlama
  • Konum
  • Ad Soyad ** **
  • Mesajlar 114
  • Beğeniler 3 / 24
  • Ticaret 0, (%0)
Youtube'ye giriş biraz sıkıntı olacak dnsleri bi ayarlayım. Hemen bakıp daha ayrıntılı anlatayım.
 

 

Batuhan Batuhan Kendine webmaster Kullanıcı
  • Üyelik 08.05.2011
  • Yaş/Cinsiyet 28 / E
  • Meslek Öğrenci
  • Konum Ankara
  • Ad Soyad B** B**
  • Mesajlar 3455
  • Beğeniler 783 / 1009
  • Ticaret 1, (%100)
Öncelikle kontrol devresini halletmeniz lazım. Daha sonra C#'ın SerialPort componenti ile seri porttan devreye veri gönderip işlemi gerçekleştirebilirsiniz.
 

 

wmaraci
wmaraci

ozibu51 ozibu51 Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 10.05.2014
  • Yaş/Cinsiyet 34 / E
  • Meslek Öğrenci-Serbest meslek
  • Konum İstanbul Anadolu
  • Ad Soyad O** K**
  • Mesajlar 300
  • Beğeniler 9 / 13
  • Ticaret 3, (%100)

dadava adlı üyeden alıntı

Youtube'ye giriş biraz sıkıntı olacak dnsleri bi ayarlayım. Hemen bakıp daha ayrıntılı anlatayım.


Google Chrome Kullanıyorsanız Zenmate uygulamasını mağazadan ücretsiz indirip kurmanızı tavsiye ederim dns değiştirme uygulamasıdır ve üçretsizdir
 

 

dadava dadava WM Aracı Kullanıcı
  • Üyelik 10.05.2012
  • Yaş/Cinsiyet - / E
  • Meslek Web Programlama
  • Konum
  • Ad Soyad ** **
  • Mesajlar 114
  • Beğeniler 3 / 24
  • Ticaret 0, (%0)

ozibu51 adlı üyeden alıntı

biraz daha detay verebilir misiniz bunun gibi mi ? http://www.youtube.com/watch?v=UjaTdSfs3IM


Evet aynen böyle bir şey yapmak istiyoruz. Bunun c# kodları lazım bide mcp2200 ile mi yaptınız. Nasıl yaptınız anlatır mısınız? Çok şey istiyorum ama varsa c# kodları lazım. C# da yeniyiz hazır kod bulup düzeltmemiz gerekiyor.

Ek Olarak:

Batuhan adlı üyeden alıntı

Öncelikle kontrol devresini halletmeniz lazım. Daha sonra C#'ın SerialPort componenti ile seri porttan devreye veri gönderip işlemi gerçekleştirebilirsiniz.


C# ile seriport nasıl kontrol edilir hiç bilmiyorum düzgün bir kaynakta bulamadım rts 232 kütüphanesine bakmam gerekiyormuş ama acemi olduğumdan pek bir şey anlayamadım :(
 

 

ozibu51 ozibu51 Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 10.05.2014
  • Yaş/Cinsiyet 34 / E
  • Meslek Öğrenci-Serbest meslek
  • Konum İstanbul Anadolu
  • Ad Soyad O** K**
  • Mesajlar 300
  • Beğeniler 9 / 13
  • Ticaret 3, (%100)
C# kodları şu şekilde:

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;
namespace ArduinoLedYakma
{
public partial class Form1 : Form
{

public Form1()
{
InitializeComponent();
SeriPort.PortName = “COM7″;
SeriPort.BaudRate = 9600;
SeriPort.Open();
}

private void Form1_Load(object sender, EventArgs e)
{

this.Opacity = 0;
timer1.Enabled = true;
timer1.Start();
}

private void KirmiziBtn_Click(object sender, EventArgs e)
{
SeriPort.Write(“k”);
}

private void MaviBtn_Click(object sender, EventArgs e)
{
SeriPort.Write(“m”);
}

private void BeyazBtn_Click(object sender, EventArgs e)
{
SeriPort.Write(“b”);
}

private void SondurBtn_Click(object sender, EventArgs e)
{
SeriPort.Write(“s”);
}

private void Animasyon1Btn_Click(object sender, EventArgs e)
{
SeriPort.Write(“1″);
}

private void Animasyon2Btn_Click(object sender, EventArgs e)
{
SeriPort.Write(“2″);
}

private void timer1_Tick(object sender, EventArgs e)
{
this.Opacity += 0.04;
label1.Text = label1.Text.Substring(1) + label1.Text[0].ToString();
}
}
}

Burada tek yaptığımız iş seri porttan arduinoya karakter göndermek. Gönderdiğimiz karakterlere göre arduino ledlerin yanıp sönmesini sağlayacak. Arduino üzerinde LEDleri digital girişlere bağlayınız. Burada da Arduino içerisine yazacağımız kodları veriyorum. Açıklamaları yorum satırı şeklinde yaptım:

//Ledlere digital pinleri bağlıyoruz
int Led1=22;//Mavi
int Led2=24;//Beyaz
int Led3=26;//Kırmızı
int Led4=28;//Mavi
int Led5=50;//Mavi
char GelenKarakter;//C# arayüzünden gelecek karakteri tanımladıkvoid setup()
{
Serial.begin(9600);
pinMode(Led1,OUTPUT);
pinMode(Led2,OUTPUT);
pinMode(Led3,OUTPUT);
pinMode(Led4,OUTPUT);
pinMode(Led5,OUTPUT);
//Ledleri çıkış olarak tanımladık
}
void loop()
{
if(Serial.available() > 0)
{
GelenKarakter = Serial.read();//C# arayüzünden gelen karakteri okuduk

if(GelenKarakter == ‘k’)//GelenKarakter “k” ise kırmızı ledi yak
{
digitalWrite(Led3, HIGH);
}

else if(GelenKarakter == ‘m’)//GelenKarakter “m” ise mavi ledi yak
{
digitalWrite(Led1, HIGH);
digitalWrite(Led5, HIGH);
digitalWrite(Led4, HIGH);
}

else if(GelenKarakter == ‘b’)//GelenKarakter “b” ise beyaz ledi yak
{
digitalWrite(Led2, HIGH);
}

else if(GelenKarakter == ‘s’)//GelenKarakter “s” ise ledleri söndür
{
digitalWrite(Led1, LOW);
digitalWrite(Led2, LOW);
digitalWrite(Led3, LOW);
digitalWrite(Led4, LOW);
digitalWrite(Led5, LOW);
}

else if(GelenKarakter == ’1′)//GelenKarakter “1″ ise ledlerı 500 ms aralıklarla sırayla yak
{
for(int i=0; i < 5; i++ )
{
digitalWrite(Led5, LOW);
digitalWrite(Led1, HIGH);
delay(500);
digitalWrite(Led1, LOW);
digitalWrite(Led2, HIGH);
delay(500);
digitalWrite(Led2, LOW);
digitalWrite(Led4, HIGH);
delay(500);
digitalWrite(Led4, LOW);
digitalWrite(Led3, HIGH);
delay(500);
digitalWrite(Led3, LOW);
digitalWrite(Led5, HIGH);
delay(500);
}
}

else if(GelenKarakter == ’2′)//GelenKarakter “2″ ise 300 ms aralıklarla ledleri yak, söndür
{
for(int k=0; k < 7; k++)
{
digitalWrite(Led1, HIGH);
digitalWrite(Led2, HIGH);
digitalWrite(Led3, HIGH);
digitalWrite(Led4, HIGH);
digitalWrite(Led5, HIGH);
delay(300);
digitalWrite(Led1, LOW);
digitalWrite(Led2, LOW);
digitalWrite(Led3, LOW);
digitalWrite(Led4, LOW);
digitalWrite(Led5, LOW);
delay(300);
}
}
}
}


Ek Olarak: işinize yaradı mı
 

 

Cadde Media Cadde Media Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 16.06.2013
  • Yaş/Cinsiyet 28 / E
  • Meslek MAKİNA RESSAMI
  • Konum İstanbul Avrupa
  • Ad Soyad ** **
  • Mesajlar 916
  • Beğeniler 4 / 154
  • Ticaret 14, (%100)
Sen boş ver Oddülü bir Mekatronikçiye sor. Sana 10 DK devreyi ve programı versin.
 

 

ozibu51 ozibu51 Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 10.05.2014
  • Yaş/Cinsiyet 34 / E
  • Meslek Öğrenci-Serbest meslek
  • Konum İstanbul Anadolu
  • Ad Soyad O** K**
  • Mesajlar 300
  • Beğeniler 9 / 13
  • Ticaret 3, (%100)
LED’leri 5V’a direkt olarak bağlamamanızı tavsiye ederim. Arada direnç kullanmadığınız takdirde LEDleri yakabilirsiniz(kullanılmaz hale gelebilir). Çünkü mavi led yaklaşık 3,4 V ile yanarken diğerleri yaklaşık olarak 2,7 V ile yanmaktadır. Kod kısmına geçmeden önce c#’ta güzel bir arayüz oluşturmanızı tavsiye ederim
 

 

hakansariman hakansariman WM Aracı Kullanıcı
  • Üyelik 10.05.2014
  • Yaş/Cinsiyet 25 / E
  • Meslek öğrenci
  • Konum İstanbul Avrupa
  • Ad Soyad H** S**
  • Mesajlar 48
  • Beğeniler 0 / 4
  • Ticaret 0, (%0)
http://toanbily.blogspot.com.tr/2010/02/serialport-rs-232-serial-com-port-in-c.html
http://elektronikprojeler.com/index.php?topic=4836.0
Bunları bulabildim umarım işinize yarar.
 

 

Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al