A little game to show how to use a PCF8574 with a Nokia 5110 screen.
Components:
Arduino
Breadboard (and leads)
Nokia 5110 Screen
PCF8574
I2C Serial Interface Board Module for 1602LCD Display (PCF8574)
PCF8574 Module
Piezo (for sound)
A bit of corrugated card board to amplify the sound made by the piezo.
4 x Push on Buttons
Battery
Data for PCF8574 (Remote 8-bit I/O expander for I2C-bus with interrupt)
Data for PCD8544 (48 × 84 pixels matrix LCD controller/driver)
In this project I am using the module designed for 0216 LCD diplay.
There are several reasons for using this module.
The first time I bought a Nokia 5110 screed the advert say it was 5v compatible (I fried it), no it isn't, it's 3.3 volt.
This can be sorted using resistors as voltage dividers, or MOSFET circuits.
The Nokia 5110 screen also communicates via SPI requiring 4 communication lines and power.
If we use the Module:
The PCF8574 requires only 2 communication lines and power.
Also the module has a transistor connected to PFC8574 GPIO pin 3, which connects Header Pin 16 to GND. (Used for switching the LED).
If the module is powered by 3.3 volt, it will communicate with 3.3 volt to the Nokia 5110 screen and still be able handle the I2C communication from the Arduino.
The circuit of the Module:
Connections:
I2C Serial Interface Board Module for 1602LCD
Display
Identifies first Player Button pressed out of five buttons.
Based on a capacitor and MOSFET configuration.
Depending on LED colour (LED resister used), it holds off other buttons for 30 to 60 seconds. (hold time can be increased by increasing the value of the capacitors)
It has a Reset Button to reset all the Player Buttons.
It needs 5 volt power (no greater).
Socket is for a 5.5mm barrel jack.