learing:examples:dimmer
差别
这里会显示出您选择的修订版和当前版本之间的差别。
两侧同时换到之前的修订记录前一修订版 | |||
learing:examples:dimmer [2017/10/05 03:37] – 弘毅 | learing:examples:dimmer [2023/06/07 04:23] (当前版本) – 外部编辑 127.0.0.1 | ||
---|---|---|---|
行 1: | 行 1: | ||
+ | ====== Dimmer(熄灭LED) ====== | ||
+ | |||
+ | <WRAP left round info 65%> | ||
+ | 这个例子演示了从电脑发送数据到控制器来控制LED的亮度。数据是按每个字节发送的,范围在0-255。OCROBOT控制器读取这些数据,用它们设置LED亮度。 | ||
+ | |||
+ | 你可以使用任意的可以使用电脑串口的软件来发送数据。下面的程序是用processing演示的。 | ||
+ | </ | ||
+ | |||
+ | <WRAP left round box 100%> | ||
+ | ===== ALPHA MEGA328-U核心 ===== | ||
+ | |||
+ | ==== 硬件 ==== | ||
+ | * [[ocrobot: | ||
+ | * [[ocrobot: | ||
+ | * [[ocrobot: | ||
+ | |||
+ | ==== 搭建电路 ==== | ||
+ | |||
+ | - ALPHA 11 LED模块插入并行扩展版1号槽位。 | ||
+ | - ALPHA MEGA328-U模块插入并行扩展板2号槽位。 | ||
+ | - USB线连接计算机与ALPHA MEGA328-U。 | ||
+ | |||
+ | |||
+ | </ | ||
+ | |||
+ | <WRAP left round box 100%> | ||
+ | ===== ALPHA 8F328D-U核心 ===== | ||
+ | |||
+ | ==== 硬件 ==== | ||
+ | * [[ocrobot: | ||
+ | * [[ocrobot: | ||
+ | * [[ocrobot: | ||
+ | |||
+ | ==== 搭建电路 ==== | ||
+ | |||
+ | - ALPHA 11 LED模块插入并行扩展版1号槽位。 | ||
+ | - ALPHA 8F328D-U模块插入并行扩展板2号槽位。 | ||
+ | - USB线连接计算机与ALPHA 8F328D-U。 | ||
+ | |||
+ | </ | ||
+ | |||
+ | |||
+ | <WRAP left round box 100%> | ||
+ | ===== MangoII ===== | ||
+ | |||
+ | ==== 硬件要求 ==== | ||
+ | |||
+ | |OCROBOT控制器| | ||
+ | |LED| | ||
+ | |220欧姆电阻| | ||
+ | |导线| | ||
+ | |||
+ | ==== 软件要求 ==== | ||
+ | |||
+ | Processing | ||
+ | |||
+ | |||
+ | |||
+ | 使用合适的电阻连接LED到9号引脚,,对大多数LED来说220或者330欧姆都是可以的。 | ||
+ | |||
+ | |||
+ | |||
+ | ==== 代码 ==== | ||
+ | |||
+ | |||
+ | <code cpp>/* | ||
+ | Dimmer | ||
+ | |||
+ | |||
+ | */ | ||
+ | |||
+ | const int ledPin = 9; // LED链接到9号脚 | ||
+ | |||
+ | void setup() | ||
+ | { | ||
+ | // 初始化串口通讯 | ||
+ | Serial.begin(9600); | ||
+ | // LED作为输出 | ||
+ | pinMode(ledPin, | ||
+ | } | ||
+ | |||
+ | void loop() { | ||
+ | byte brightness; | ||
+ | |||
+ | // 检查串口数据 | ||
+ | if (Serial.available()) { | ||
+ | // 读取最新到达的数据: | ||
+ | brightness = Serial.read(); | ||
+ | // 设置LED亮度 | ||
+ | analogWrite(ledPin, | ||
+ | } | ||
+ | }</ | ||
+ | Processing代码 | ||
+ | <code cpp> | ||
+ | // Dimmer - 用串口发送数据 | ||
+ | |||
+ | | ||
+ | | ||
+ | |||
+ | void setup() { | ||
+ | | ||
+ | |||
+ | | ||
+ | | ||
+ | |||
+ | // 使用列表里的第一个可用串口. 选择和arduino对应的串口和通信速率 | ||
+ | port = new Serial(this, | ||
+ | |||
+ | // 如果你知道arduino的串口,就直接这样写 | ||
+ | // | ||
+ | } | ||
+ | |||
+ | void draw() { | ||
+ | // 画一个由黑到白的渐变图 | ||
+ | for (int i = 0; i < 256; i++) { | ||
+ | | ||
+ | | ||
+ | } | ||
+ | |||
+ | // 以单字节形式把鼠标x坐标信息发送到串口 | ||
+ | |||
+ | | ||
+ | } | ||
+ | |||
+ | </ | ||
+ | |||
+ | |||
+ | |||
+ | Processing会发送数据到串口给控制器来熄灭LED | ||
+ | </ | ||