这个例子演示了从电脑发送数据到控制器来控制LED的亮度。数据是按每个字节发送的,范围在0-255。OCROBOT控制器读取这些数据,用它们设置LED亮度。
你可以使用任意的可以使用电脑串口的软件来发送数据。下面的程序是用processing演示的。
OCROBOT控制器 |
LED |
220欧姆电阻 |
导线 |
Processing
使用合适的电阻连接LED到9号引脚,,对大多数LED来说220或者330欧姆都是可以的。
/* Dimmer */ const int ledPin = 9; // LED链接到9号脚 void setup() { // 初始化串口通讯 Serial.begin(9600); // LED作为输出 pinMode(ledPin, OUTPUT); } void loop() { byte brightness; // 检查串口数据 if (Serial.available()) { // 读取最新到达的数据: brightness = Serial.read(); // 设置LED亮度 analogWrite(ledPin, brightness); } }
Processing代码
// Dimmer - 用串口发送数据 import processing.serial.*; Serial port; void setup() { size(256, 150); println("Available serial ports:"); println(Serial.list()); // 使用列表里的第一个可用串口. 选择和arduino对应的串口和通信速率 port = new Serial(this, Serial.list()[0], 9600); // 如果你知道arduino的串口,就直接这样写 //port = new Serial(this, "COM1", 9600); } void draw() { // 画一个由黑到白的渐变图 for (int i = 0; i < 256; i++) { stroke(i); line(i, 0, i, 150); } // 以单字节形式把鼠标x坐标信息发送到串口 port.write(mouseX); }
Processing会发送数据到串口给控制器来熄灭LED