Beispiel #1
0
    // Funciones del display
    public lcd(I2cDevice portExpander)
    {
        i2c = new rpii2c(portExpander);
            mymcp = new mcp(i2c);
            mymcp.mcpSetup();
            mymcp.mcpConfig(pin_e, OUTPUT);
            mymcp.mcpConfig(pin_rs, OUTPUT);
            mymcp.mcpConfig(pin_rw, OUTPUT);
            mymcp.mcpOutput(pin_rw, 0);
            mymcp.mcpOutput(pin_e, 0);
            for (int i = 0; i < 4; i++)
                mymcp.mcpConfig(pin_db[i], OUTPUT);
            lcdWriteBits(0x33, 0);
            lcdWriteBits(0x32, 0);
            lcdWriteBits(0x28, 0);
            lcdWriteBits(0x0C, 0);
            lcdWriteBits(0x06, 0);

            displaycontrol = LCD_DISPLAYON | LCD_CURSOROFF | LCD_BLINKOFF;
            displayfunction = LCD_4BITMODE | LCD_1LINE | LCD_5x8DOTS;
            displayfunction |= LCD_2LINE;

            displaymode = LCD_ENTRYLEFT | LCD_ENTRYSHIFTDECREMENT;
            lcdWriteBits((sbyte)(LCD_ENTRYMODESET | displaymode), 0);

            mymcp.mcpConfig(6, OUTPUT);
            mymcp.mcpConfig(7, OUTPUT);
            mymcp.mcpConfig(8, OUTPUT);
            mymcp.mcpOutput(6, 0);
            mymcp.mcpOutput(7, 0);
            mymcp.mcpOutput(8, 0);

            mymcp.mcpPullup((byte)lcdBotones.SELECT, 1);
            mymcp.mcpPullup((byte)lcdBotones.LEFT, 1);
            mymcp.mcpPullup((byte)lcdBotones.RIGHT, 1);
            mymcp.mcpPullup((byte)lcdBotones.UP, 1);
            mymcp.mcpPullup((byte)lcdBotones.DOWN, 1);
            mymcp.mcpConfig((byte)lcdBotones.SELECT, INPUT);
            mymcp.mcpConfig((byte)lcdBotones.LEFT, INPUT);
            mymcp.mcpConfig((byte)lcdBotones.RIGHT, INPUT);
            mymcp.mcpConfig((byte)lcdBotones.UP, INPUT);
            mymcp.mcpConfig((byte)lcdBotones.DOWN, INPUT);
            lcdBackLight(0);
            lcdLedColor(lcdColores.NONE);
            lcdClear();
    }
Beispiel #2
0
 public mcp(rpii2c i)
 {
     i2c = i;
 }