Arduino与Processing连接互动(才格力图整理)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Arduino与Processing连接互动
Arduino与Processing连接互动可以做出很多有趣的东西,Processing是通过视觉来展现的,而Arduino就可以充当外用的设备来控制Processing的视觉展现。例如:用光敏传感器来控制图像的暗量程度,震动传感器来控制屏幕中的泡泡的震动等等。上位机软件是Processing,它可以与人际物理世界互动,通过Arduino装置,让人的各种物理感官与电脑屏幕的数位艺术作品产生交流。
先认识一下串口输出的有关串口通讯:
•串口队列(Buffer)
–PC和Arduino间的缓冲区
•串口输入函数
–Serial.available()
•返回值:当前可读的数据数目
•函数Serial.available()的功能是返回串口缓冲区中当前剩余的字符
个数,按照Arduino提供的该函数的说明,串口缓冲区中最多能缓
冲128个字节。
–Serial.read()
•如果串口没有数据可读,返回 -1
•如果串口有数据可读,返回第一个字符,并从串口队列中取出
–Serial.peek()
•如果串口没有数据可读,返回-1
•如果串口有数据可读,返回第一个字符,但不从串口队列取出,因
此下次还能读到
–Serial.flush()
•清空串口队列
•串口初始化函数
–Serial.begin(speed)
•speed: 300, 1200, 2400, 4800, 9600, 14400, 19200, 28800, 38400,
57600, 115200
–通常在 setup() 函数里调用
•串口输出函数
–Serial.print(val), Serial.println(val)
•输出ASCII码(后者多一个回车换行)
–Serial.print(val, format) , Serial.println(val, format)
•按指定格式输出(后者多一个回车换行)
•Serial.print(78)
–输出"78"
•Serial.print(1.23456)
–输出"1.23"
•Serial.print(byte(78))
输出“N”(N的ASCII码值为78))(以byte进行传送,显示以ASCII编码方式) –
•Serial.print('N')
–输出"N"
•Serial.print("Hello world.")
–输出"Hello world."
下面是ASCII码对照表:
两个软件之间的通讯基本上是ASCII码。
Serial.print( 78,BYTE);或Serial.print(byte(78));例如:
在arduino中发送:46
Serial.print( 46,BYTE);
在Processing中接受:46
Processing中显示的是46。