Problemas de arduino

Hola!

Estoy iniciándome en el mundo de Arduino, tengo que resolver los siguientes problemas, pero no tengo idea por donde comenzar, si pudieran darme una mano se los agradecería.

Elabore un programa para que le las entradas digitales 10 y 11 y en base a su peso binario encienda una de las cuatro salidas digitales conforme la siguiente tabla:

Entradas Salidas
Pin 10 Pin 11 Pin 3 Pin 4 Pin 5 Pin 6
0 0 1 0 0 0
0 1 0 1 0 0
1 0 0 0 1 0
1 1 0 0 0 1

Utilizando la terminal digital 13 como salida y normalmente apagada, elabore un menú de opciones que realice lo siguiente para cada tecla indicada:

Tecla Acción
X Prenda por 10 segundos y luego se apague
Q Genere dos ciclos cuadrados de 0.5 Hz
H Se mantenga en alto
A Se apague la salida
Marque error para cualquier otra tecla.

Problema 3.
Elabore un programa que acepte el número de canal analógico para leerlo y desplegar su valor cada 2 segundos. El número de canal debe indicarse con las teclas entre el 0 y 5. Cualquier otra tecla debe indicar error y no debe leerse ningún canal.

el primer creo que podrías solventarlo así:

byte Pin_In[]={10,11};     // Pines de entrada
byte Pin_Out[]={3,4,5,6};  // Pines de salida
bool Entradas[2];
bool Salidas[4];
void setup() 
{   
  for (int x=0;x<2;x++) {pinMode (Pin_In[x], INPUT);}  // Establecer pines de entrada
  for (int x=0;x<4;x++) 
  {
    pinMode (Pin_Out[x], OUTPUT);      // Establecer pines de salida
    digitalWrite(Pin_Out[x], LOW);     // Pines de salida a low para iniciar programa
  } 
}
void loop() 
{
  for (int x=0;x<2;x++) {Entradas[x]=digitalRead(Pin_In[x]);}  // Leer entradas
  Salidas[0] = !Entradas[0] && !Entradas[1];
  Salidas[1] = !Entradas[0] &&  Entradas[1];
  Salidas[2] =  Entradas[0] && !Entradas[1];
  Salidas[3] =  Entradas[0] &&  Entradas[1];
  for (int x=0;x<4;x++) {digitalWrite(Pin_Out[x], Salidas[x]);} // Escribir salidas
}

Los otros dos, no entiendo lo que quieres hacer