|
|
(29 intermediate revisions by 2 users not shown) |
Line 1: |
Line 1: |
− | [[File:SPI_LCD.jpg|thumb|300px|alt=The SPI_LCD board|The SPI_LCD board]] | + | #REDIRECT [[LCD]] |
− | | |
− | This is the documentation page for the SPI_LCD board.
| |
− | | |
− | == Overview ==
| |
− | | |
− | | |
− | == Assembly instructions ==
| |
− | | |
− | The board comes assembled. No assembly required.
| |
− | | |
− | === Possible Configurations ===
| |
− | | |
− | The board could be configured with software for I2C.
| |
− | | |
− | == External resources ==
| |
− | | |
− | | |
− | === Datasheets ===
| |
− | | |
− | [http://www.atmel.com/Images/doc8006.pdf The datasheet of the Attiny44 processor] that is the "brains" of the board.
| |
− | | |
− | SPI connector:
| |
− | [http://www.batsocks.co.uk/readme/isp_headers.htm We use the 6-pin header]. The pin labeled "RESET" when the connector is used as ICSP header should be labeled "slave select" when used for SPI datatransfer.
| |
− | | |
− | == Additional software ==
| |
− | | |
− | | |
− | === Related projects ===
| |
− | | |
− | | |
− | == Pinout ==
| |
− | | |
− | === SPI ===
| |
− | [[SPI connector pinout]]
| |
− | | |
− | === LCD ===
| |
− | | |
− | {| border=1
| |
− | ! pin !! name
| |
− | |-
| |
− | | 1 || VSS
| |
− | |-
| |
− | | 2 || VDD
| |
− | |-
| |
− | | 3 || VO (contrast)
| |
− | |-
| |
− | | 4 || RS
| |
− | |-
| |
− | | 5 || RW (GND)
| |
− | |-
| |
− | | 6 || EN
| |
− | |-
| |
− | | 7 || DB0 (NC)
| |
− | |-
| |
− | | 8 || DB1 (NC)
| |
− | |-
| |
− | | 9 || DB2 (NC)
| |
− | |-
| |
− | | 10 || DB3 (NC)
| |
− | |-
| |
− | | 11 || DB4
| |
− | |-
| |
− | | 12 || DB5
| |
− | |-
| |
− | | 13 || DB6
| |
− | |-
| |
− | | 14 || DB7
| |
− | |-
| |
− | | 15 || BL + (VCC)
| |
− | |-
| |
− | | 16 || BL - (PWM)
| |
− | |-
| |
− | |}
| |
− | | |
− | | |
− | === LEDs ===
| |
− | | |
− | None. The board doesn't have leds. The next hardware revision might have a powerled.
| |
− | | |
− | == Jumper settings ==
| |
− | | |
− | There are two solder jumpers. The one between the two 6-pin SPI connectors controls the function of the SPI connector nearest the I2C connectors.
| |
− | | |
− | In the default configuration the second SPI connector is a daisy-chain connector for the SPI bus.
| |
− | In the other configuration, the second SPI connector is the ICSP connector.
| |
− | | |
− | The second solder jumper connects "rs" and "vo" of the LCD together (and to one pin of the attiny44 controller on the board) in the default configuration.
| |
− | In the other configuration, the pin used for SPI slave select can be used as the RS pin. This is used in the I2C configuration.
| |
− | | |
− | See [[solder jumpers]] for more information on how to change the setting.
| |
− | | |
− | == Programming ==
| |
− | | |
− | To display a string on the LCD, just send over SPI the same bytes you would send to LCD, prefixed with the address of the LCD (the default address is 0x82).
| |
− | | |
− | Bytes above 0xf0 are "special".
| |
− | | |
− | 0xf0 <xy> is set cursor. the <xy> byte is 3 bit line number and 5 bit position number. This addressing allows up to 8 lines of 32 characters.
| |
− | | |
− | 0xf1 is clear LCD.
| |
− | | |
− | 0xf2 <addr> is "set address". If you want to change the address the module reacts to. The address is stored in eeprom, and will remain this way after a powercycle.
| |
− | | |
− | 0xf3 <contrast> is "set contrast". This will set the contrast to the value you specify. 0x40 is the default that works fine for the LCDs that we have.
| |
− | | |
− | 0xf4 <backlight> is the "set backlight intensity" command. This will set the backlight intensity to the value specified.
| |
− | | |
− | 0xf5 <byte> will send the byte as a command to the HD44780. You need this for example to use the user-defined characters.
| |
− | | |
− | 0xff <byte> will send the byte to the LCD without special character processing. This allows you to send codes 0xf0 through 0xff to the LCD if required.
| |
− | | |
− | Other bytes are reserved and are currently implemented as a no-op.
| |
− | | |
− | == The software ==
| |
− | | |
− | | |
− | == Default operation ==
| |
− | | |
− | | |
− | == Future hardware enhancements ==
| |
− | | |
− | | |
− | == Future software enhancements ==
| |
− | | |
− | | |
− | == Changelog ==
| |
− | | |
− | | |
− | === 1.2 ===
| |
− | * Initial public release
| |