Advertisement
Guest User

Untitled

a guest
Apr 23rd, 2019
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.57 KB | None | 0 0
  1.  
  2. using System;
  3. using System.Collections.Generic;
  4. using System.ComponentModel;
  5. using System.Data;
  6. using System.Drawing;
  7. using System.Linq;
  8. using System.Text;
  9. using System.Threading.Tasks;
  10. using System.Windows.Forms;
  11. using System.Diagnostics;
  12. using System.Windows.Forms.DataVisualization.Charting;
  13.  
  14. namespace WEEK2
  15. {
  16. public partial class Form1 : Form
  17. {
  18. #region global variables
  19. float readBuffer1;
  20.  
  21. private string readBuffer = string.Empty; // buffer to store characters
  22.  
  23.  
  24. #endregion
  25. public Form1()
  26. {
  27. InitializeComponent(); //intialize form1
  28. }
  29.  
  30. #region connect to serial port open port set parameters and run timer
  31. private void button1_Click(object sender, EventArgs e)
  32.  
  33. {
  34. if (!serialPort1.IsOpen)
  35. {
  36. serialPort1.PortName = "COM4"; //look in your PC wich comport is connected (device manager)
  37. serialPort1.Open(); //open serialPort1
  38. richTextBox1.Text = "comport opened "; //show in textbox that the comport is opened
  39. serialPort1.ReceivedBytesThreshold = 20; //threshold 20 bytes received event trigger
  40. //serialPort1.NewLine = "\r"; //te onstabiel als ik deze laat staan. // last char to be recognised
  41. serialPort1.DataReceived += new System.IO.Ports.SerialDataReceivedEventHandler(SerialPort1_DataReceived);
  42. //timer1.Enabled = true;
  43. }
  44. }
  45.  
  46. #endregion
  47.  
  48. #region read databuffer received
  49. private void SerialPort1_DataReceived(System.Object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
  50. {
  51.  
  52. byte[] data1 = new byte[serialPort1.BytesToRead]; //stukje code om binaire
  53. serialPort1.Read(data1, 0, data1.Length); //waardes te kunnen lezen
  54. readBuffer = System.Text.Encoding.UTF8.GetString(data1); //en gebruiken.
  55. readBuffer1 = serialPort1.ReadByte(); //readByte
  56.  
  57. Invoke(new EventHandler(DoUpdate)); //update
  58.  
  59. }
  60. #endregion
  61.  
  62. #region update the text in textbox enable timer for next
  63. public void DoUpdate(object sender, System.EventArgs e)
  64. {
  65. byte data = (byte)serialPort1.ReadByte();
  66. // double voltage = Math.Round(data * (5.0 / 255)); //berekening om de spanning weer te geven, ,2 voor 2 decimalen en round rond de cijfers af
  67. //readBuffer = voltage.ToString(); //convert voltage to string and put in readBuffer
  68. readBuffer = data.ToString();
  69. //richTextBox1.Text = readBuffer;//show value
  70. Volt.Text = readBuffer; //show value on the label
  71. }
  72.  
  73. #endregion
  74.  
  75. private void Volt_Click(object sender, EventArgs e)
  76. {
  77.  
  78. }
  79.  
  80. #region button close; close serial port timer off give messagebox
  81. private void button2_Click_1(object sender, EventArgs e)
  82. {
  83. {
  84. serialPort1.Close(); //close serialPort1
  85. richTextBox1.Text = "serial port closed"; //show text in richtextbox
  86. MessageBox.Show("Temperature meter Thiemo Hoek"); //show message box
  87. this.Close(); //close program
  88. }
  89. }
  90.  
  91. private void label1_Click(object sender, EventArgs e)
  92. {
  93.  
  94. }
  95.  
  96. private void chart1_Click(object sender, EventArgs e)
  97. {
  98.  
  99. string x1 = Volt.Text;
  100. var chart = chart1.ChartAreas[0];
  101. chart.AxisX.IntervalType = DateTimeIntervalType.Number;
  102.  
  103. chart.AxisX.LabelStyle.Format = "";
  104. chart.AxisY.LabelStyle.Format = "";
  105. chart.AxisY.LabelStyle.IsEndLabelVisible = true;
  106. chart.AxisX.Minimum = 0;
  107. chart.AxisX.Maximum = 20;
  108. chart.AxisY.Minimum = 0;
  109. chart.AxisY.Maximum = 50;
  110. chart.AxisX.Interval = 1;
  111. chart.AxisY.Interval = 5;
  112.  
  113. chart1.Series.Add("degrees");
  114. chart1.Series["degrees"].ChartType = SeriesChartType.Line;
  115. chart1.Series["degrees"].Color = Color.Red;
  116. chart1.Series[0].IsVisibleInLegend = false;
  117.  
  118. for(int x = 0; x<21; x++)
  119. {
  120. chart1.Series["degrees"].Points.AddXY(x,x1);
  121.  
  122. }
  123.  
  124.  
  125.  
  126. }
  127. }
  128. }
  129. #endregion
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement