Skip Navigation LinksYazgeliştir Forumları » [ARŞİV]C# & VB.Net » arduino seri port c# okuma

arduino seri port c# okuma

Moderatörler: Atayİbrahim , ismailadar , kimiraikkonen , MehmetX , volkankorkmaz

                        
Sayfa 1 / 1[1Cevap]
arduino seri port c# okuma
Kullanıcı İçerik

japcann

 
arduino seri port c# okuma
Gönderim Zamanı: 24-01-2018 19:09:12

japcann

Üyelik Zamanı: 24-01-2018 19:04:35

Gönderi: 1

Puan: 101

Merhaba arduinoda kapasitif parmak izi sensörü ile bir proje hazırlıyorum. Sensöre kaydedilen parmak izine verilen "id" numarasını arduino seri ekranında problemsiz görüntüleyebiliyorum fakat visualstudio da bu değeri timer ve seriport ile okumak istediğimde veri okuması gerçekleşmesine rağmen formda donma oluyor. Form üzerinde diğer komponentler çalışmıyor ama parmakizi sensöründe bir parmak izi okutulduğunda formun ilgili kısmı calısıyor. Konuyla alakalı yardımcı olursanız sevinirim

 

parmak izi sensör kütüphanesi

 

#include <cihan_mustafa_yoklama_sistemi.h>

#include <SoftwareSerial.h>

char veri;

int getFingerprintIDez();


SoftwareSerial mySerial(2, 3);

cihan_mustafa_yoklama_sistemi finger = cihan_mustafa_yoklama_sistemi(&mySerial);


void setup()

{

  pinMode(13, OUTPUT);

  while (!Serial);

  Serial.begin(9600);


  finger.begin(57600);


  if (finger.verifyPassword()) {

    

  } else {

   

  

  }


}


void loop()

{

  getFingerprintIDez();

  delayMicroseconds(10);

}


uint8_t getFingerprintID() {

  uint8_t p = finger.getImage();

  switch (p) {

    case FINGERPRINT_OK:

      //Serial.println("");

      break;

    case FINGERPRINT_NOFINGER:

      // Serial.println("");

      return p;

    case FINGERPRINT_PACKETRECIEVEERR:

      // Serial.println("Iletisim Hatasi");

      return p;

    case FINGERPRINT_IMAGEFAIL:

      // Serial.println("");

      return p;

    default:

      // Serial.println("HATA");

      return p;

  }


  p = finger.image2Tz();

  switch (p) {

    case FINGERPRINT_OK:

      //   Serial.println("");

      break;

    case FINGERPRINT_IMAGEMESS:

      //  Serial.println("");

      return p;

    case FINGERPRINT_PACKETRECIEVEERR:

      //  Serial.println("Iletisim Hatasi");

      return p;

    case FINGERPRINT_FEATUREFAIL:

      // Serial.println("Parmak izi ozelliklerini bulamadi");

      return p;

    case FINGERPRINT_INVALIDIMAGE:

      return p;

    default:

      return p;

  }


  p = finger.fingerFastSearch();



  Serial.println(String(finger.fingerID));


}


int getFingerprintIDez() {

  uint8_t p = finger.getImage();

  if (p != FINGERPRINT_OK)  return -1;


  p = finger.image2Tz();

  if (p != FINGERPRINT_OK)  return -1;


  p = finger.fingerFastSearch();

  if (p != FINGERPRINT_OK)  return -1;




  Serial.println(String(finger.fingerID));


  return finger.fingerID;

}

 

c# kodları

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

using System.IO.Ports;

using System.Windows.Forms.DataVisualization.Charting;

using offis = Microsoft.Office.Interop.Excel;


namespace Mesafe_ölçüm

{

    public partial class Form1 : Form

    {

        string[] ports = SerialPort.GetPortNames();

        string gelen = "0";

                                              string deneme = "A";

                                               int t = 1;

