Difference between revisions of "SWLEDX8-I2C"

From Land Boards Wiki
Jump to navigation Jump to search
Line 92: Line 92:
 
** digitalRead(uint8_t bit) - read a single Switch (bit=0-7)
 
** digitalRead(uint8_t bit) - read a single Switch (bit=0-7)
 
** digitalWrite(uint8_t bit, uint8_t wrVal) - write a single LED (nit=8-15)
 
** digitalWrite(uint8_t bit, uint8_t wrVal) - write a single LED (nit=8-15)
 +
* [https://github.com/land-boards/lb-Arduino-Code/blob/master/LBCards/SWLED8X/SWLEDX8_01/SWLEDX8_01.ino SWLEDX8_01.ino] - Read 8 Switches, Write 8 LEDs
 
* [https://github.com/land-boards/lb-Arduino-Code/tree/master/LBCards/ArduinoInABox/AiBMenu Example running on Arduino in a Box]
 
* [https://github.com/land-boards/lb-Arduino-Code/tree/master/LBCards/ArduinoInABox/AiBMenu Example running on Arduino in a Box]
  

Revision as of 14:25, 24 May 2022

SWLEDX8-I2C-P119-Orth-720px.JPG

Features

  • 16-Bit MCP23017
    • I2C interface
  • I2C Daisy-Chain (In/Out) connectors
  • (3) I2C Address select jumpers for up to 8 devices per I2C bus
  • SCL/SDA termination jumpers
  • 2x10 pins
  • 59mmx38mm
  • (4) #4-40 mounting holes
  • SWLEDx8-I2C can be used standalone or stacked together with the SWLEDX8 card

Build Options

  • There are a number of options for using the card
    • Stacked option with SWLEDX8 card
    • Small footprint
    • Low height/profile

Stacked option with SWLEDX8 card

  • SWLEDX8 card mounts above this card
  • Pins can be directly mounted to both cards or male/female connector pairs can be used

SWLEDX8-I2C FRONT(DOWN) REV2.png

Small footprint option

SWLEDX8-I2C FRONT(STRT) REV2.png

Low height/profile option

SWLEDX8-I2C FRONT(RT ANGL) REV2.png

Rear Side Marking

SWLEDX8-I2C REAR(STRT) REV2.png

Connectors

  • Connectors are as follows

SWLEDX8-I2C-CAD(REV2).PNG

P1 - GPIO Pins

SWLEDX8-I2C P1A.PNG

Connections to SWLEDX8 Card

  • When paired with SWLEDX8
    • MCP23017 Port A connects to SWITCHES 0-7 on SWLEDX8
    • MCP23017 Port B connects to LEDs 0-7 on SWLEDX8

SWLEDX8-I2C P1.PNG

P2 - I2C Interface

SWLEDX8-I2C P2A.PNG

  • 2X5 header
  • Pinout
  1. GND
  2. VCC
  3. SDA
  4. SCL
  5. INTA

SWLEDX8-I2C P2.PNG

P3 - I2C Terminators / I2C Address Offset Jumpers

SWLEDX8-I2C P3A.PNG

  • Install left 2 jumpers to terminate I2C bus
    • Typically, the "last" card in a chain
  • Install right 3 jumpers for I2C base address offset in range 0x20 (all installed) to 0x27 (all removed)

SWLEDX8-I2C P3.PNG

Drivers / Software Examples

Arduino

  • LandBoards MCP23017
    • pinMode(uint8_t bit, uint8_t value) - Set bits 0-7=Input, 8-15=Output
    • readGPIOA() - Read the 8 Switches
    • writeOLATB(uint8_t baData) _ Write the 8 LEDs
    • digitalRead(uint8_t bit) - read a single Switch (bit=0-7)
    • digitalWrite(uint8_t bit, uint8_t wrVal) - write a single LED (nit=8-15)
  • SWLEDX8_01.ino - Read 8 Switches, Write 8 LEDs
  • Example running on Arduino in a Box

Raspberry Pi Pico

MMBASIC

Mechanicals

SWLEDX8-I2C-MECHS(REV2).PNG

Versions

Rev 2

  • Functionally the same as Rev X1
  • Change resistors from SMT (0805) to through hole (1/8W)
  • Adds silkscreen Front/Rear
  • Added test block to rear

Rev X1

  • Words, no issues

Assembly Sheet