Intentaré explicarlo. Como sabemos, la instrucción
i2cset -y 0 0x27 0x0A envía dos bytes, o lo que es lo mismo, ocho bits al LCD.
En el caso del ejemplo, los dos bytes que se envían son 0A. Su equivalente binario es 00001010. Cada cifra binaria da valor a cada una de las patillas P7 a P0 de la tarjeta expansora y a su vez a cada línea de datos y de control del módulo LCD:
0 0 0 0 1 0 1 0
↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
P7 P6 P5 P4 P3 P2 P1 P0
↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
D7 D6 D5 D4 LED E RW RSNo lo termino de entender
¿Cuál es la correspondencia de cada bit con cada linea de control?
Líneas de datos: D7 D6 D5 D4, controlada por los cuatro primeros bits.
Líneas de control: E RW RS, controlada por los tres últimos bits.
El LED se controla mediante el bit número 5, a través de la patilla P3. La patilla P3 es una patilla un tanto especial, porque no está conectada a ninguna línea del módulo LCD.
Teniendo en cuenta lo anterior, se puede encender el LED de forma segura con cualquier valor que responda al esquema ? ? ? ? 1 0 1 ?. O lo que es lo mismo, un número hexadecimal de dos cifras que acabe en A ó B: 0x0A, 0x0B, 0x1A, 0x1B, ..., 0xEA, 0xEB, 0xFA, 0xFB.
El esquema para apagarlo es ? ? ? ? 0 0 1 ?. Es decir, un número hexadecimal de dos cifras que acabe en 2 ó 3: 0x02, 0x03, 0x12, 0x13, ..., 0xE2, 0xE3, 0xF2, 0xF3.