C# 用PC实现Arduino控制

C# 用PC实现Arduino控制,c#,c++,arduino-uno,C#,C++,Arduino Uno,我试图通过使用Arduino Uno控制12伏电机实现自动化 我在Arduino上有以下代码: const int transistorPin = 9; void setup() { pinMode(transistorPin, OUTPUT); } void loop() { int sensorValue = analogRead(A0); int outputValue = map(sensorValue, 0, 1023, 0, 255);

我试图通过使用Arduino Uno控制12伏电机实现自动化

我在Arduino上有以下代码:

const int transistorPin = 9;  

 void setup() {

   pinMode(transistorPin, OUTPUT);
 }

 void loop() {

   int sensorValue = analogRead(A0);

   int outputValue = map(sensorValue, 0, 1023, 0, 255);

   analogWrite(transistorPin, outputValue);
 }
非常简单,因此我可以使用一个主板、一个电位计和一个直接连接到主板的额外12V输入来控制发动机转速

所以这个物理的东西是可行的,但是现在的问题是,我不能创建一个方法来用PC控制arduino

这个想法是一个C#系统(已经存在,我不能修改它)来运行一个应用程序,.exe,.bat或任何东西,这个应用程序必须控制或告诉Arduino开始工作,我不知道,通过控制电压,通过延迟改变USB开关,发送一个字节,如果Arduino接收到它,它就会启动程序,我愿意接受建议和帮助


其原理是,该电机拉动一个标签,然后仅拉动一个标签,然后停止,直到PC上的应用程序再次运行,并激活arduino以传送另一个标签,然后再次停止。

只需使用
序列。在
循环中读取
以读取
字节或其他类型,然后根据接收到的值,更改
输出值


有关更多信息,请参阅此链接:

从c#可以通过串行(串行端口)接口与arduino通信。欢迎使用堆栈溢出。请花点时间阅读并参考您可以在此处询问的内容和方式。在arduino中,我使用int incomingByte和if invomingByte>0,然后执行程序,但我可以在Visual Basic上、在PC上、在putty上执行,我在串行COM8上执行连接,每次按下一个键,程序都会启动,所以它是可行的,但我不能自动化这件事,目前只是手动的。对不起,但我不明白你的问题清楚。但是我相信这个链接可以更好地帮助你:(它在Visual Basic中-我真的不明白你是否想在c#上控制arduino-因为标签-或者在VB中-因为你的评论)!查看完整的教程,以更好地了解如何与arduino和pc通信:好的,感谢该教程,我想做的是向arduino发送一个字节,例如,为了测试我使用Putty的连接,在串行COM 8上,每次输入我点击Putty都会向arduino发送一个字节并运行程序,但不是使用Putty,必须是一个应用程序的VB或CMD或东西,只有双击到它并运行,没有界面,没有按钮,就像一个.bat。