IO Expander - 使用I/O Expander模组扩展I/O
材料准备
- Ameba x 1
- SparkFun SX1509 I/O Expander x 1
- LED x 1
范例说明
本范例使用SX1509 I/O Expander模组来扩展I/O,能将之扩展至16组I/O ports, 我们需要以下library:
https://github.com/sparkfun/SparkFun_SX1509_Arduino_Library/archive/master.zip
https://github.com/sparkfun/SparkFun_SX1509_Arduino_Library/archive/master.zip
安装library的方式请参考Arduino官方网站的教学文章将zip档的library加入Ameba:
https://www.arduino.cc/en/Guide/Libraries#toc4
接着打开范例 “File” -> “Examples” -> “SX1509 IO Expander” -> “breathe”
RTL8195接线如下图:
RTL8710接线如下圖:
程式码说明
此范例让LED的灯光明暗效果,仿效人类的呼吸行为。
首先设定SX1509的pin 15为本范例LED的output port, 因此LED的正极请接SX1509的pin 15
首先设定SX1509的pin 15为本范例LED的output port, 因此LED的正极请接SX1509的pin 15
const byte SX1509_LED_PIN = 15;
使用内部的2MHz 振荡器,并且设定LED clock为500kHz (2MHz / (2^(3-1))
io.clock(INTERNAL_CLOCK_2MHZ, 3);
让LED变成呼吸的灯(全暗、全亮、渐亮、渐暗)不断循环,参数设定:
全暗持续时间:1000ms
全亮持续时间:500ms
渐亮持续时间:500ms
渐暗持续时间:250ms
io.breathe(SX1509_LED_PIN, 1000, 500, 500, 250);
Copyrights ©瑞晟微电子(苏州)有限公司 2021. All rights reserved. 使用条款