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程序修改发送的指令,以匹配实际的控制逻辑。
Processing控制电梯模拟程序:通过串口与Arduino互动

原文地址: https://www.cveoy.top/t/topic/gdY5 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录