Paso 5: Cuando se termine es necesario convertir a una cadena para los comandos I2C
Conversión a una cadena es bastante sencillo con el comando de sprintf. Con la adición de la orden de la uc el formato puede ser mayúsculo y los resultados buscar limpiador
$read_value = uc(sprintf("%x\n",%read_value));
Esto imprimiría algo así como 24 con los ejemplos anteriores, y si es un valor como 0xED, esto imprimiría ED
Esto todavía no se ve correcto sin embargo como le falta el 0 x que nosotros necesitamos como un prefijo para el I2C escribir comando
tan cambiar esto ser 2 personajes con el prefijo 0 x y tenemos
$read_value = uc(sprintf("0x%02x\n",$read_value));
Ahora el ejemplo de "ED" la cadena de $read_value contiene 0xED
Ahora cuando uso con el comando de escritura I2C cuando uso $read_value como de la impresión está
$command = "i2cset -y 1". % i2c_address. " ". $i2c_port." ". $read_value." \n";