{{ 'fb_in_app_browser_popup.desc' | translate }} {{ 'fb_in_app_browser_popup.copy_link' | translate }}
{{ 'in_app_browser_popup.desc' | translate }}
{{word('consent_desc')}} {{word('read_more')}}
{{setting.description}}
價格均為含稅價,滿1000元享免運優惠!歡迎公司及學校機關團體大量採購, 由專人提供專案報價。
{{ childProduct.title_translations | translateModel }}
{{ getChildVariationShorthand(childProduct.child_variation) }}
{{ getSelectedItemDetail(selectedChildProduct, item).childProductName }} x {{ selectedChildProduct.quantity || 1 }}
{{ getSelectedItemDetail(selectedChildProduct, item).childVariationName }}
產品貨號:368031600131
區號:La13-12
品牌:M5Stack
原廠貨號:U011
EXT.IO 是一款並行端口拓展器,集成了IO拓展晶片PCA9554PW,支持拓展至8個GPIO,能夠用於用於2.3~5.5V VCC、開漏、上拉、中斷輸出操作.通過I2C接口(串行時鐘SCL,串行數據SDA)輔助多數的微控制器提供I/0拓展,對於I/O引腳緊缺,又不想浪費資源添加額外控制器的開發者來說,EXT.IO會是一個不錯輔助Unit。
全店,滿千郵寄超商純取免運優惠
商品存貨不足,未能加入購物車
您所填寫的商品數量超過庫存
{{'products.quick_cart.out_of_number_hint'| translate}}
{{'product.preorder_limit.hint'| translate}}
每筆訂單限購 {{ product.max_order_quantity }} 件
現庫存只剩下 {{ quantityOfStock }} 件
商品簡介 |
EXT.IO 是一款並行端口拓展器,集成了IO拓展晶片PCA9554PW,支持拓展至8個GPIO,能夠用於用於2.3~5.5V VCC、開漏、上拉、中斷輸出操作.通過I2C接口(串行時鐘SCL,串行數據SDA)輔助多數的微控制器提供I/0拓展,對於I/O引腳緊缺,又不想浪費資源添加額外控制器的開發者來說,EXT.IO會是一個不錯輔助Unit。
● I2C通訊
● 輸入輸出拓展
● GROVE 接口, 支持 UIFlow 、 Arduino
● 2x LEGO 兼容孔
商品規格 |
規格 | 參數 |
IIC地址 | 0x27 |
I/O擴展數量 | 8 |
淨重 | 5g |
產品尺寸 | 32x 24x 11 (mm) |
電路圖 |
參考原理圖及PCA9554PW數據手冊可知,該Unit能夠通過控制A0~A2引腳的電平組合,修改設備的I2C地址。 (默認地址為0x27,更多信息請查看datasheet) 在Unit的PCB板上預留了三個貼片電阻焊接位,分別為A0-A2(R6-R8),如下圖所示。
相關連結 |
Datasheet - PCA9554PW
EasyLoader |
管腳映射 |
M5Core(GROVE A) | GPIO22 | GPIO21 | 5V | GND |
EXT.IO Unit | SCL | SDA | 5V | GND |
範例程式 |
如何查詢I2C位址 |
STEP 1. 將欲查詢的模組連接至Arduino UNO(附圖為腳位參考,實際請比對商品標示接線)
STEP 2. 開啟Arduino IDE並新增檔案
STEP 3. 貼入教學下方的範例文件,並上傳到Arduino UNO,即會開始掃描I2C位址
STEP 4. 開啟序列埠監控視窗,即可取得I2C位址
/ ---------------------------------------------------------------- / | |
// Arduino I2C Scanner | |
// Re-writed by Arbi Abdul Jabbaar | |
// Using Arduino IDE 1.8.7 | |
// Using GY-87 module for the target | |
// Tested on 10 September 2019 | |
// This sketch tests the standard 7-bit addresses | |
// Devices with higher bit address might not be seen properly. | |
/ ---------------------------------------------------------------- / | |
#include //include Wire.h library | |
void setup() | |
{ | |
Wire.begin(); // Wire communication begin | |
Serial.begin(9600); // The baudrate of Serial monitor is set in 9600 | |
while (!Serial); // Waiting for Serial Monitor | |
Serial.println("\nI2C Scanner"); | |
} | |
void loop() | |
{ | |
byte error, address; //variable for error and I2C address | |
int nDevices; | |
Serial.println("Scanning..."); | |
nDevices = 0; | |
for (address = 1; address < 127; address++ ) | |
{ | |
// The i2c_scanner uses the return value of | |
// the Write.endTransmisstion to see if | |
// a device did acknowledge to the address. | |
Wire.beginTransmission(address); | |
error = Wire.endTransmission(); | |
if (error == 0) | |
{ | |
Serial.print("I2C device found at address 0x"); | |
if (address < 16) | |
Serial.print("0"); | |
Serial.print(address, HEX); | |
Serial.println(" !"); | |
nDevices++; | |
} | |
else if (error == 4) | |
{ | |
Serial.print("Unknown error at address 0x"); | |
if (address < 16) | |
Serial.print("0"); | |
Serial.println(address, HEX); | |
} | |
} | |
if (nDevices == 0) | |
Serial.println("No I2C devices found\n"); | |
else | |
Serial.println("done\n"); | |
delay(5000); // wait 5 seconds for the next I2C scan | |
} |
出貨清單 |