EXI-16IO Series : Arduino sample code

ตัวอย่างโปรแกรมการใช้งานบอร์ด EXI-16IO Series ซึ่งเป็นบอร์ดขยาย IO จำนวน 16 บิต ด้วยชิพ MCP23017 โดยจัดวงจรให้ขยาย Input แบบ Opto-Isolator ขนาด 8 ช่อง และ Output relay ขนาด 8 ช่อง ผ่านการสื่อสารแบบ I2C Bus ด้วยสานสัญญาณเพียง 2 เส้น (SDA,SCL) และยังสามารถกำหนด Address ให้กับบอร์ดได้ เพื่อให้สามารถใช้งานบอร์ดได้พร้อมกันถึง 8 บอร์ด

Hardware Interface , I2C Bus

ตัวอย่างการเชื่อมต่อกับบอร์ดไมโครคอนโทรลเลอร์ รุ่น AVR-AP2 กับ EXO-16IO

Hardware I/O assignment

  • GPA 0..7 = Relay output
  • GPB 0..7 = Input opto-isolator

Arduino Sample Code

โดยในตัวอย่างนี้เป็นโค็ดสำหรับ Arduino ร่วมกับไลบรารีของ Adafruit_MCP23017
Library download link :
https://github.com/adafruit/Adafruit-MCP23017-Arduino-Library

ตัวอย่างโปรแกรม

1. Toggle_GPA0 , โปรแกรมควบคุมให้ Relay output ช่องแรก ON/OFF สลับกัน ทุกๆ 1 วินาที

 

2. GPA_Moving_Relay , โปรแกรมควบคุมให้ Relay ทำงานทีละตัว แบบเียงกันไปจนครบทั้ง 8 ตัว และวนซ้ำเรื่อยไป

 

3. GPB_input_to_GPA_output , โปรแกรมอ่านสัญญาณอิพุตจาก Opto-Isolator แล้วส่งค่าออกไปยัง Relay output ทันที