我要用processing作为上位进行串行通讯控制51单片机processing中绘制一个九层楼的电梯按钮图并配上相应的楼层单片机仿真中的数字用88的点阵屏显示当我在processing中点击相应的楼层时点阵屏中会滚动显示相应的数字点阵屏的初始显示为1例如:初始状态下我在processing中用鼠标点击楼层5时processing会发送0x05给单片机单片机在接受到来自processing的信息0
首先,你需要在Processing中绘制九层楼的电梯按钮图。可以使用Processing中的图形库来绘制按钮和楼层数字。例如,你可以使用ellipse()函数来绘制圆形按钮,使用text()函数来绘制楼层数字。
接着,你需要使用Processing中的串口库来与单片机进行通讯。你可以使用Serial类来打开串口,发送数据和接收数据。例如,你可以使用Serial.write()函数来发送0x05给单片机,使用Serial.read()函数来接收单片机返回的数据。
在单片机方面,你需要编写相应的程序来接收来自Processing的数据,并根据数据来控制点阵屏的显示。你可以使用串口通讯库来接收数据,使用点阵屏库来控制点阵屏的显示。
例如,你可以编写一个函数来接收Processing发送的数据,并根据数据来滚动点阵屏上的数字。例如:
void receiveData() {
if (Serial.available() > 0) {
int data = Serial.read();
int currentNumber = 1;
for (int i = 1; i <= data; i++) {
// 滚动数字
displayNumber(currentNumber);
delay(100);
currentNumber++;
}
}
}
其中,displayNumber()函数用来控制点阵屏的显示,delay()函数用来控制滚动速度。
最后,你需要将Processing和单片机的程序进行串口连接,以实现整个系统的功能。你可以将Processing和单片机的程序分别编译并上传到各自的设备中,然后通过串口进行通讯。例如,你可以在Processing中使用Serial.write()函数发送数据,然后在单片机中使用Serial.read()函数接收数据,并根据数据来控制点阵屏的显示
原文地址: https://www.cveoy.top/t/topic/dIXV 著作权归作者所有。请勿转载和采集!