Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- private bool AutoDetectArduino()
- {
- ManagementScope connectionscope = new ManagementScope();
- SelectQuery serialQuery = new SelectQuery("SELECT * FROM Win32_SerialPort");
- ManagementObjectSearcher searcher = new ManagementObjectSearcher(connectionscope, serialQuery);
- bool weturn = false;
- try
- {
- foreach (ManagementObject item in searcher.Get())
- {
- string desc = item["Description"].ToString();
- string deviceid = item["DeviceID"].ToString();
- if (desc.Contains("USB Serial Device"))
- {
- sp.Close();
- sp.PortName = deviceid;
- weturn = true;
- }
- else
- {
- weturn = false;
- }
- }
- }
- catch (ManagementException e)
- {
- }
- return weturn;
- }
- string[] generalarray = new string[3];
- public void readArduinoLightData()
- {
- AutoDetectArduino();
- try
- {
- if (!sp.IsOpen)
- {
- sp.Open();
- }
- sp.Parity = Parity.None;
- sp.StopBits = StopBits.One;
- sp.Handshake = Handshake.None;
- sp.ReadTimeout = 10000;
- sp.DataReceived += new SerialDataReceivedEventHandler(datareceive);
- }
- catch
- {
- }
- }
- private void datareceive(object sender, SerialDataReceivedEventArgs e)
- {
- for (count = 0; count < generalarray.Length; count++)
- {
- generalarray[count] = sp.ReadLine();
- }
- temperature =Convert.ToDouble(generalarray[0]);
- light = Convert.ToDouble(generalarray[1]);
- currentvolt = Convert.ToDouble(generalarray[2]);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement