Scrivere una libreria per Arduino!

Far manipolare le variabili di una classe esternamente "non è buono" :stuck_out_tongue:
Meglio creare sempre 2 metodi, uno per passare il valore alla variabile ed uno per leggerlo. In questo modo già il compilatore può segnalare errori sull'assegnamento di tipi di dato non valido, e questo è un primo filtro; inoltre il codice nel metodo può eseguire un check sul valore passato per verificare che rientri nel range accettato, è questo è un secondo filtro.
Ad abbondanza, il metodo può anche restituire un valore che, se letto, può far capire al codice principale se l'operazione è andata a buon fine oppure no.

Esempio:

Codice della classe:

int miaClasse::assegnaX(int dato) {
  if (dato< 0) {
    return 1; //errore - dato negativo
  }
  if (dato > 100) {
    return 2; //errore - dato oltre il max ammesso
  }
  varLocale = dato; //assegnazione interna
  return 0; //tutto a posto;
}

Codice nello sketch:

istanza.assegnaX(10); //ok
int risposta = istanza.assegnaX(-10); //valore negativo - otterrai 1 come risposta
istanza.assegnaX("prova"); //errore dal compilatore - stai passando una stringa