为什么轨迹栏只能在 ON 和 OFF 模式下工作?

问题描述

enter image description here

当我向右或向左滚动此轨迹栏时,该值应从零变为最大值。值 (255) 并且在向右滚动时,输出端的 LED 应该比轨迹栏值更亮。

但是这个轨迹栏的工作原理就像开关。在trackbar是127之前,led是关闭的,在那之后,led突然亮了。 您认为问题出在哪里?

c# 代码

{
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";
    }

    private void button1_Click(object sender,EventArgs e)
    {
        timer1.Start();
        try
        {
            serialport.PortName = textBox1.Text;
            if (!serialport.IsOpen)
                serialport.open();
            MessageBox.Show("connected");
        }
        catch
        {
            MessageBox.Show("error!");
        }
    }

    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) { }
    }

    private void button2_Click(object sender,EventArgs e)
    {
        timer1.Stop();
        serialport.Close();
    }
}}

arduino 代码

int led = 13;
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);
}
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)