首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Netbeans和控件中的Arduino (processing)库

Netbeans和控件中的Arduino (processing)库
EN

Stack Overflow用户
提问于 2010-04-26 04:13:56
回答 2查看 4.8K关注 0票数 4

我正在尝试控制4个LED,并从4个触点获得模拟输入。程序是用java编写的,所以为了访问arduino的函数,比如AnalogRead(),并将发光二极管设置为高或低,导入处理库会让程序使用这些函数吗?

我还想知道,如果程序,将被转移到arduino本身,或java程序将只是从引脚中拉出数据?

EN

回答 2

Stack Overflow用户

发布于 2010-04-26 16:44:22

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

更新2:也尝试此链接:Netbeans and Processing

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

下面是我为一个LED和一个模拟输入所做的一个快速示例。这是未经测试的代码。按照以下步骤操作。一旦成功,您可以尝试在Netbeans中直接对Arduino使用Processing。

步骤1. Arduino

Arduino board.

  • Download (http://www.arduino.cc)

  • Connect the Arduino to computer.

  • Copy
  1. computer.
  2. Copy
    1. IDE.
    2. Upload to the Arduino to you computer.
    3. Copy the Arduino IDE.
    4. Upload to the Arduino.

步骤2.处理的

  1. 下载处理集成开发环境。
  2. 将处理代码(如下所示)复制到处理集成开发环境中。
  3. 确保代码中的COM端口是Arduino连接到的端口。
  4. 运行处理代码。

< code >G231

Arduino代码:

代码语言:javascript
复制
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;
        }
    }
}

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

代码语言:javascript
复制
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() );
}
票数 3
EN

Stack Overflow用户

发布于 2010-04-26 08:40:49

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

这篇文章应该能让你上手:Arduino and Processing

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2709792

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档