Integer Variable in Datentyp char umwandeln?

Es gibt nicht nur int und char, sondern auch Texte, die aus mehr als einem Zeichen bestehen.

Eine Zahl zwischen 0 und 9999 kannst du in einem int abspeichern, für den Text "0000" brauchst du ein char TuerCode[5], wenn du sie mit print ausgeben willst. ( Damit print weiss, wie lang der Text ist, hat "1234" eine Endekennung ).

char TuerCode[5];  // definiert TuerCode[0] ... TuerCode[4]

int eins = random(0,9); // Eine Zahl, aber kein druckbares Zeichen
Serial.print(eins);         // print kann sowohl Zahlen, als auch Texte drucken, was aber ganz verschiedene Sachen sind.
TuerCode[1] = 0;          // das ist schon die EndeKennung  
TuerCode[2] = eins;      // das ist kein lesbares Zeichen

Wieso generierst Du nicht 4 Zufallszahlen im range 48 bis 57 (ashii-Wert der Zahlen von 0 bis 9) und lädst damit dein Array?

Wenn du dem "Hokuspokus" nicht traust, solltest du aber doch einen Unterschied zwischen "0", '0' und 0 erkennen.

char TextMitEinerZiffer[2] = "0";  // ( Länge 2 wegen der EndeKennung )
char EineZiffer = '1'; 
byte EineZahl = 2; 

EineZiffer = '0' + EineZahl; // andert '1'  in  '2'
TextMitEinerZiffer[0] = EineZiffer;  // liefert "2"

Uwe's 48 ist "zufällig" der Zahlenwert von '0'