资料介绍
描述
介绍
这个项目的想法实际上是出于对乐趣和知识的需要。这个项目很容易制作并且有很多应用。例如,我们可以使用它来控制、存储和显示一些硬件变量。
让我们开始吧
首先,我们需要连接我们的 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数据表
- 使用Arduino和OLED显示器的乒乓球游戏
- 七段显示器开源分享
- Lytograph物联网显示器开源
- 平视显示器闹钟开源分享
- Oled显示器开源分享
- 使用Arduino测试7段显示器
- vfd48显示器开源分享
- 基于Arduino的机械彩色Nipkow显示器
- 电脑风扇转动但显示器无图象如何解决
- 树莓派7.0寸usb电容触摸显示器的使用说明 15次下载
- TPS61181A用于笔记本电脑显示器的白光LED(WLED)驱动器 3次下载
- 长城电脑显示器C-1453电路图 210次下载
- 显示器调整方法探讨
- 电脑显示器电路图
- 显示器处理器芯片是什么?显示器处理器芯片市场的发展趋势 3800次阅读
- 显示器方案介绍|TYPE-C PD显示器应用方案简介 648次阅读
- 如何设置Arduino IoT将消息发送到云板显示器 2121次阅读
- 监控显示器能当电脑显示器吗 1.6w次阅读
- 工业显示器和普通显示器的区别 4945次阅读
- 基于钻井深度显示器和带有Arduino支持的7段显示器设计 2480次阅读
- 电脑显示器不亮的原因有哪些应该如何解决 2.1w次阅读
- 数字显示器的工作原理_数字显示器电路图 3w次阅读
- 液晶电脑显示器高压板的常见故障和维修方法 3w次阅读
- 电脑硬件基础篇显示器(显示器工作原理及作用_特性参数及型号和位置) 3.1w次阅读
- 液晶显示器的优缺点_液晶显示器原理介绍 1.5w次阅读
- 显示器色温怎么调节 2.1w次阅读
- 教你如何测试电脑显示器 6.6w次阅读
- 曲面显示器是怎么设计的 3477次阅读
- 如何解决CRT显示器的偏色问题? 3255次阅读
下载排行
本周
- 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次下载 | 免费
评论
查看更多