三维扫描仪[7]——认识Processing和Arduino开发环境

Processing
Processing界面

这里写图片描述
Arduino界面

这里写图片描述
简单的Processing程序

这里写图片描述
简单的通讯程序(Processing)
这里写图片描述
简单的通讯程序(Arduino)
这里写图片描述
这里写图片描述


Processing
setup();
setup()函数只会执行一次,在程序最开始运行时执行。
draw();
draw()函数会在整个生命周期内持续执行。每一次执行draw()被称为一帧,默认60帧每秒,但是这是可以被修改的。
size();
size()函数有两个参数,第一个定义窗口的宽度,第二个定义高度。当然size()函数也可以有第三个参数,它可以是P3D或是OPENGL,这样我们就可以画出Z轴。
translate();
translate()函数是平移函数。我们可以利用该函数,在x、y方向上移动原点。比如说一开始原点在最左上角(0,0)的位置,我们用translate(50,0)就可以将原点移动至(50,0)的位置。
rotate();
rotate()函数将坐标系统进行旋转,它有一个参数,就是旋转的弧度。它总是相对(0, 0)旋转。
pushMatrix(); & popMatrix();
为了使每次变换的效果独立而不互相影响,可以使用pushMatrix(); 和 popMatrix();函数。当pushMatrix()函数运行时,它将会储存一份当前坐标系统拷贝,在调用popMatrix()后恢复。所以,pushMatrix()和popMatrix()总是成对出现的。
ArrayList<>
ArrayList存储可变数量的对象。 这类似于制作一个对象数组,但是使用ArrayList,可以从ArrayList添加和删除项目,并动态调整其大小。 这可以非常方便,但是比使用许多元素时制作一个对象数组要慢。 请注意,对于可调整大小的整数,浮点和字符串列表,可以使用Processing类IntList,FloatList和StringList。
ArrayList是Java List接口的可调整大小的数组实现。 它有许多方法用于控制和搜索其内容。 例如,ArrayList的长度由其size()方法返回,该方法是列表中元素总数的整数值。 使用add()方法将元素添加到ArrayList,并使用remove()方法删除。 get()方法返回列表中指定位置的元素。
PVector
描述一个二维或三维矢量的类,特别是欧几里德(也称为几何)矢量。为3D)。可以通过mag()和heading()方法访问大小和方向。
在许多Processing示例中,您将看到用于描述位置,速度或加速度的PVector。例如,如果您考虑在屏幕上移动一个矩形,则在任何给定的时刻,它都有一个位置(从原点到其位置的向量),速度(对象的位置随时间单位变化的速率)作为向量)和加速度(物体的速度随时间变化的速率,表示为向量)。由于向量表示值的分组,我们不能简单地使用传统的加法/乘法等。相反,我们需要做一些“矢量”数学,这通过PVector类中的方法变得容易。


Arduino
setup();
使用setup()函数来初始化变量,引脚模式,开始使用库等。只能在Arduino板的每次上电或复位后运行一次。
loop();
loop()函数会循环执行。
Serial
TX / RX引脚上的串行通信使用TTL逻辑电平(5V或3.3V,具体取决于电路板)。
TX / RX引脚上的串行通信使用TTL逻辑电平(5V或3.3V,具体取决于电路板)。请勿将这些引脚直接连接到RS232串行端口; 它们的工作电压为+/- 12V,可能会损坏您的Arduino电路板。
串口用于Arduino板和计算机或其他设备之间的通信。所有Arduino板卡至少有一个串口(也称为UART或USART):串口。它在数字引脚0(RX)和1(TX)以及通过USB与计算机通信。因此,如果使用这些功能,则不能使用引脚0和1进行数字输入或输出。
您可以使用Arduino环境的内置串行显示器与Arduino板进行通信。单击工具栏中的串行监视器按钮,并选择与begin()调用相同的波特率。
delay();
将程序暂停指定为参数的时间量(以毫秒为单位)。(一秒钟有1000毫秒)
analogRead():
读取指定模拟引脚的值。Arduino板包含6个通道(Mini和Nano上的8个通道,Mega上的16个通道),10位模数转换器。这意味着它将0到5伏特之间的输入电压映射到0到1023之间的整数值。这产生了读数之间的分辨率:每单位5伏/ 1024单位或.0049伏特(4.9 mV)。可以使用analogReference()更改输入范围和分辨率。
读取模拟输入大约需要100微秒(0.0001秒),所以最大读取速度约为10,000次。

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值