uint16_t zu char konvertieren

OP #4614741
Lesenswert?
• ▲
▼
Hallo,

ich habe ein ähnliches Problem und hoffe auf einen Rat wie ich ein 
uint16_t "Format" in ein am TFT augabefähiges char konvertieren kann.

Die RGB Farbwerte sollen als Zahl auf dem TFT Dispaly ausgegeben werden. 
Die Werte kommen aus einem TCS 34725 und werden parallel am seriellen 
Motior angezeigt.

Fehlermeldung:

invalid conversion from 'uint16_t {aka unsigned int}' to 'const char*' 
[-fpermissive]


Code:

#include <TFT.h>                  // Arduino LCD library
#include <SPI.h>
#include "Wire.h"
#include "Adafruit_TCS34725.h"

// Pindefinition Uno TFT
#define cs   10
#define dc   9
#define rst  8



TFT TFTscreen = TFT(cs, dc, rst);

// char array to print to the screen
char WertRot ;


Adafruit_TCS34725 tcs = 
Adafruit_TCS34725(TCS34725_INTEGRATIONTIME_700MS, TCS34725_GAIN_1X);

void setup() {


  TFTscreen.begin();


  TFTscreen.background(0, 0, 0);                 // Hintergrund schwaz
  TFTscreen.stroke(255, 255, 255);               // Vordergrund weiß
  TFTscreen.setTextSize(2);                      // Textgröße
  TFTscreen.text("Sensor Value :\n ", 0, 0);     //Test oben links



  TFTscreen.setTextSize(2);                      //Textgröße für 
Schleife

  // Serielle Kommunikation zur Ausgabe der Wert im seriellen Monitor
 Serial.begin(9600);
 Serial.println("ROT GRÜN BLAU Adafruit Sensor");

 // Überprüfen, ob Color Sensor sich auch zurückmeldet
 if (tcs.begin()) {
 // Alles OK
 Serial.println("Sensor gefunden");
 } else {
 // Kein Sensor gefunden. Programm an dieser Stelle einfrieren
 Serial.println("TCS34725 nicht gefunden ... Ablauf gestoppt!");
 while (1); // Fehler
 }

}

void loop() {


  // Der Sensor liefert Werte für R, G, B und einen Clear-Wert zurück
 uint16_t clearcol, red, green, blue;

 delay(100);
 tcs.getRawData(&red, &green, &blue, &clearcol);



 Serial.print("\Clear:  "); Serial.print(clearcol);
 Serial.print("\Red:    "); Serial.print(red);
 Serial.print("\Green:  "); Serial.print(green);
 Serial.print("\Blue:   "); Serial.print(blue);



 // Zeilenwechsel ausgeben
 Serial.println("");

 // Wartezeit anpassen für serielles Debugging
 delay(100);





  // set the font color
  TFTscreen.stroke(255, 255, 255);      //Frontcolor

  TFTscreen.text(blue, 0, 20);

  delay(250);
          //Anzeige updaten
  TFTscreen.stroke(0, 0, 0);



}

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 10 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.