資料介紹
描述
介紹
這個項目的想法實際上是出于對樂趣和知識的需要。這個項目很容易制作并且有很多應用。例如,我們可以使用它來控制、存儲和顯示一些硬件變量。
讓我們開始吧
首先,我們需要連接我們的 LCD(我使用的是 I2C 轉換器):

當我們這樣做時,我們可以進入下一部分......
讓我們寫一些代碼...
使用地址 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 并且不要忘記檢查它。
外貌
準備我們的表格:

?

現在代碼...
一些指令...
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,表示我們完成了。
您可以添加一些功能,例如隱藏到托盤等。(下面的完整代碼)
程序必須以管理員權限運行!
- 用于筆記本電腦顯示器的白光 LED驅動器TPS61181AIC數據表
- 七段顯示器開源分享
- Lytograph物聯網顯示器開源
- 平視顯示器鬧鐘開源分享
- Oled顯示器開源分享
- 使用Arduino測試7段顯示器
- vfd48顯示器開源分享
- 基于Arduino的機械彩色Nipkow顯示器
- 帶有Arduino Pro Mini的LED矩陣顯示器
- 電腦風扇轉動但顯示器無圖象如何解決
- 樹莓派7.0寸usb電容觸摸顯示器的使用說明 15次下載
- TPS61181A用于筆記本電腦顯示器的白光LED(WLED)驅動器 3次下載
- 長城電腦顯示器C-1453電路圖 210次下載
- 顯示器調整方法探討
- 電腦顯示器電路圖
- 顯示器驅動板和電腦主板的區別 390次閱讀
- 顯示器自帶的揚聲器怎么設置 2227次閱讀
- 顯示器處理器芯片是什么?顯示器處理器芯片市場的發展趨勢 5665次閱讀
- 顯示器方案介紹|TYPE-C PD顯示器應用方案簡介 826次閱讀
- 如何設置Arduino IoT將消息發送到云板顯示器 2303次閱讀
- 監控顯示器能當電腦顯示器嗎 1.8w次閱讀
- 工業顯示器和普通顯示器的區別 5391次閱讀
- 基于鉆井深度顯示器和帶有Arduino支持的7段顯示器設計 2670次閱讀
- 電腦顯示器不亮的原因有哪些應該如何解決 2.1w次閱讀
- 液晶電腦顯示器高壓板的常見故障和維修方法 3.1w次閱讀
- 電腦硬件基礎篇顯示器(顯示器工作原理及作用_特性參數及型號和位置) 3.2w次閱讀
- 液晶顯示器的優缺點_液晶顯示器原理介紹 1.5w次閱讀
- 顯示器色溫怎么調節 2.2w次閱讀
- 教你如何測試電腦顯示器 6.7w次閱讀
- 如何解決CRT顯示器的偏色問題? 3378次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數據手冊
- 1.06 MB | 532次下載 | 免費
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費
- 3TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費
- 5元宇宙深度解析—未來的未來-風口還是泡沫
- 6.40 MB | 227次下載 | 免費
- 6迪文DGUS開發指南
- 31.67 MB | 194次下載 | 免費
- 7元宇宙底層硬件系列報告
- 13.42 MB | 182次下載 | 免費
- 8FP5207XR-G1中文應用手冊
- 1.09 MB | 178次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應用800例(新編版)
- 0.00 MB | 33566次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關電源設計實例指南
- 未知 | 21549次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數字電路基礎pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅動電路設計》 溫德爾著
- 0.00 MB | 6656次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537798次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191187次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183279次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論