用户工具

站点工具


learing:examples:dimmer

Dimmer(熄灭LED)

这个例子演示了从电脑发送数据到控制器来控制LED的亮度。数据是按每个字节发送的,范围在0-255。OCROBOT控制器读取这些数据,用它们设置LED亮度。

你可以使用任意的可以使用电脑串口的软件来发送数据。下面的程序是用processing演示的。

ALPHA MEGA328-U核心

硬件

搭建电路

  1. ALPHA 11 LED模块插入并行扩展版1号槽位。
  2. ALPHA MEGA328-U模块插入并行扩展板2号槽位。
  3. USB线连接计算机与ALPHA MEGA328-U。

ALPHA 8F328D-U核心

硬件

搭建电路

  1. ALPHA 11 LED模块插入并行扩展版1号槽位。
  2. ALPHA 8F328D-U模块插入并行扩展板2号槽位。
  3. USB线连接计算机与ALPHA 8F328D-U。

MangoII

硬件要求

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

learing/examples/dimmer.txt · 最后更改: 2023/06/07 04:23 由 127.0.0.1