Trackbar ile led parlaklık ayarlamak

guclusat

Tanınmış Üye
Süper Moderatör
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();
        }
    }
}



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;
 

Eklentiler

Geri
Yukarı