Convert Character to Binary and output to 8 pins

thanks a lot

after reading through the reference, I came up with this

void binary(char Char) {
  int i;
  int n = 8;
  int pos = 0;
  for(i = 0; i < n; i++) {
    Serial.print(bitRead(Char, pos));
    pos += 1;
  }
}

edit: and I implemented it into my code

example of printing H:

#define RS_A 2               // _A für ARDUINO
#define RW_A 3
#define E_A 4
#define D0_A 5
#define D1_A 6
#define D2_A 7
#define D3_A 8
#define D4_A 9
#define D5_A 10
#define D6_A 11
#define D7_A 12

int delay_time = 300;         // damit das schreiben cooler aussieht

void data_stream(int D7_D, int D6_D, int D5_D, int D4_D, int D3_D, int D2_D, int D1_D, int D0_D){          // _D für DATA  // für Anweisungen
  digitalWrite(D0_A, D0_D);
  digitalWrite(D1_A, D1_D);
  digitalWrite(D2_A, D2_D);
  digitalWrite(D3_A, D3_D);
  digitalWrite(D4_A, D4_D);
  digitalWrite(D5_A, D5_D);
  digitalWrite(D6_A, D6_D);
  digitalWrite(D7_A, D7_D);
}

void rs_rw_stream(int RS_D, int RW_D){  // um Register auszuwählen und zwischen schreiben und lesen zu wechseln
  digitalWrite(RS_A, RS_D);
  digitalWrite(RW_A, RW_D);
}

void enable(){                          // um das Display zu triggern
  digitalWrite(E_A, HIGH);
  digitalWrite(E_A, LOW);
}

void clear(){                           // löscht das Display, setzt DDRAM auf 00Hex
  data_stream(0,0,0,0,0,0,0,1);
  rs_rw_stream(0,0);
  enable();
}


void binary(char Char) {
  int pointer = 12;
  int i;
  int n = 8;
  int pos = 0;
  for(i = 0; i < n; i++) {
    Serial.print(bitRead(Char, pos));
    digitalWrite(pointer, bitRead(Char, pos));
    pos += 1;
    pointer -= 1;
  }
}



void setup() {
  pinMode(RS_A, OUTPUT);                // setzt RS_A auf OUTPUT           
  pinMode(RW_A, OUTPUT);                // setzt RW_A auf OUTPUT
  pinMode(E_A, OUTPUT);                 // setzt E_A  auf OUTPUT
  pinMode(D0_A, OUTPUT);                // setzt D0_A auf OUTPUT
  pinMode(D1_A, OUTPUT);                // setzt D1_A auf OUTPUT
  pinMode(D2_A, OUTPUT);                // setzt D2_A auf OUTPUT
  pinMode(D3_A, OUTPUT);                // setzt D3_A auf OUTPUT
  pinMode(D4_A, OUTPUT);                // setzt D4_A auf OUTPUT
  pinMode(D5_A, OUTPUT);                // setzt D5_A auf OUTPUT
  pinMode(D6_A, OUTPUT);                // setzt D6_A auf OUTPUT
  pinMode(D7_A, OUTPUT);                // setzt D7_A auf OUTPUT
  
  clear();                              // um nach jedem reset das Display zu clearen und DDRAM Adresse 00 zu setzen 
  delay(10);                            // dieses Delay ist wichtig; mindestens 1,55ms
  
  data_stream(0,0,1,1,1,0,0,0);         // 8-bit Modus; 2 Zeilen; 5x8 Schrift
  rs_rw_stream(0,0);
  enable();
  data_stream(0,0,0,0,1,1,1,0);         // aktiviert den Cursor (kein blinken); letzte Zahl ändern um blinkenden Curor zu toggeln
  rs_rw_stream(0,0);
  enable();
  data_stream(0,0,0,0,0,1,1,0);         // verschiebe die Register Adresse jedes mal +1
  rs_rw_stream(0,0);
  enable();
  
  binary("H");
  rs_rw_stream(1,0);
  enable();

  
}

void loop() {
}