Utilizzare Classi in Arduino

Salve a tutti,
mi e' appena arrivato un lcd tipo Nokia5510 e sto provando ad utilizzarlo.
Vorrei creare degli indicatori grafici che mi rappresentino delle manopole. Inizialmente ho scritto il codice tutto nel void loop() e tutto funziona correttamente.
Poi mi sono ricordato della programmazione ad oggetti e stavo provando a creare qualche cosa di piu' ordinato (ma non sono un esperto l'ho imparata tramite Processing).
Mi sono reso conto di dover seguire una procedura per creare delle Librerie che arduino avrebbe letto per utilizzare la mia classe.
Ho seguito questo tutorial http://www.arduino.cc/en/Hacking/LibraryTutorial ma credo di aver sbagliato qualche cosa o di non averla proprio capita.
Mi sono creato il mio file LcdIndicator.h contenente :

#ifndef LcdIndicator_h
#define LcdIndicator_h
#include <Arduino.h>

class Indicator
{
  int x;  		//posizione x dell'indicatore
  int y;		 //posizione y dell'indicatore
  int d; 		//diametro dell'indicatore
  int value; 	//valore da indicare
  int print;	//valore convertito da visualizzare
  // -- parametri per conversione
  float grad, rad;
  int xx,yy; // parametri posizione finale indicatore
  
  void update(int z);	//Metodo update per prendere il valore da visualizzare
  void display();		//Metodo Display per visualizzare il valore su schermo
};
#endif

e poi anche il .cpp

#include "Arduino.h"
#include "LcdIndicator.h"
#include <Adafruit_GFX.h>
#include <Adafruit_PCD8544.h>

 Indicator:: Indicator(int Kx, int Ky, int Kd){ 
    x=Kx;
    y=Ky;
    d=Kd;    
  }
   //METODO update()----------------------
  void Indicator::Update(int z){
    value = z;  //trasferisco  nella variabile "value" il valore del parametro
  }
  // METODO display()--------------------
  void Indicator::Display(){
    grad = map (value,0,1024, 0, 300);	//converto l'ingresso analogico da 0 a 300 gradi
    rad = ((grad+120)*3.14)/180);		//trasformo i gradi in radianti	
    xx = x+ (d/2+2)*cos(rad);			//calcolo i punti finali per il disegno dell'indicatore
    yy = y+ (d/2+2)*sin(rad);
    
    display.drawCircle(x, y, d,BLACK);	//disegno il cerchio contentente l'indicatore
    display.drawLine(x, y,xx,yy,BLACK);	//disegno l'asta dell'indicatore
    display.display();
  }

e nell' Arduino ho scritto :

#include <LcdIndicator.h>

#include <SPI.h>
#include <Adafruit_GFX.h>
#include <Adafruit_PCD8544.h>


Adafruit_PCD8544 display = Adafruit_PCD8544(7, 6, 5, 4, 3);

#define LCD_X     84
#define LCD_Y     48


//-- Definisco gli oggetti
Indicator Ind(10,10,10);

void setup(){
  display.begin();
  //knb1 = new Knob(10,10,8);
  display.clearDisplay();
}

void loop(){
  display.drawRoundRect(0,0,84,48,5,BLACK);
}

Credevo che i primi errori sarebbero arrivati nel momento in cui il codice avesse usato le librerie
<Adafruit_GFX.h> e <Adafruit_PCD8544.h> perchè non credo di aver implementato bene il codice (ho ipotizzato che l'elemento "display" venga creato nel file di arduino in cui vado a richiamare questa libreria).
Invece quando vado a testare il codice mi da errore :
error: no matching function for call to 'Indicator::Indicator(int, int, int)

Credo di aver fatto un errore ma non sono in grado di capire dove e come rimediare.
Mi sapreste aiutare a rispolvere questo problema e ad imparare l'utilizzo delle classi?
Ringrazio chiunque voglia aiutarmi.

Devi trovare una guida C++ online che ti mostri come creare una classe e come creare oggetto istanza di classe.

La forma di classe C++ più comune è la seguente:

// file.h

class NameClass {
// declare here private member of class (or use private label)

public:
// declare here public member of class
   

protect:
// delare here protect member of class

private:
// private label 
// declare here private member of class

};

I membri di classe possono essere variabili o funzioni e si segue la forma tipica del C:
type varName; // nell'header non si possono inizializzare le variabili
void functionName(parameter list);

Una classe può avere un costruttore di istanza esplicito o uno implicito fornito da C++.
Quello esplicito ha la forma di una funzione senza tipo di ritorno (neanche void)

// costruttore o ctor
NameClass(/*parameter list*/ uint8_t aPar, uint8_t aPar1);

Tieni conto che ci sono molte varianti, per cui è assolutamente necessario leggere una guida e
visionare il codice di una o più classi di Arduino.

Per adesso sei totalmente fuori strada.

Ciao.