1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

Como criar media da temperatura

Boas, criei um programa que mostra a temperatura num gráfico em C# (a temperatura é lida pelo TMP36) e tou com duvida como fazer a media porque quanto mais tempo ligado mais valores aparecem e gostava de saber como fazer a media de todos os valores que aparecem. PS: Ainda precevo pouco de Visual Studio. Caso ajudar a temperatura tambem aparece numa label

namespace Temperatura
{
    public partial class Grafico : Form
    {
        private SerialPort myport;
        private DateTime datetime;
        private string temp;
        public Grafico()
        {
            InitializeComponent();
            string[] serialPorts = System.IO.Ports.SerialPort.GetPortNames();
            comboBox1.Items.AddRange(serialPorts);

        }

        private void Form1_Load(object sender, EventArgs e)
        {

        }
        private void Form1_Close(object sender, EventArgs e)
        {
            Application.Exit();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            myport = new SerialPort();
            myport.BaudRate = 9600;
            myport.PortName = comboBox1.SelectedItem.ToString();
            myport.Parity = Parity.None;
            myport.DataBits = 8;
            myport.StopBits = StopBits.One;
            myport.DataReceived += Myport_DataReceived;
            try
            {
                myport.Open();

                textBox1.Text = "";


            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Error");
            }
        }

        private void Myport_DataReceived(object sender, SerialDataReceivedEventArgs e)
        {
            temp = myport.ReadLine().Trim();

            this.Invoke(new EventHandler(Displaytemp));



        }

        private void Displaytemp(object sender, EventArgs e)
        {
            datetime = DateTime.Now;
            string time = datetime.Hour + ":" + datetime.Minute + ":" + datetime.Second;
            textBox1.AppendText(time+"\t\t"+temp+"\n");

            int t;

            bool result = Int32.TryParse(temp, out t);
            if (result)
            {
                int i = int.Parse(temp.ToString());
                if (i > 100) { }
                else {


                    chart1.Series["Temperatura"].Points.AddY(i);

                    label5.Text = i.ToString()+" ºC";

                }
            }



        }
        private void button2_Click_1(object sender, EventArgs e)
        {
            try
            {

                myport.Close();

            }
            catch (Exception ex2)
            {
                MessageBox.Show(ex2.Message, "Error");
            }
        }

        private void button3_Click_1(object sender, EventArgs e)
        {
            try {
                string pathfile = @"C:\DATA\";
                string filename = "temp_data.txt";
                System.IO.File.WriteAllText(pathfile + filename, textBox1.Text);
                MessageBox.Show("Temperaturas gravadas em " + pathfile, "Ficheiro Guardado");
            }
            catch (Exception ex3)
            {
                MessageBox.Show(ex3.Message, "Error");
            }
        }

        private void textBox1_TextChanged(object sender, EventArgs e)
        {

        }

        private void label1_Click(object sender, EventArgs e)
        {

        }


    }
}
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

0 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags c ou faça a sua própria pergunta.