1. Bu site çerez kullanmaktadır. Siteyi kullanmaya devam etmeniz halinde çerez kullanımı ile ilgili site koşullarını kabul etmiş sayılırsınız. Daha Fazlasını Öğren.
  2. Forum İllegal Uyarısı Forum kuralları gereği forumda video ve illagal paylaşım yapmak yasaktır.Program Arşivimizde ise kısıtlanmış sürüm yada dağıtımı serbest olan (trial - freeware) yazılımlar yayınlayınız..Aksi takdirde mesajlarınız silinecektir..

Trackbar ile led parlaklık ayarlamak

Konusu 'Pic Uygulama Ve Devreleri' forumundadır ve guclusat tarafından 4 Mart 2016 başlatılmıştır.

  1. guclusat
    Offline

    guclusat Tanınmış Üye Süper Moderatör

    Katılım:
    14 Haziran 2009
    Mesajlar:
    9.754
    Ödül Puanları:
    48
    Kod:
    //Arduino
    
    int led = 11;
    String x;
    int val;
    
    void setup(){
      Serial.begin(9600);
      pinMode(led, OUTPUT);
    }
    void loop(){
      if(Serial.available()>0)
      {
        x=Serial.readStringUntil(',');
        val=x.toInt();
        analogWrite(led, val);
      }
    }
    
    //C#
    
    
    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;
    
    namespace WindowsFormsApplication4
    {
        public partial class Form1 : Form
        {
            SerialPort serialport;
            public Form1()
            {
                InitializeComponent();
                serialport = new SerialPort();
                serialport.BaudRate = 9600;
            }
            private void Form1_Load(object sender, EventArgs e)
            {
                textBox1.Text = "COM3";
            }
            //Bağlan
            private void button1_Click(object sender, EventArgs e)
            {
                timer1.Start();
                try
                {
                    serialport.PortName = textBox1.Text;
                    if (!serialport.IsOpen)
                        serialport.Open();
                    MessageBox.Show("Bağlandi");
                }
                catch
                {
                    MessageBox.Show("Seri Port Hatası!");
                }
            }
            //Timer_Tick
            private void timer1_Tick(object sender, EventArgs e)
            {
                try
                {
                    string ledval = trackBar1.Value.ToString();
                    textBox2.Text = ledval;
                    serialport.WriteLine(ledval);
                    serialport.WriteLine(",");
                }
                catch (Exception ex) { }
            }
            //Durdur
            private void button2_Click(object sender, EventArgs e)
            {
                timer1.Stop();
                serialport.Close();
            }
        }
    }
    [​IMG]

    Merhaba arkadaşlar bu günkü uygulamamız eminim daha önce hepimizin yaptığı bir uygulamayı yaptık. Potansiyometre ile led parlaklığını ayarlama, tabi burada pot kullanmadık, onun yerine trackbar kullandık C#.Net üzerinde oluşturduğumuz trackbar ile Arduino'muzun digital 11. pinine bağlı olan Led'in parlaklığını ayarladık ve 0-255 değerlerini de trackbar yanında yer alan textbox ile görüntüledik.Trackbar max. ve min. değerleri 0-255 olarak ayarlandı, bu değer Arduino tarafında val isimli integer tipinde değişkende tutulmaktadır. Timer interval değeri 100 ms olarak ayarlanmıştır. Bu ne demek her 100 ms'de timer_tick eventi gerçekleşiyor.

    • Arduino ve C# kodlarına ulaşmak için buraya tıklayın;
    [​IMG] [​IMG]
     

    Ekli Dosyalar:

Sayfayı Paylaş