用户工具

站点工具


learing:examples:dimmer

差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录前一修订版
后一修订版
前一修订版
learing:examples:dimmer [2017/04/07 10:03] – 外部编辑 127.0.0.1learing: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>
 +
 +<WRAP left round box 100%>
 +===== ALPHA MEGA328-U核心 =====
 +
 +==== 硬件 ====
 +  * [[ocrobot:alpha:parallelexpansion:index|ALPHA 并行扩展板]]
 +  * [[ocrobot:alpha:mega328-u:main|ALPHA MEGA328-U]]
 +  * [[ocrobot:alpha:11led:index|ALPHA 11 LED模块]]
 +
 +==== 搭建电路 ====
 +
 +  - ALPHA 11 LED模块插入并行扩展版1号槽位。
 +  - ALPHA MEGA328-U模块插入并行扩展板2号槽位。
 +  - USB线连接计算机与ALPHA MEGA328-U。
 +
 +
 +</WRAP>
 +
 +<WRAP left round box 100%>
 +===== ALPHA 8F328D-U核心 =====
 +
 +==== 硬件 ====
 +  * [[ocrobot:alpha:parallelexpansion:index|ALPHA 并行扩展板]]
 +  * [[ocrobot:alpha:8f328d-u:index|ALPHA 8F328D-U]]
 +  * [[ocrobot:alpha:11led:index|ALPHA 11 LED模块]]
 +
 +==== 搭建电路 ====
 +
 +  - ALPHA 11 LED模块插入并行扩展版1号槽位。
 +  - ALPHA 8F328D-U模块插入并行扩展板2号槽位。
 +  - USB线连接计算机与ALPHA 8F328D-U。
 +
 +</WRAP>
 +
 +
 +<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, OUTPUT);
 +}
 +
 +void loop() {
 +  byte brightness;
 +
 +  // 检查串口数据
 +  if (Serial.available()) {
 +    // 读取最新到达的数据:
 +    brightness = Serial.read();
 +    // 设置LED亮度
 +    analogWrite(ledPin, brightness);
 +  }
 +}</code>
 +Processing代码
 +<code cpp>
 + // 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);
 + }
 +
 + </code>
 +
 +
 +
 +Processing会发送数据到串口给控制器来熄灭LED
 +</WRAP>
  
learing/examples/dimmer.txt · 最后更改: 2023/06/07 04:23 由 127.0.0.1