Afficher contenu Chaine de caractere

j'ai remplacé le print par un write, je ne connais pas bien la différence.

Un print manipule des chaines de caractères. Comme le print qui envoie des chaines à la console.
Un write manipule des octets sans s'occuper de leur valeur.

Le texte dans la variable mot ne semble pas initialisé, j'essaie d'y mettre la valeur vide avec la syntaxe suivante
mot == ""; est ce correct ?

Non ce n'est pas correcte et pour 2 raisons. En C on ne peut pas affecter une chaine à une autre comme ça. En plus l'opérateur == est un opérateur de test (test d'égalité) qui retourne un booléen.
Mot représente un pointeur sur un tableau en faisant mot = ""; tu modifies le pointeur pas son contenu.
Si tu veux initialiser ta chaine le plus simple c'est de faire:

mot[0] = "\0";

L'autre solution c'est d'utiliser des objets String (attention à la majuscule). Voir là http://arduino.cc/en/Reference/StringObject. Dans la librairies String il y a des surcharges d'opérateurs classiques qui permettent de faire des affectations de chaines avec = et des concaténation avec +.