Arduino 和处理 3:"Dimmer" 内置示例

Arduino & Processing 3: "Dimmer" Built-In Example

好的,所以我在 Windows 10 PC 以及 Processing 3 上使用 Arduino Uno。我正在尝试按照 Arduino 网站上的说明来控制 LED 的亮度通过在 PC 屏幕上移动我,让 Arduino 软件与处理合作。 (这里是我正在谈论的项目的link:https://www.arduino.cc/en/Tutorial/Dimmer)它看起来很简单,但它并不是很有效。 LED 会发光,但它的亮度不会随着鼠标的 X 位置而变化,并且它的发光是闪烁的。我没有收到任何错误代码。

关于电路,我有一个LED连接到PWM pin 9,有一个200欧姆的电阻接地;我确信 LED 的极性设置正确。该网站不清楚 Processing 和 Arduino 软件应该如何协作才能实现这一目标。 (因此,如果可能的话,我将不胜感激。)Arduino 和处理代码如下。我不明白我做错了什么?

这是我的 Arduino 代码:

const int ledPin = 9;      // the pin that the LED is attached to

void setup() {
  // initialize the serial communication:
  Serial.begin(9600);
  // initialize the ledPin as an output:
  pinMode(ledPin, OUTPUT);
}

void loop() {
  byte brightness;

  // check if data has been sent from the computer:
  if (Serial.available()) {
    // read the most recent byte (which will be from 0 to 255):
    brightness = Serial.read();
    // set the brightness of the LED:
    analogWrite(ledPin, brightness);
  }
}

这是我的处理代码:

import processing.serial.*;

import cc.arduino.*;

Arduino arduino;

void setup() {
  size(256, 150);

  arduino = new Arduino(this, "COM3", 9600);

}

void draw() {
  background(constrain(mouseX, 0, 255));

  arduino.analogWrite(9, constrain(mouseX, 0, 255)); // 

}

想知道的朋友,我的功能代码如下:

Arduino 部分:

const int ledPin = 9;      // the pin that the LED is attached to

void setup() {
  // initialize the serial communication:
  Serial.begin(9600);
  // initialize the ledPin as an output:
  pinMode(ledPin, OUTPUT);
}

void loop() {
  int brightness;

  // check if data has been sent from the computer:
  if (Serial.available()) {
    // read the most recent byte (which will be from 0 to 255):
    brightness = Serial.read();
    // set the brightness of the LED:
    analogWrite(9, brightness);
  }

  delay(10);
}

处理部分(处理 3):

import processing.serial.*;

import cc.arduino.*;

Serial arduino;

void setup() {
  size(256, 150);

  arduino = new Serial(this, "COM3", 9600);

}

void draw() {
  background(constrain(mouseX, 0, 255));

  arduino.write(constrain(mouseX, 0, 255)); //  
}