Processing控制电梯模拟程序:通过串口与Arduino互动
import processing.serial.*;
Serial port;
void setup() {
// 初始化串口对象,指定端口号和波特率
port = new Serial(this, 'COM3', 9600); // 将'COM3'替换为你的Arduino端口号
size(200, 500);
textSize(150);
}
void draw() {
background(225);
// 显示楼层数字
String floors = 'F9 F8 F7 F6 F5 F4 F3 F2 F1';
textSize(24);
fill(255, 0, 0);
textLeading(50);
text(floors, 20, 25, 40, 500);
// 绘制9个按钮
fill(100);
for (int i = 0; i < 9; i++) {
rect(50, i * 50, 100, 50);
}
}
void mouseClicked() {
// 判断鼠标点击哪个按钮
for (int i = 0; i < 9; i++) {
if ((mouseX >= 50) & (mouseX <= 150) & (mouseY >= i * 50) & (mouseY <= (i + 1) * 50)) {
int floor = 9 - i; // 计算楼层号
println(floor + 'floor'); // 在控制台打印楼层信息
// 根据楼层号发送指令到Arduino
switch (floor) {
case 9:
port.write(0x09);
break;
case 8:
port.write(0x08);
break;
case 7:
port.write(0x07);
break;
case 6:
port.write(0x06);
break;
case 5:
port.write(0xfe);
break;
case 4:
port.write(0xfd);
break;
case 3:
port.write(0xfb);
break;
case 2:
port.write(0xf7);
break;
case 1:
port.write(0xef);
break;
}
}
}
}
代码解释:
- 该代码使用Processing语言编写,模拟电梯控制界面。
- 通过
Serial库与Arduino进行串口通信,发送指令控制电梯。 setup()函数初始化串口,设置窗口大小和字体。draw()函数绘制电梯楼层显示和按钮。mouseClicked()函数检测鼠标点击事件,根据点击位置判断楼层,并发送相应指令到Arduino。- 你需要将代码中的'COM3'替换为你的Arduino端口号,并将Arduino程序烧录到板子上,才能实现完整的电梯控制模拟。
注意:
- 该程序只是一个简单的模拟,实际的电梯控制系统要复杂得多。
- 你需要根据你的Arduino程序修改发送的指令,以匹配实际的控制逻辑。
原文地址: https://www.cveoy.top/t/topic/gdY5 著作权归作者所有。请勿转载和采集!