91在线观看视频-91在线观看视频-91在线观看免费视频-91在线观看免费-欧美第二页-欧美第1页

電子發燒友App

硬聲App

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示
電子發燒友網>電子資料下載>電子資料>Arduino電腦顯示器開源分享

Arduino電腦顯示器開源分享

2022-10-26 | zip | 0.11 MB | 次下載 | 免費

資料介紹

描述

介紹

這個項目的想法實際上是出于對樂趣和知識的需要。這個項目很容易制作并且有很多應用。例如,我們可以使用它來控制、存儲和顯示一些硬件變量。

讓我們開始吧

首先,我們需要連接我們的 LCD(我使用的是 I2C 轉換器):

?
poYBAGNX_CeAZjqcAAFwy1buGek771.png
?

當我們這樣做時,我們可以進入下一部分......

讓我們寫一些代碼...

使用地址 0x3F 設置 16x2 LCD - I2C 總線設備的地址可以通過 Arduino Playground 上可用的簡單草圖掃描找到。

#include   
#include  
LiquidCrystal_I2C lcd(0x3F,16,2); 

現在我們必須聲明一個String 變量來存儲我們的串行輸入并設置其余的東西。

String inData; 
void setup() 
{ 
   lcd.init();  
   Serial.begin(9600); 
   lcd.backlight(); 
} 

如果我們想通過字符串變量直接發送數據,這可能會出現問題,因為基于字符串大小的延遲大約為一秒。為了避免這個使用char 變量并將其添加到我們的inData .

char recieved = Serial.read(); 
inData += recieved;  

好的,一切都很好,但是當接收數據停止時?有解決辦法:

if (recieved == '*') 
       { ... }

char 的最后一個何時為 * Arduino 將知道何時繼續下一部分,現在我們必須處理我們的消息。我們需要擺脫這個* 字符,所以:

inData.remove(inData.length() - 1, 1); 

最后:

lcd.setCursor(0,0); 
lcd.print(inData);  
inData = ""; // Clear buffer 

但是......我們有第二行未使用......這是解決方案

if (recieved == '#') 
   {   
           inData.remove(inData.length() - 1, 1); 
           lcd.setCursor(0,1); 
           lcd.print(inData); 
           inData = "";  
       } 
   } 

當最后一個字符為 # 時,Arduino 將設置我們 LCD 的第二行并打印其他數據。

配置

為什么是 C#,而不是 C 或 C++?C# 簡單快速(快速......我的意思是寫作)

首先,我們需要下載額外的庫以便于訪問我們的硬件變量。

打開硬件監視器

解壓后,我們有我們的庫:OpenHardwareMonitorLib.dll

創建新項目 -> Windows 窗體應用程序 -> 右鍵單擊??解決方案資源管理器中的引用 -> 瀏覽 -> OpenHardwareMonitorLib.dll 并且不要忘記檢查它。

外貌

準備我們的表格:

?
pYYBAGNX_CmAPYlnAABFtoFpWNo578.png
成分
?

?

?
pYYBAGNX_CyAF5jSAAA9NAxnW1A022.png
形式
?

現在代碼...

一些指令...

using System.IO.Ports; 
using OpenHardwareMonitor.Hardware; 

和聲明...

SerialPort port = new SerialPort();
Computer c = new Computer() 
{ 
     GPUEnabled = true, 
     CPUEnabled = true  
}; 
float value1, value2;  

c 是打開硬件監視器對象。我們必須啟用 CPU 和 GPU。在表單加載事件中輸入:

 c.Open(); 

在表單構造函數中:

public Form1()  

添加:

Init(); 

然后,在任何地方:

private void Init() 
       { 
           try 
           { 
               notifyIcon1.Visible = false; 
               port.Parity = Parity.None; 
               port.StopBits = StopBits.One; 
               port.DataBits = 8; 
               port.Handshake = Handshake.None; 
               port.RtsEnable = true;              
               string[] ports = SerialPort.GetPortNames(); 
               foreach (string port in ports) 
               { 
                   comboBox1.Items.Add(port); 
               } 
               port.BaudRate = 9600; 
           } 
           catch (Exception ex) 
           { 
               MessageBox.Show(ex.Message); 
           } 
       }  

簡單... 初始化聲明的變量,掃描打開的端口并將其添加到comboBox1

現在存儲和發送變量的主要功能:

