Ameba Arduino: [RTL8195] [RTL8710] 读取目前的PM2.5空气悬浮粒子读数

材料准备

  • Ameba x 1
  • PlanTower PMS3003 (or PMS5003) x 1

范例说明

PMS3003 (或PMS5003) 是一款空气悬浮粒子感测器,使用激光散射原理,能够得到空气中0.3 ~ 10微米悬浮颗粒物浓度。测出来的数据,会经由UART输出。
它可以读出PM 1.0, PM 2.5, PM 10的数据。以PM2.5为例子, 表示每立方公尺的空气中直径小于2.5 um的悬浮例子密度。
这个范例在 “File” -> “Examples” -> “AmebaSoftwareSerial” -> “PMS3003AirQuality”
接线的部份,PMS3003一共有8根pin:

它的VCC需要接到5V的电源, 但内部IC的工作电压是3.3V, 所以Reset, TX, RX, Set的工作电压都是3.3V
Set这根pin如果对它pull high, 可以让PMS3003处于工作模式, 如果对它pull low, 则让它处于standby mode
Reset的作用是让PMS3003 reset
TX/RX这两根pin是UART的pin,PMS3003在工作模式下,会不停地输出读到的数据,每笔数据的长度是32 byte,资料格式可以参考:https://www.dfrobot.com/wiki/index.php?title=PM2.5_laser_dust_sensor_SKU:SEN0177
接线的方式如下图:

RTL8710 接线的方式如下圖:
2-2-4

这个例子里并没有接Set与Reset这两根pin

上传程式码之后,按下Ameba的Reset按钮,并且开启Serial Monitor,就可以看到读到的PM 2.5数据