Processing按钮控制LED灯

Posted 村头陈师傅

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Processing按钮控制LED灯相关的知识,希望对你有一定的参考价值。

Processing按钮控制LED灯

公众号:STCode

1-1-Processing介绍

1)Processing是一门用来生成图片、动画和交互软件的编程语言。

2)Processing提供了一种通过创造互动图像来学习编程的方式。

3)Processing提供反馈和交互的能力使得它成为一个流行的学习编程的方法

image.png


1-2-Processing的特点

1)草稿化

草稿化是一种思维方式,它十分有趣并且非常快捷。它的基本目标是用来在短时间内探索出许多的想法。在我们自己的工作中,我们经常在纸上画出草稿然后把结果用程序表示出来。

image.png

2)原型化

Processing包含许多不同的连接和整合而在一起工作的工具,这使得它在快速实现和深度研究方面有很大的优势,目前有超过100个库拓展了Processing,设置加入了声音、计算机视觉和电子装配等领域。


1-3 Processing下载

通过访问网站:

https://processing.org/download

找到适合自己电脑的版本并且下载

image.png


1-4-Processing开发环境

image.png


1-5 简单示例

image.png

这一行代码表示“画一个中心距离屏幕左端50像素长度,距离屏幕上端50像素长度的一个宽和高分别为80像素的椭圆”

如果输入正确,我们将会看到下图所示的图像,如果输入不正确,那么消息传递区会变红,然后告诉你存在错误

image.png

​ 正确

image.png

​ 错误信息

2-任务介绍

Arduino端与PC端通过串行数据线连接,使用Processsing创建一个按键,Processing端用鼠标点击按键可以开启Arduino端的LED灯,鼠标点击按键范围外可以关闭LED灯。


3-Processing端

Processsing主要是创建一个按钮,鼠标单击按钮范围内,会点亮Arduino端的LED灯,并且在processing下边的工作台将显示"LED turn ON!";当鼠标单击按钮范围外的话,会关闭Arduino端的LED灯,并在工作台显示"LED turn OFF!"。

代码如下:

import processing.serial.*;           //导入serial库 
Serial port;                          //实例化一个Serial对象 
void setup()
{
port= new Serial(this,"COM15",9600);    //初始化port(根据Arduino分配的端口号填写)
size(300,300); 
} 
void draw()
{     
  rect(100,100,50,50);               //绘制矩形
} 
void mouseClicked()
{ 
  if((mouseX>=100)&(mouseX<=150)&(mouseY>=100)&(mouseY<=150))                                        //当鼠标在矩形区域内单击时
{ 
println("LED turn ON!");
port.write("a");           //往串口发送小写字母a
}     
else
{
println("LED turn OFF!");
port.write("b");           //当在矩形区域外单击时,往串口发送小写字母b
} 
}

4-Arduino端

Arduino端主要是接收从Processing端发送过来的数据,当接收到字符‘a’时,点亮板载的LED灯,当接收到‘b’时,关闭板载的LED灯。

代码如下:

int c=0;
void setup()
{
 Serial.begin(9600);//比特率9600 
 pinMode(13,OUTPUT);//设置数字引脚第13脚为输出模式 
 digitalWrite(13,LOW);//设置该引脚的初始值为低电平
}
void loop()
{
 if(Serial.available())
 {
	c=Serial.read();
	if(c==97)//如果接收到字母a (ASCII码值为97 )
		digitalWrite(13,HIGH);//第13引脚置高电平,LED灯亮 
	else if(c==98)//如果接收到字母b ASCII码值为98
		digitalWrite(13,LOW);//第13引脚置低电平,LED灯灭
 }
}

5-效果演示

Arduino端:

image.png 点亮状态 image.png

​ 熄灭状态


Processsing端:

image.png

​ 白色方框为按钮,灰色区域为按钮外

image.png

​ 工作台数据显示


更多创意作品欢迎关注公众号:STCode

以上是关于Processing按钮控制LED灯的主要内容,如果未能解决你的问题,请参考以下文章

Processing控制彩色LED灯

Processing控制彩色LED灯

arduino按钮控制灯

stm32亮灯后灯不能灭

arduinoled灯按一下显示应该花样代码

arduino两个led灯交替闪烁