1、动手玩转动手玩转ArduinoArduino(三三)串口输入输出串口输入输出Arduino北京俱乐部串口通信串口通信 串口通信(Serial Communication)是Arduino和计算机间按位进行数据传输的一种最基本的方式。使用3根线完成 地线,GND 发送,Tx 接收,Rx 主要参数 波特率:通信速度,表示每秒钟传送的位(bit)的个数 数据位 停止位 奇偶校验位Arduino 串口串口USB转串口 PC端:串口 Arduino端:USB串口引脚 RX:Pin 0 TX:Pin 1串口数目 Arduino MEGA和Arduino 2560:4个 其余:1个串口初始化函数 Seria
2、l.begin(speed)speed:300,1200,2400,4800,9600,14400,19200,28800,38400,57600,115200 通常在 setup()函数里调用Arduino 串口输出串口输出 将数据从Arduino传输到PC TX 串口转USB PC端软件串口监视软件 Arduino IDE自带串口监视软件 也可以用其它软件进行接收:Flash,Processing,Director,vvvv等 串口输出函数 Serial.print(val),Serial.println(val)输出ASCII码(后者多一个回车换行)Serial.print(val,fo
3、rmat),Serial.println(val,format)按指定格式输出(后者多一个回车换行)Serial.print(val)实例实例 Serial.print(78)输出78 Serial.print(1.23456)输出1.23 Serial.print(byte(78)输出“N”(N的ASCII码值为78))Serial.print(N)输出N Serial.print(Hello world.)输出Hello world.Serial.print(val,format)实例实例Serial.print(78,BYTE)输出N Serial.print(78,BIN)输出1001
4、110 Serial.print(78,OCT)输出116 Serial.print(78,DEC)输出78 Serial.print(78,HEX)输出4E Serial.print(1.23456,0)输出1 Serial.print(1.23456,2)输出1.23 Serial.print(1.23456,4)输出1.2346 动手动手动手动手 尝试输出更多格式的数据到计算机 Serial.print(78)Serial.print(1.23456)Serial.print(byte(78)Serial.print(N)Serial.print(Hello world.)Serial.
5、print(78,BYTE)Serial.print(78,BIN)Serial.print(78,DEC)Serial.print(78,HEX)Serial.print(1.23456,2)串口液晶模块串口液晶模块波特率9600命令格式所有对该液晶屏进行控制的串口命令都以字符”$”开始,以回车换行”rn”结束,两者之间是相应的命令和参数,不同的命令具有不同的参数。操作命令光标移动:GO行列行和列均从1开始GO 1 1在当前光标位置上显示字符串 PRINT字符串PRINT Hello Arduino清屏:CLEAR 将光标移回到屏幕左上角的初始位置:HOME 设置光标效果:CURSOR显示闪
6、烁第一个参数为是否显示光标(1和0)第二个参数为是否闪烁(1和0)CURSOR 1 1一个完整命令的例子Serial.print($PRINT Flamingo EDArn);Serial.println($PRINT Flamingo EDA);动手动手 要求:清屏后在屏幕上的第二行第二列开始显示字符串Arduino Club 提示提示 在在loop的最后加的最后加delay防止闪烁防止闪烁 在下载代码的时候不能接显示屏在下载代码的时候不能接显示屏Arduino 串口输入串口输入串口队列(Buffer)PC和Arduino间的缓冲区串口输入函数 Serial.available()返回值:当
7、前可读的数据数目 Serial.read()如果串口没有数据可读,返回-1 如果串口有数据可读,返回第一个字符,并从串口队列中取出 Serial.peek()如果串口没有数据可读,返回-1 如果串口有数据可读,返回第一个字符,但不从串口队列取出,因此下次还能读到 Serial.flush()清空串口队列动手动手作业作业 从串口输入以$开始,以回车换行(rn)的命令,对其进行解析,控制指定数字I/O引脚上的LED,第一个参数为引脚号,第二个参数为亮灭$D 2 1rn$D 3 0rn 控制指定PWM端口上的LED亮度 第一个参数为引脚号,第二个参数为亮度值$P 6 128rn基于串口的电子积木(一)基于串口的电子积木(一)串行液晶显示屏串行液晶显示屏 字符型字符型 1602 LCD 1602 LCD USBUSB转串口适配器转串口适配器 RS485RS485串口模块串口模块 MAX232 MAX232 串口模块串口模块 无线数据传输模块无线数据传输模块 APC220 APC220 蓝牙串口模块蓝牙串口模块基于串口的电子积木(二)基于串口的电子积木(二)串口串口RFIDRFID模块模块 10cm 10cm 串口串口RFIDRFID模块模块 6cm 6cm XBee USB XBee USB 适配器适配器 谢谢!