Reitero: olvidate de la programación que usas en arduino, estas pantallas no funcionan así.
Creo que deberías revisar el manual de instrucciones de la librería de gameduino:
gameduino 2 cook bookEstas intentando imprimir un número mediante un comando que imprime cadenas de texto
GD.cmd_text(240, 136, 31, OPT_CENTER, temp);
La función para imprimir números que viene en la librería original solo imprime enteros. En este caso, requieres que el número se muestre con decimales. Hemos incorporado en la librería la función
printNfloat, que se usa de esta forma en el ejemplo que mencionas:
GD.printNfloat(240, 136, temp, 2, 31);
# include <EEPROM.h>
# include <SPI.h>
# include <GMD2.h>
# include <math.h>
void setup()
{
GD.begin();
Serial.begin(115200);
}
double Thermister(int RawADC){
double Temp;
Temp = long (((10240000/RawADC)-10000));
Temp = 1 / (0.001129148 + (0.000234125 + (0.0000000876741 * Temp * Temp))*Temp);
Temp = Temp - 273.15; // convierte de Kelvin a Celsius
}
void loop()
{
int val;
double temp;
val=analogRead(0);
temp=Thermister(val);
Serial.println(temp);
GD.ClearColorRGB(0x103000);
GD.Clear();
//GD.cmd_text(240, 136, 31, OPT_CENTER, temp);
GD.printNfloat(240, 136, temp, 2, 31);
GD.cmd_text(305, 148, 28, OPT_CENTER, "o");
GD.swap();
}
El manejo de símbolos como el de "grado", lo consigues imprimiendo una cadena de texto adelante del número. Recuerda que es una representación gráfica y puedes usar técnicas de superposición básicas. En este caso podrías usar la letra "o" minúscula, desfasada; para representar el símbolo de grado.
La librería cuenta con una fuente en la que está almacenado el código ASCII, solo que el tamaño es algo reducido, se encuentra en la fuente tamaño 19. El símbolo de grado se consigue con esta linea:
GD.Vertex2ii(150, 350, 19, 248);