private void Status() 
       { 
           foreach (var hardwadre in c.Hardware) 
           { 
               if (hardwadre.HardwareType == HardwareType.GpuNvidia) 
               { 
                   hardwadre.Update(); 
                   foreach (var sensor in hardwadre.Sensors) 
                       if (sensor.SensorType == SensorType.Temperature) 
                       { 
                           value1 = sensor.Value.GetValueOrDefault(); 
                       } 
               } 
               if (hardwadre.HardwareType == HardwareType.CPU) 
               { 
                   hardwadre.Update(); 
                   foreach (var sensor in hardwadre.Sensors) 
                       if (sensor.SensorType == SensorType.Temperature) 
                       { 
                           value2 = sensor.Value.GetValueOrDefault(); 
                       } 
               } 
           } 
           try 
           { 
               port.Write(value1 + "*" + value2 + "#"); 
           }catch(Exception ex) 
           { 
               timer1.Stop(); 
               MessageBox.Show(ex.Message); 
               toolStripStatusLabel1.Text = "Arduino's not responding..."; 
           } 

不要忘記為Status() 計時器滴答事件添加功能。

現在連接按鈕:

try 
          { 
               if (!port.IsOpen) 
               { 
                   port.PortName = comboBox1.Text; 
                   port.Open();  
                   timer1.Interval = Convert.ToInt32(comboBox2.Text);
                   timer1.Enabled = true;  
                   toolStripStatusLabel1.Text = "Sending data..."; 
                   label2.Text = "Connected"; 
               }      
           } 
           catch (Exception ex) 
           { 
               MessageBox.Show(ex.Message); 
           } 

我們正在檢查端口是否已經打開,如果沒有從 comboBox2 設置計時器間隔并運行所有內容!

斷開按鈕:

try 
           { 
               port.Write("DIS*"); 
               port.Close(); 
           } 
           catch (Exception ex) 
           { 
               MessageBox.Show(ex.Message); 
           }          
           label2.Text = "Disconnected"; 
           timer1.Enabled = false; 
           toolStripStatusLabel1.Text = "Connect to Arduino..."; 
           data = ""; 

將最后一個數據寫入 Arduino,表示我們完成了。

您可以添加一些功能,例如隱藏到托盤等。(下面的完整代碼)

程序必須以管理員權限運行!


下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數據手冊
  2. 1.06 MB  |  532次下載  |  免費
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費
  5. 3TC358743XBG評估板參考手冊
  6. 1.36 MB  |  330次下載  |  免費
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費
  9. 5元宇宙深度解析—未來的未來-風口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費
  11. 6迪文DGUS開發指南
  12. 31.67 MB  |  194次下載  |  免費
  13. 7元宇宙底層硬件系列報告
  14. 13.42 MB  |  182次下載  |  免費
  15. 8FP5207XR-G1中文應用手冊
  16. 1.09 MB  |  178次下載  |  免費

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費
  3. 2555集成電路應用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費
  7. 4開關電源設計實例指南
  8. 未知  |  21549次下載  |  免費
  9. 5電氣工程師手冊免費下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費
  11. 6數字電路基礎pdf(下載)
  12. 未知  |  13750次下載  |  免費
  13. 7電子制作實例集錦 下載
  14. 未知  |  8113次下載  |  免費
  15. 8《LED驅動電路設計》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉中文版)
  4. 78.1 MB  |  537798次下載  |  免費
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費
  11. 6電路仿真軟件multisim 10.0免費下載
  12. 340992  |  191187次下載  |  免費
  13. 7十天學會AVR單片機與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費
  15. 8proe5.0野火版下載(中文版免費下載)
  16. 未知  |  138040次下載  |  免費
主站蜘蛛池模板: xxx性xxx乱 | 黄视频网站免费 | 亚洲日本欧美日韩高观看 | 日本口工全彩无遮拦漫画大 | 国产精品视频永久免费播放 | 亚洲国产色婷婷精品综合在线观看 | 国产美女精品一区二区三区 | 国产色视频网站免费观看 | 亚洲综合色就色手机在线观看 | 深夜性久久 | 老色批午夜免费视频网站 | 天堂网www在线 | 色婷婷亚洲 | 色色色色色色色色色色色色 | 国产欧美日韩电影 | 久久精品视频国产 | 亚洲国产成人久久精品影视 | 日韩欧美高清一区 | 免费人成在线观看视频色 | 成色网| 福利天堂 | 午夜视频福利在线观看 | 美女鲜嫩bbbb | 国产精品不卡片视频免费观看 | 亚洲综合色dddd26 | 色婷婷一区二区三区四区成人网 | aaaa一级片| 亚洲成在人 | 久久久久久国产精品免费 | 亚洲日本高清 | 日本不卡视频在线 | 欧美一级免费看 | 色综合天天综合网国产人 | 日本噜噜影院 | 人人免费操 | 五月婷婷六月婷婷 | 免费我看视频在线观看 | 激情三级视频 | 成人欧美一区二区三区的电影 | 天天草天天操 | 久久综合操 |