        DateTime yeni = DateTime.Now;

        int zaman=0;

        int satir=1;

        int sutun=1;

        int satirNo = 1;

        int k = 0;

      


        public Form1()

        {

            InitializeComponent();

        }


        private void Form1_Load(object sender, EventArgs e)

        {

            foreach (string port in ports)

            {

                comboBox1.Items.Add(port);

                comboBox1.SelectedIndex = 0;

            }

            comboBox2.Items.Add("2400");

            comboBox2.Items.Add("4800");

            comboBox2.Items.Add("9600");

            comboBox2.Items.Add("19200");

            comboBox2.Items.Add("115200");

            comboBox2.SelectedIndex = 2;

         


            serialPort1.Close();

           this.chart1.Titles.Add("Öğrenci Yoklama");

            DateTime yeni = DateTime.Now;

             

            

        }


        private void btn_start_Click(object sender, EventArgs e)

        {

            serialPort1.PortName = "COM3";


            serialPort1.Open();

            

            timer1.Enabled = true;

           

          



       


        }


        private void chart1_Click(object sender, EventArgs e)

        {


        }


        private void timer1_Tick(object sender, EventArgs e)

        {

            string gelen = serialPort1.ReadLine();

            this.chart1.Series["Veri"].Points.AddXY(zaman, gelen);

            zaman = (zaman + 1);

           

            satir = dataGridView1.Rows.Add();

           

            dataGridView1.Rows[satir].Cells[0].Value = satirNo;

            dataGridView1.Rows[satir].Cells[1].Value = gelen;


            dataGridView1.Rows[satir].Cells[2].Value = yeni.ToLongTimeString();

            dataGridView1.Rows[satir].Cells[3].Value = yeni.ToShortDateString(); 

            satir++;

            satirNo++;

            


            label1.Text = gelen;

        }


        private void aktar_Click(object sender, EventArgs e)

        {


            Microsoft.Office.Interop.Excel.Application objExcel = new Microsoft.Office.Interop.Excel.Application();

            objExcel.Visible = true;

            Microsoft.Office.Interop.Excel.Workbook objbook = objExcel.Workbooks.Add(System.Reflection.Missing.Value);

            Microsoft.Office.Interop.Excel.Worksheet objSheet = (Microsoft.Office.Interop.Excel.Worksheet)objbook.Worksheets.get_Item(1);

           

            for (int s = 0; s < dataGridView1.Columns.Count; s++ )

            { 

                Microsoft.Office.Interop.Excel.Range myrange = (Microsoft.Office.Interop.Excel.Range)objSheet.Cells[1, s+1];

                myrange.Value2 = dataGridView1.Columns[s].HeaderText;

            }


            for (int s = 0; s < dataGridView1.Columns.Count; s++)

            {

                for (int j = 0; j < dataGridView1.Rows.Count; j++)

                {

                    Microsoft.Office.Interop.Excel.Range myrange = (Microsoft.Office.Interop.Excel.Range)objSheet.Cells[j+2, s + 1];

                    myrange.Value2 = dataGridView1[s, j].Value;

                 }

               

            

            }






            // Microsoft.Office.Interop.Excel.Range objRange;

           

          //  objRange = objSheet.get_Range("A1" ,System.Reflection.Missing.Value);

           // objRange.set_Value(System.Reflection.Missing.Value, dataGridView1.Rows[0].Cells[0].Value);

            

 

            

            


        }


        private void button1_Click(object sender, EventArgs e)

        {



            dataGridView1.Rows.Clear();


           


            

        }


        private void btn_stop_Click(object sender, EventArgs e)

        {

            timer1.Enabled = false;

            serialPort1.Close();

        }


       


       

    }

 

}


1#
Sayfa 1 / 1[1Cevap]

İşaretler & Anlamları
Kilitli Kilitli
Çözüm Kabul Edildi Çözüm Kabul Edildi
Normal Normal