吴忠躺衫网络科技有限公司

電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>Arduino電腦顯示器開源分享

Arduino電腦顯示器開源分享

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

資料介紹

描述

介紹

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

讓我們開始吧

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

?
poYBAGNX_CeAZjqcAAFwy1buGek771.png
?

當(dāng)我們這樣做時,我們可以進入下一部分......

讓我們寫一些代碼...

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

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

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

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

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

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

好的,一切都很好,但是當(dāng)接收數(shù)據(jù)停止時?有解決辦法:

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

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

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

當(dāng)最后一個字符為 # 時,Arduino 將設(shè)置我們 LCD 的第二行并打印其他數(shù)據(jù)。

配置

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

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

打開硬件監(jiān)視器

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

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

外貌

準(zhǔn)備我們的表格:

?
pYYBAGNX_CmAPYlnAABFtoFpWNo578.png
成分
?

?

?
pYYBAGNX_CyAF5jSAAA9NAxnW1A022.png
形式
?

現(xiàn)在代碼...

一些指令...

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

和聲明...

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

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

 c.Open(); 

在表單構(gòu)造函數(shù)中:

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

現(xiàn)在存儲和發(fā)送變量的主要功能:

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() 計時器滴答事件添加功能。

現(xiàn)在連接按鈕:

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

我們正在檢查端口是否已經(jīng)打開,如果沒有從 comboBox2 設(shè)置計時器間隔并運行所有內(nèi)容!

斷開按鈕:

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 = ""; 

將最后一個數(shù)據(jù)寫入 Arduino,表示我們完成了。

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

程序必須以管理員權(quán)限運行!


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

評論

查看更多

下載排行

本周

  1. 1A7159和A7139射頻芯片的資料免費下載
  2. 0.20 MB   |  55次下載  |  5 積分
  3. 2PIC12F629/675 數(shù)據(jù)手冊免費下載
  4. 2.38 MB   |  36次下載  |  5 積分
  5. 3PIC16F716 數(shù)據(jù)手冊免費下載
  6. 2.35 MB   |  18次下載  |  5 積分
  7. 4dsPIC33EDV64MC205電機控制開發(fā)板用戶指南
  8. 5.78MB   |  8次下載  |  免費
  9. 5STC15系列常用寄存器匯總免費下載
  10. 1.60 MB   |  7次下載  |  5 積分
  11. 6模擬電路仿真實現(xiàn)
  12. 2.94MB   |  4次下載  |  免費
  13. 7PCB圖繪制實例操作
  14. 2.92MB   |  2次下載  |  免費
  15. 8零死角玩轉(zhuǎn)STM32F103—指南者
  16. 26.78 MB   |  1次下載  |  1 積分

本月

  1. 1ADI高性能電源管理解決方案
  2. 2.43 MB   |  452次下載  |  免費
  3. 2免費開源CC3D飛控資料(電路圖&PCB源文件、BOM、
  4. 5.67 MB   |  141次下載  |  1 積分
  5. 3基于STM32單片機智能手環(huán)心率計步器體溫顯示設(shè)計
  6. 0.10 MB   |  137次下載  |  免費
  7. 4A7159和A7139射頻芯片的資料免費下載
  8. 0.20 MB   |  55次下載  |  5 積分
  9. 5PIC12F629/675 數(shù)據(jù)手冊免費下載
  10. 2.38 MB   |  36次下載  |  5 積分
  11. 6如何正確測試電源的紋波
  12. 0.36 MB   |  19次下載  |  免費
  13. 7PIC16F716 數(shù)據(jù)手冊免費下載
  14. 2.35 MB   |  18次下載  |  5 積分
  15. 8Q/SQR E8-4-2024乘用車電子電器零部件及子系統(tǒng)EMC試驗方法及要求
  16. 1.97 MB   |  8次下載  |  10 積分

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935121次下載  |  10 積分
  3. 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計
  4. 1.48MB  |  420062次下載  |  10 積分
  5. 3Altium DXP2002下載入口
  6. 未知  |  233088次下載  |  10 積分
  7. 4電路仿真軟件multisim 10.0免費下載
  8. 340992  |  191367次下載  |  10 積分
  9. 5十天學(xué)會AVR單片機與C語言視頻教程 下載
  10. 158M  |  183335次下載  |  10 積分
  11. 6labview8.5下載
  12. 未知  |  81581次下載  |  10 積分
  13. 7Keil工具MDK-Arm免費下載
  14. 0.02 MB  |  73810次下載  |  10 積分
  15. 8LabVIEW 8.6下載
  16. 未知  |  65988次下載  |  10 積分
真人百家乐官网作| 沙龙百家乐娱乐| bet365百家乐| 百家乐官网娱乐真人娱乐| 实战百家乐十大取胜原因百分百战胜百家乐不买币不吹牛只你能做到按我说的.百家乐基本规则 | 24山入宅择日| e娱乐城棋牌| 百家乐官网平注法到6568| 大发888真钱游戏官方网站| 百家乐官网tt娱乐平台| 大发888 安装包的微博| 百家乐官网大赌场娱乐网规则| 大发888娱乐城网站| 真人百家乐官网博弈| 大发888娱乐场下载co| 网上百家乐官网赌城| 大发888游戏网页版| 真人百家乐官网蓝盾| 大发888娱乐总代理qq| 百家乐官网扑| 白金国际娱乐城| 菲律百家乐太阳城| 澳门百家乐官网赢钱技术| 新葡京百家乐的玩法技巧和规则 | 百家乐官网游戏什么时间容易出对| 大发888棋牌游戏下载| 百家乐官网证据| 澳门葡京赌场出台女| 谈谈百家乐赢钱技巧| 百家乐官网游戏的玩法| 百家乐园试玩| 伯爵百家乐官网娱乐网| 娱网棋牌官方网站| 网上百家乐骗人的| 百家乐官网游戏合法吗| 百家乐第三张规则| 百家乐官网套利| 女神国际娱乐城| 赌场百家乐怎么破解| 棋牌赌博网站| 百家乐免费下|