4X4 keypad used in this demo.
PCA9555 GPIO Expander with Arduino Using Interrupts
YouTube Video for this project: PCA9555 32-Bit GPIO Expander with Arduino
In this series I'll be connecting the PCA9555D 32-bit GPIO expander board to an Arduino micro-controller. First we started out simple with counting from 0 to 255 in binary on eight LEDs. See Part 1 for technical information and getting started.
Here in part three we will learn to use the interrupt pin to jump to the key scan routine only when a key is pressed. A BCD value is output on the eight LEDs.
In part two we learned to connect a 4X4 keypad to an 8-bit port. Using "polling" the routine getKey() we will check for a key press and return a BCD value from 0 to 16 displayed on the eight LEDs. See Part 2
In part four we will connect a type a HD44780 type LCD display and learn how to enter data and manipulate character date and strings. In addition to the LCD display we will scan a keypad, use hardware interrupts, all connected through a single PCA9555 module.
In addition I'll reveal some code little discussed with Arduino and we will convert/manipulate code for output to the LCD display. See Part 4
This differs from two only in the addition of interrupt use instead of polling.
Arduino code for this project: arduino_pca9555_irq.txt
- Quick navigation of this website:
- Basic Electronics Learning and Projects
- Basic Solid State Component Projects
- Arduino Microcontroller Projects
- Raspberry Pi Electronics, Programming
- PCA9555 32-Bit GPIO Expander with Arduino
- PCA9555 GPIO Arduino, 4X4 Keypad
- PCA9555 GPIO Arduino Using Interrupts
- PCA9555 GPIO, Arduino, LCD Display
- Arduino Controlled IR2110 Based H-Bridge HV Motor Control
- Arduino Measures Current from Constant Current Source
- Arduino Power Magnetic Driver Board for Stepper Motors
- Arduino Controlled Power Constant Current Source
- Arduino Power Inverter DC-AC Power Circuits
- Arduino PWM to Analog Conversion
- Arduino Analog Digital Conversion Voltmeter
- Rotary Encoder Using Arduino Hardware Interrupts
- Better Arduino Rotary Encoder Sensor
- Simple 3-Wire MAX6675 Thermocouple ADC Arduino Interface
- Arduino Stepper Motor Drive Coil Winder
- Arduino IF Statement Code Examples
- Arduino LCD Display, 74164 Shift Register
- Programming ADS1115 4-Channel I2C ADC with Arduino
- Arduino uses ADS1115 with TMP37 to Measure Temperature
- Arduino with MCP4725 12-bit DAC Demo
Web site Copyright Lewis Loflin, All rights reserved.
If using this material on another site, please provide a link back to my site.