Netduans中的Arduino(处理)库和控制

我试图控制4个LED并从4个触点获得模拟输入。 程序是用java编写的,所以为了获得arduino的function,例如AnalogRead()并将LED设置为高或低,是否会导入处理库让程序使用这些function?

我也想知道,如果该程序将自动转移到arduino,或者java程序只是从引脚中提取数据?

更新 :我的建议是首先尝试自己将Arduino与Processing进行通信。 这就是我在下面描述的内容。 如果您想直接使用Processing直接控制Arduino,Binary Nerd提供的链接是您入门的最佳选择。

更新2 :尝试此链接: Netbeans和Processing


Arduino代码在Arduino上运行,Processing代码在您的计算机上运行。 如果您想通过Processing控制Arduino,您很可能会使用串口,​​并创建两个程序。 一个在Arduino上,可能会接收命令并执行操作(打开或关闭LED)或发回答案。 另一方面,在Processing中,可能会向Arduino发送必要的命令并以某种方式处理它的答案。

这是我为一个LED和一个模拟输入做的快速示例。 这是未经测试的代码。 按照步骤。 一旦这个工作,你可以尝试直接使用Netbeans中的Arduino。

第1步.Arduino

  1. 买Arduino板。
  2. 下载Arduino IDE( http://www.arduino.cc
  3. 将Arduino连接到您的计算机。
  4. 将Arduino代码(如下)复制到Aruino IDE中。
  5. 上传到Arduino。

第2步。 处理

  1. 下载处理IDE。
  2. 将处理代码(如下)复制到Processing IDE中。
  3. 确保代码中的COM端口是Arduino所连接的端口。
  4. 运行处理代码。

Arduino代码:

int ledPin = 13; int analogPin = 0; char c = 0; void setup() { pinMode( ledPin, OUTPUT ); Serial.begin( 9600 ); } void loop() { // Wait for a character to arrive at the serial port. if( Serial.available() > 0 ) { // Read one byte (character). c = Serial.read(); switch( c ) { case '1': // Turn LED on. digitalWrite( ledPin, HIGH ); break; case '0': // Turn LED off. digitalWrite( ledPin, LOW ); break; case 'q': case 'Q': // Send the reading from the analog pin throught the serial port. Serial.println( analogRead( analogPin ) ); break; } } } 

处理代码(在您的计算机上运行)。

 import processing.serial.*; Serial serial; String str; void setup() { size(400, 400); serial = new Serial(this, "COM1", 9600); // Use the serial port connected // to your Arduino. while( true ) { serial.write( '1' ); // Turn LED on. delay( 1000 ); // Wait one second serial.write( '0' ); // Turn LED off. delay( 1000 ); serial.write( 'Q' ); // Get analog reading serial.bufferUntil( 10 ); // Wait for the data from the Arduino. // This captures characters until a newline // is received, the runs serialEvent()... } } void draw() { background(0); } void serialEvent(Serial s) { println( s.readString() ); } 

使用处理库的想法是将标准固件程序上传到arduino,然后使用串行通信使用java和处理来访问arduino函数。

本文将帮助您: Arduino和Processing

因此,在Java程序中,您可以从输入读取模拟值,并根据读数更改输出引脚上的值。