segunda-feira, 11 de novembro de 2013

Chegamos ao fim

Esse é o último post referente ao nosso projeto onde o intuito era entender melhor os sensores e  explicar como foi possível realizar o trabalho.Com nosso projeto de controle de iluminação, análise de temperatura e manipulação por controle remoto, pudemos aprofundar o conhecimento referente à alguns sensores, abrindo assim a mente de todos da equipe, nos permitindo uma visão mais ampla da utilização e aplicação do nosso projeto.
Após essa longa busca por conhecimento podemos afirmar que conseguimos alcançar nossas metas e ainda acrescentar, nossa busca está só no começo pois grandes ideias estão por vir! Obrigado á todos !





Circuito Impresso

Vamos fazer o circuito impresso para nosso projeto ficar bem apresentável para o grande dia...

1° Passo criar a Placa

Podemos fazer de varias formas, tanto a mão quanto através de software específicos para isso, nos iremos usar o Fritzing já citado anteriormente, hoje vamos aprender a função para criar a PCB(placa de circuito impresso).

PCB


Criando a placa

por padrão o software vai fazer 100 rotas alternativas antes de chegar a rota final.

Gerando o PDF


Final

Agora já criado a placa podemos passar para o próximo passo.


2° Imprimir a placa

Nosso processo vai ser em gravar a placa para corroer através de processo térmico, onde iremos utilizar uma impressora laser e uma folha de impressão de foto.
podemos melhor entender através desse vídeo:





 retocando alguns pontos

 cuidado para não esquentar demais a placa e o cobre descolar do fonolite 


3° Corroendo a placa

Agora vamos utilizar de percloreto de ferro para fazer a corrosão da placa onde o produto ira atacar o material q não tiver a película de tinta em cima.


percloreto de ferro

 Placa de molho mais ou menos 20 minutos

Com uma palha de aço tiramos a marca da tinta  



4° Furando a placa

Nesse processo podemos utilizar de uma furadeira ou um furador de PCB proprio para o serviço.




  5° Soldar os componentes

Agora só soldar os componentes e pronto.

Sensores adicionais


Como o intuito inicial do projeto era trabalhar com sensores vamos adicionar mais dois sensores um de temperatura e um para comandar o circuito através de controle remoto, então nosso projeto conta com um sensor LDR já explicado em postagem anteriores e agora vamos adicionar o LM35( sensor de temperatura) e um Receptor decodificador de sinal infra vermelho a uma faixa de frequência de 38KHz.

LM35

Entre os sensores de temperatura o LM35 é o mais simples, usamos os sensores de temperatura em grande escala para processos industriais ou comerciais onde existe a necessidade de controlar ou monitorar a temperatura. O LM35 é fabricado pela National Semicondutores, fabricado na forma de um transistor tem como finalidade fornecer uma saida de tensão proporcional a  temperatura absoluta que age sobre ele, este tipo de sensor de temperatura pode trabalhar e fornecer temperaturas entre -55 a 150°C.

  • Fornece tensões de 10mV/ °C
  • Precisão de 0,5°C
  • Opera entre 4 a 30 volts
  • Baixa impedancia de saida 0,1ohm para cargas de 1mA


Receiver IR TSOP4838

O receiver IR trabalha em uma fequencia especifica de varredura de 38KHz uma varredura padrão para televisores e rádios o que nos possibilita usar diversos controles de fácil acesso. Muito fácil de utilizar o receptor pode ser implementado no arduino sem muitos problemas, e o o que torna mais fácil é descobrir qual o código de cada tecla do nosso controle remoto, para isso o Arduíno ira nos ajudar muito.


Para descobrir o código de cada teclado controle remoto através do arduino, veja:


Projeto Final

Programação

Toda a programação esta comentada.
Nossa programação teve algumas mudanças para melhor atender a parte física como por exemplo mudança dos pinos de sinal do LCD e outros sensores, e uma mudança no software para melhorar o processamento.

//*******************************************************************************
//
//    Software V1.7(Final)    Hardware V1.4(Final)
//
//      - Sensor de temperatura LM35
//      - Sensor de iluminação LDR       
//      - Sensor de receptor Infra vermelho para controle remoto   
//
//*******************************************************************************
#include <LiquidCrystal.h>
#include <IRremote.h> 

LiquidCrystal lcd(12, 11, 10, 9, 8, 7);// Define os pinos do LCD

const int SensorLDR = A0; // Entrada do sensor LDR em porta analogica      
const int LedLCD = 6; // Pino de saida Led do LCD com saida PWM
const int LM35= A5; // Pino de entrada LM35
float temperatura; //Variavel para armazenar 
float temperaturafinal; //Variavel para armazenar valor final
int SensorValorLDR = 0; // Variavel que armazena o valor do LDR
int SaidaValorLDR = 0; //Variavel  que armazena o valor para colocar na saida  
int SaidaLedLCD = 0; //Variavel  que armazena o valor para colocar na saida 
int AC_LOAD = 3;    // Pino de saida para o Optoacoplador >> TRIAC
int dimming = 120;  // valor inicial de Dimming
int countsala = 1; // Valor para contragem da nossa chave 
const int AtivaOptoZero = 5; // Declara q no pino 13 sera para o Opto 
int SensorIR = A4; //Entrada sensor infra vermelho
float armazenavalor; // Armazena valor IR
IRrecv irrecv(RECV_PIN);// Analise do IR
decode_results results; //decodificador do sinal do IR

void setup()
{
  lcd.begin(16, 2); // Inicia o LCD 16x2
  pinMode(13, OUTPUT); // Defino o pino 13 como saida
  Serial.begin(9600); // Inicia comunicação com a serial
  irrecv.enableIRIn(); // Inicializa o receptor IR   
  pinMode(AC_LOAD, OUTPUT);// Declara AC_LOAD como saida
  attachInterrupt(0, zero_crosss_int,RISING);// Ativa interrupção para passagem por zero da senoide
  pinMode(AtivaOptoZero, OUTPUT); // declara AtivaOptoZero como saida
  pinMode(LedLCD, OUTPUT);// declara LedLCD como saida
  digitalWrite(LedLCD, HIGH);// declara LedLCD como "1"
  lcd.setCursor(0, 0);// seta cursor do LCD linha e coluna zero
  lcd.print("LumenClass "); // Escreve "LumenClass "
  lcd.setCursor(0, 1);// seta coluna zero linha um
  lcd.print("Eng.Eletrica ");// Escreve "Eng.Eletrica "
//== Efeito para correr o letreiro==================================================   
            for (int positionCounter = 0; positionCounter < 13; positionCounter++) {
              lcd.scrollDisplayLeft(); 
              delay(180);
            }
            for (int positionCounter = 0; positionCounter < 29; positionCounter++) {
              lcd.scrollDisplayRight(); 
              delay(180);
            }
            for (int positionCounter = 0; positionCounter < 16; positionCounter++) {
              lcd.scrollDisplayLeft(); 
              delay(180);
            }
            delay(5000);
//==================================================================================
}

void zero_crosss_int(){  // Função da passagem por zero
  // Calculo do angulo da senoide :: 60Hz-> 8.33ms (1/2 Ciclo)
  // (8333us - 8.33us) / 128 = 65 (aproximado)
  int dimtime = (65*dimming);      
  delayMicroseconds(dimtime); 
  digitalWrite(AC_LOAD, HIGH);// Disparo TRIAC
  delayMicroseconds(8.33);// Triac ligado em 8.33us, atraves da nossa base de calculo
  digitalWrite(AC_LOAD, LOW);// Corte do TRIAC
}

void loop(){
  lcd.clear();// Apaga LCD
  leitura();// Chama função 
  if (irrecv.decode(&results))// se receber sinal no IR... 
  { 
  Serial.print("Valor lido : "); //Escreve na serial "Valor lido : "
  Serial.println(results.value, DEC);//Escreve na serial o valor do IR
  armazenavalor = (results.value);// Armazena o valor do IR na variavel "armazenavalor"
  if (armazenavalor == 233  ) //Verifica se a tecla 1 foi pressionada 
  { 
  countsala++; //soma mais uma unidade "+1"
  delay(100);// espera de 100 mili segundos
  }
  irrecv.resume(); //Le o próximo valor 
  } 

switch (countsala) {
  case 1:    //1° opção do menu
    lcd.setCursor(0, 0);//seta o LCD 
    lcd.print("LAMPADA");//Escreve
    lcd.setCursor(0, 1);//seta o LCD
    lcd.print("Desligada");//Escreve
    digitalWrite(AtivaOptoZero, LOW); // Liga o pino 13 : AtivaOptoZero
    delay(100);// espera de 100 mili segundos
    lcd.clear();// apaga o LCD 
break;

case 2:    //2° opção do menu
    lcd.setCursor(0, 0);//seta o LCD 
    lcd.print("LAMPADA");//Escreve
    lcd.setCursor(0, 1);//seta o LCD 
    lcd.print("ligada");//Escreve
    dimming= 10;// lampada no maximo
    digitalWrite(AtivaOptoZero, HIGH); // Liga o pino 13 : AtivaOptoZer
    delay(100);// espera de 100 mili segundos
    lcd.clear();// apaga o LCD 
break;

case 3:    //3° opção do menu
    digitalWrite(AtivaOptoZero, HIGH); // Liga o pino 13 : AtivaOptoZer
    lcd.setCursor(0, 0); //seta o lcd na linha zero coluna zero
    lcd.print("AUTO "); // e escreve 
    SensorValorLDR = analogRead(SensorLDR);// Lê o valor do LDR e salva em SensorValorLDR   
    SaidaValorLDR = map(SensorValorLDR, 0, 1023, 0, 100); //Pega o valor de SensorValorLDR cria um map de 0 a 100 e salva na SaidaValorLDR 
    lcd.print(SaidaValorLDR); //escreve SaidaValorLDR no LCD  
    lcd.print(char(37)); // escreve o caracter % no LCD
    SaidaValorLDR = SensorValorLDR; // Pega o valor do SensorValorLDR novamente e salva em SaidaValorLDR
    SaidaLedLCD = map(SaidaValorLDR , 0, 1023, 0, 110); //min=0 max=128 // Cria um map de 0 a 110 << para melhor ajustar a lampada  
    dimming = SaidaLedLCD; //Pega o valor do map SaidaLedLCD e salva em dimming
    analogWrite(LedLCD, SaidaLedLCD); // Escreve o valor de SaidaLedLCD no LedLCD
          for(int i=0;i<50;i++)//for para ler 50 vezes para fazer media
          {
           temperatura=temperatura+analogRead(LM35);
          }
    temperatura=temperatura/50; ;//divide toda a soma por 50 para tirar a media                           
    temperaturafinal = (5.0 * temperatura * 100.0) / 1024;//formula para converter o sinal do LM35 
    lcd.setCursor(9,0);//seta o LCD 
    lcd.print(temperaturafinal,0);// ,0   sem nenhuma casa depois da virgula
    lcd.print(char(223));//escreve "º" no LCD
    lcd.print("C");//Escreve
    delay(50); // delay para não carregar o processamento
    lcd.clear();// apaga o LCD                
break;

case 4:    //4° opção do menu
    lcd.setCursor(0, 0);//seta o LCD 
    lcd.print("AJUSTE FIXO");//Escreve
    lcd.setCursor(0, 1);//seta o LCD 
    digitalWrite(AtivaOptoZero, HIGH); // Liga o pino 13 : AtivaOptoZer
    delay(100);// espera de 100 mili segundos
    lcd.clear();// apaga o LCD     
break;

case 5:    //5° opção do menu
    countsala = 1;// Chama a 1° opção do menu
break;
}
}

void leitura(){
  SensorValorLDR = analogRead(SensorLDR);// Lê o valor do LDR e salva em SensorValorLDR   
  SaidaValorLDR = map(SensorValorLDR, 0, 1023, 0, 100); //Pega o valor de SensorValorLDR cria um map de 0 a 100 e salva na SaidaValorLDR 
  SaidaValorLDR = SensorValorLDR; // Pega o valor do SensorValorLDR novamente e salva em SaidaValorLDR
  SaidaLedLCD = map(SaidaValorLDR , 0, 1023, 0, 110); //min=0 max=128 // Cria um map de 0 a 110 << para melhor ajustar a lampada  
  analogWrite(LedLCD, SaidaLedLCD); // Escreve o valor de SaidaLedLCD no LedLCD
}



Hardware

Montagem para prototipagem.


Esquema elétrico. 




sexta-feira, 11 de outubro de 2013

3° Passo (2° Parte)

É pessoal agora vamos a parte pratica.

Como já foi dito na primeira parte sobre os componentes, nosso circuito atualmente disponibiliza de:
  • TRIAC BT137
  • Optoacoplador MOC 3012 (sem detector de passagem por zero da senoide)
  • Optoacoplador PC817 (corrente continua)
  • Retificador de ponte
  • Resistores: 20kohm e 470ohm.
Lembrando que o circuito foi criado a partir dos componentes que nos tínhamos em mãos por esse motivo que estamos usando um MOC3012 em vez de usar um que tenha detector de zero que iria deixar tudo muito mais simples de se fazer.
Software V 1.3; Hardware V 1.0 

Toda a descrição do funcionamento do software esta explicado com comentários a frente de cada função, lembrando que pela falta de um optoacoplador com detector de zero vamos utilizar de um outro optoacoplador para fazer isso com auxilio de programação para disparar o TRIAC no momento certo.


Software

//*******************************************************************************
//
//    Software V1.3    Hardware V1.0
//
//*******************************************************************************
#include <LiquidCrystal.h>

LiquidCrystal lcd(12, 11, 7, 6, 5, 4);

const int SensorLDR = A0; // Entrada do sensor LDR em porta analogica      
const int LedLCD = 9; // Pino de saida Led do LCD com saida PWM

int SensorValorLDR = 0; // Variavel que armazena o valor do LDR
int SaidaValorLDR = 0; //Variavel  que armazena o valor para colocar na saida  
int SaidaLedLCD = 0; //Variavel  que armazena o valor para colocar na saida 
int AC_LOAD = 3;    // Pino de saida para o Optoacoplador >> TRIAC
int dimming = 128;  // Nivel do dimmer (0-128)  0 = Ligado, 128 = Desligado

//== Abaixo é para fazer o efeito de grafico no LCD============================
byte a[8] = { 0b10000, 
0b10000,  
0b10000,
0b10000,
0b10000,
0b10000,
0b10000,
0b10000
};

byte b[8] = { 0b11000, 
0b11000,  
0b11000,
0b11000,
0b11000,
0b11000,
0b11000,
0b11000
};

byte c[8] = { 0b11100, 
0b11100,  
0b11100,
0b11100,
0b11100,
0b11100,
0b11100,
0b11100
};

byte d[8] = { 0b11110, 
0b11110,  
0b11110,
0b11110,
0b11110,
0b11110,
0b11110,
0b11110
};

byte e[8] = { 0b11111, 
0b11111,  
0b11111,
0b11111,
0b11111,
0b11111,
0b11111,
0b11111
};
//============================================================================

void oi(){
  lcd.setCursor(0, 0); //seta o lcd na linha zero coluna zero
  lcd.print("LDR "); // e escreve 
  SensorValorLDR = analogRead(SensorLDR);// Lê o valor do LDR e salva em SensorValorLDR   
  SaidaValorLDR = map(SensorValorLDR, 0, 1023, 0, 100); //Pega o valor de SensorValorLDR cria um map de 0 a 100 e salva na SaidaValorLDR 
  lcd.print(SaidaValorLDR); //escreve SaidaValorLDR no LCD  
  lcd.print(char(37)); // escreve o caracter % no LCD
  SaidaValorLDR = SensorValorLDR; // Pega o valor do SensorValorLDR novamente e salva em SaidaValorLDR
  SaidaLedLCD = map(SaidaValorLDR , 0, 1023, 0, 110); //min=0 max=128 // Cria um map de 0 a 110 << para melhor ajustar a lampada  
  dimming = SaidaLedLCD; //Pega o valor do map SaidaLedLCD e salva em dimming
  analogWrite(LedLCD, SaidaLedLCD); // Escreve o valor de SaidaLedLCD no LedLCD
  delay(50); // delay para não carregar o processamento
  lcd.clear();// apaga o LCD

void zero_crosss_int() 
{
  // Calculo do angulo da senoide :: 60Hz-> 8.33ms (1/2 Ciclo)
  // (8333us - 8.33us) / 128 = 65 (aproximado)
  int dimtime = (65*dimming);      
  delayMicroseconds(dimtime);    // Off cycle
  digitalWrite(AC_LOAD, HIGH);   // Disparo TRIAC
  delayMicroseconds(8.33);       // Triac ligado em 8.33us, atraves da nossa base de calculo
  digitalWrite(AC_LOAD, LOW);    // Corte do TRIAC
}

void setup() {
  lcd.begin(16, 2); // Inicia o LCD 16x2
  pinMode(LedLCD, OUTPUT); // Declara o LedLCD como saida
  lcd.createChar(1, a); // Declara o char 1
  lcd.createChar(2, b); // Declara o char 2
  lcd.createChar(3, c); // Declara o char 3
  lcd.createChar(4, d); // Declara o char 4
  lcd.createChar(5, e); // Declara o char 5
  pinMode(AC_LOAD, OUTPUT); // Declara o AC_LOAD como saida
  attachInterrupt(0, zero_crosss_int, RISING);  // Ativa a interrupção zero e chama a função zero_crosss_int 
}

//=== Toda essa parte abaixo é para fazer o grafico e chamar a função loop=========================================
void loop() { 
  int programas = map(SaidaValorLDR , 0, 1023, 1, 80);
  switch (programas){     
    case 1:lcd.setCursor(0, 1);lcd.write(1); oi();break;
    case 2:lcd.setCursor(0, 1);lcd.write(2); oi();break;
    case 3:lcd.setCursor(0, 1);lcd.write(3); oi();break;
    case 4:lcd.setCursor(0, 1);lcd.write(4); oi();break;
    case 5:lcd.setCursor(0, 1);lcd.write(5); oi();break;
    case 6:lcd.setCursor(1, 1);lcd.write(1);lcd.setCursor(0, 1);lcd.write(5); oi();break;
    case 7:lcd.setCursor(1, 1);lcd.write(2);lcd.setCursor(0, 1);lcd.write(5); oi();break;
    case 8:lcd.setCursor(1, 1);lcd.write(3);lcd.setCursor(0, 1);lcd.write(5); oi();break;
    case 9:lcd.setCursor(1, 1);lcd.write(4);lcd.setCursor(0, 1);lcd.write(5); oi();break;
    case 10:lcd.setCursor(1, 1);lcd.write(5);lcd.setCursor(0, 1);lcd.write(5);lcd.setCursor(1, 1);lcd.write(5); oi();break;
    case 11:lcd.setCursor(2, 1);lcd.write(1);lcd.setCursor(0, 1);lcd.write(5);lcd.setCursor(1, 1);lcd.write(5); oi();break;
    case 12:lcd.setCursor(2, 1);lcd.write(2);lcd.setCursor(0, 1);lcd.write(5);lcd.setCursor(1, 1);lcd.write(5); oi();break;
    case 13:lcd.setCursor(2, 1);lcd.write(3);lcd.setCursor(0, 1);lcd.write(5);lcd.setCursor(1, 1);lcd.write(5); oi();break;
    case 14:lcd.setCursor(2, 1);lcd.write(4);lcd.setCursor(0, 1);lcd.write(5);lcd.setCursor(1, 1);lcd.write(5); oi();break;
    case 15:lcd.setCursor(2, 1);lcd.write(5);lcd.setCursor(0, 1);lcd.write(5);lcd.setCursor(1, 1);lcd.write(5); oi();break;
    case 16:lcd.setCursor(3, 1);lcd.write(1);lcd.setCursor(0, 1);lcd.write(5);lcd.setCursor(1, 1);lcd.write(5);lcd.write(5);lcd.setCursor(2, 1);lcd.write(5); oi();break;
    case 17:lcd.setCursor(3, 1);lcd.write(2);lcd.setCursor(0, 1);lcd.write(5);lcd.setCursor(1, 1);lcd.write(5);lcd.write(5);lcd.setCursor(2, 1);lcd.write(5); oi();break;
    case 18:lcd.setCursor(3, 1);lcd.write(3);lcd.setCursor(0, 1);lcd.write(5);lcd.setCursor(1, 1);lcd.write(5);lcd.write(5);lcd.setCursor(2, 1);lcd.write(5); oi();break;
    case 19:lcd.setCursor(3, 1);lcd.write(4);lcd.setCursor(0, 1);lcd.write(5);lcd.setCursor(1, 1);lcd.write(5);lcd.write(5);lcd.setCursor(2, 1);lcd.write(5); oi();break;
    case 20:lcd.setCursor(3, 1);lcd.write(5);lcd.setCursor(0, 1);lcd.write(5);lcd.setCursor(1, 1);lcd.write(5);lcd.write(5);lcd.setCursor(2, 1);lcd.write(5); oi();break;
    case 21:lcd.setCursor(4, 1);lcd.write(1);lcd.setCursor(0, 1);lcd.write(5);lcd.setCursor(1, 1);lcd.write(5);lcd.write(5);lcd.setCursor(2, 1);lcd.write(5);lcd.setCursor(3, 1);lcd.write(5); oi();break;
    case 22:lcd.setCursor(4, 1);lcd.write(2);lcd.setCursor(0, 1);lcd.write(5);lcd.setCursor(1, 1);lcd.write(5);lcd.write(5);lcd.setCursor(2, 1);lcd.write(5);lcd.setCursor(3, 1);lcd.write(5); oi();break;
    case 23:lcd.setCursor(4, 1);lcd.write(3);lcd.setCursor(0, 1);lcd.write(5);lcd.setCursor(1, 1);lcd.write(5);lcd.write(5);lcd.setCursor(2, 1);lcd.write(5);lcd.setCursor(3, 1);lcd.write(5); oi();break;
    case 24:lcd.setCursor(4, 1);lcd.write(4);lcd.setCursor(0, 1);lcd.write(5);lcd.setCursor(1, 1);lcd.write(5);lcd.write(5);lcd.setCursor(2, 1);lcd.write(5);lcd.setCursor(3, 1);lcd.write(5); oi();break;
    case 25:lcd.setCursor(4, 1);lcd.write(5);lcd.setCursor(0, 1);lcd.write(5);lcd.setCursor(1, 1);lcd.write(5);lcd.write(5);lcd.setCursor(2, 1);lcd.write(5);lcd.setCursor(3, 1);lcd.write(5); oi();break;
    case 26:lcd.setCursor(5, 1);lcd.write(1);lcd.setCursor(0, 1);lcd.write(5);lcd.setCursor(1, 1);lcd.write(5);lcd.write(5);lcd.setCursor(2, 1);lcd.write(5);lcd.setCursor(3, 1);lcd.write(5);lcd.setCursor(4, 1);lcd.write(5); oi();break;
    case 27:lcd.setCursor(5, 1);lcd.write(2);lcd.setCursor(0, 1);lcd.write(5);lcd.setCursor(1, 1);lcd.write(5);lcd.write(5);lcd.setCursor(2, 1);lcd.write(5);lcd.setCursor(3, 1);lcd.write(5);lcd.setCursor(4, 1);lcd.write(5); oi();break;
    case 28:lcd.setCursor(5, 1);lcd.write(3);lcd.setCursor(0, 1);lcd.write(5);lcd.setCursor(1, 1);lcd.write(5);lcd.write(5);lcd.setCursor(2, 1);lcd.write(5);lcd.setCursor(3, 1);lcd.write(5);lcd.setCursor(4, 1);lcd.write(5); oi();break;
    case 29:lcd.setCursor(5, 1);lcd.write(4);lcd.setCursor(0, 1);lcd.write(5);lcd.setCursor(1, 1);lcd.write(5);lcd.write(5);lcd.setCursor(2, 1);lcd.write(5);lcd.setCursor(3, 1);lcd.write(5);lcd.setCursor(4, 1);lcd.write(5); oi();break;
    case 30:lcd.setCursor(5, 1);lcd.write(5);lcd.setCursor(0, 1);lcd.write(5);lcd.setCursor(1, 1);lcd.write(5);lcd.write(5);lcd.setCursor(2, 1);lcd.write(5);lcd.setCursor(3, 1);lcd.write(5);lcd.setCursor(4, 1);lcd.write(5); oi();break;
    case 31:lcd.setCursor(6, 1);lcd.write(1);lcd.setCursor(0, 1);lcd.write(5);lcd.setCursor(1, 1);lcd.write(5);lcd.write(5);lcd.setCursor(2, 1);lcd.write(5);lcd.setCursor(3, 1);lcd.write(5);lcd.setCursor(4, 1);lcd.write(5);lcd.setCursor(5, 1);lcd.write(5); oi();break;
    case 32:lcd.setCursor(6, 1);lcd.write(2);lcd.setCursor(0, 1);lcd.write(5);lcd.setCursor(1, 1);lcd.write(5);lcd.write(5);lcd.setCursor(2, 1);lcd.write(5);lcd.setCursor(3, 1);lcd.write(5);lcd.setCursor(4, 1);lcd.write(5);lcd.setCursor(5, 1);lcd.write(5); oi();break;
    case 33:lcd.setCursor(6, 1);lcd.write(3);lcd.setCursor(0, 1);lcd.write(5);lcd.setCursor(1, 1);lcd.write(5);lcd.write(5);lcd.setCursor(2, 1);lcd.write(5);lcd.setCursor(3, 1);lcd.write(5);lcd.setCursor(4, 1);lcd.write(5);lcd.setCursor(5, 1);lcd.write(5); oi();break;
    case 34:lcd.setCursor(6, 1);lcd.write(4);lcd.setCursor(0, 1);lcd.write(5);lcd.setCursor(1, 1);lcd.write(5);lcd.write(5);lcd.setCursor(2, 1);lcd.write(5);lcd.setCursor(3, 1);lcd.write(5);lcd.setCursor(4, 1);lcd.write(5);lcd.setCursor(5, 1);lcd.write(5); oi();break;
    case 35:lcd.setCursor(6, 1);lcd.write(5);lcd.setCursor(0, 1);lcd.write(5);lcd.setCursor(1, 1);lcd.write(5);lcd.write(5);lcd.setCursor(2, 1);lcd.write(5);lcd.setCursor(3, 1);lcd.write(5);lcd.setCursor(4, 1);lcd.write(5);lcd.setCursor(5, 1);lcd.write(5); oi();break;
    case 36:lcd.setCursor(7, 1);lcd.write(1);lcd.setCursor(0, 1);lcd.write(5);lcd.setCursor(1, 1);lcd.write(5);lcd.write(5);lcd.setCursor(2, 1);lcd.write(5);lcd.setCursor(3, 1);lcd.write(5);lcd.setCursor(4, 1);lcd.write(5);lcd.setCursor(5, 1);lcd.write(5);lcd.setCursor(6, 1);lcd.write(5); oi();break;
    case 37:lcd.setCursor(7, 1);lcd.write(2);lcd.setCursor(0, 1);lcd.write(5);lcd.setCursor(1, 1);lcd.write(5);lcd.write(5);lcd.setCursor(2, 1);lcd.write(5);lcd.setCursor(3, 1);lcd.write(5);lcd.setCursor(4, 1);lcd.write(5);lcd.setCursor(5, 1);lcd.write(5);lcd.setCursor(6, 1);lcd.write(5); oi();break;
    case 38:lcd.setCursor(7, 1);lcd.write(3);lcd.setCursor(0, 1);lcd.write(5);lcd.setCursor(1, 1);lcd.write(5);lcd.write(5);lcd.setCursor(2, 1);lcd.write(5);lcd.setCursor(3, 1);lcd.write(5);lcd.setCursor(4, 1);lcd.write(5);lcd.setCursor(5, 1);lcd.write(5);lcd.setCursor(6, 1);lcd.write(5); oi();break;
    case 39:lcd.setCursor(7, 1);lcd.write(4);lcd.setCursor(0, 1);lcd.write(5);lcd.setCursor(1, 1);lcd.write(5);lcd.write(5);lcd.setCursor(2, 1);lcd.write(5);lcd.setCursor(3, 1);lcd.write(5);lcd.setCursor(4, 1);lcd.write(5);lcd.setCursor(5, 1);lcd.write(5);lcd.setCursor(6, 1);lcd.write(5); oi();break;
    case 40:lcd.setCursor(7, 1);lcd.write(5);lcd.setCursor(0, 1);lcd.write(5);lcd.setCursor(1, 1);lcd.write(5);lcd.write(5);lcd.setCursor(2, 1);lcd.write(5);lcd.setCursor(3, 1);lcd.write(5);lcd.setCursor(4, 1);lcd.write(5);lcd.setCursor(5, 1);lcd.write(5);lcd.setCursor(6, 1);lcd.write(5); oi();break;
    case 41:lcd.setCursor(8, 1);lcd.write(1);lcd.setCursor(0, 1);lcd.write(5);lcd.setCursor(1, 1);lcd.write(5);lcd.write(5);lcd.setCursor(2, 1);lcd.write(5);lcd.setCursor(3, 1);lcd.write(5);lcd.setCursor(4, 1);lcd.write(5);lcd.setCursor(5, 1);lcd.write(5);lcd.setCursor(6, 1);lcd.write(5);lcd.setCursor(7, 1);lcd.write(5); oi();break;
    case 42:lcd.setCursor(8, 1);lcd.write(2);lcd.setCursor(0, 1);lcd.write(5);lcd.setCursor(1, 1);lcd.write(5);lcd.write(5);lcd.setCursor(2, 1);lcd.write(5);lcd.setCursor(3, 1);lcd.write(5);lcd.setCursor(4, 1);lcd.write(5);lcd.setCursor(5, 1);lcd.write(5);lcd.setCursor(6, 1);lcd.write(5);lcd.setCursor(7, 1);lcd.write(5); oi();break;
    case 43:lcd.setCursor(8, 1);lcd.write(3);lcd.setCursor(0, 1);lcd.write(5);lcd.setCursor(1, 1);lcd.write(5);lcd.write(5);lcd.setCursor(2, 1);lcd.write(5);lcd.setCursor(3, 1);lcd.write(5);lcd.setCursor(4, 1);lcd.write(5);lcd.setCursor(5, 1);lcd.write(5);lcd.setCursor(6, 1);lcd.write(5);lcd.setCursor(7, 1);lcd.write(5); oi();break;
    case 44:lcd.setCursor(8, 1);lcd.write(4);lcd.setCursor(0, 1);lcd.write(5);lcd.setCursor(1, 1);lcd.write(5);lcd.write(5);lcd.setCursor(2, 1);lcd.write(5);lcd.setCursor(3, 1);lcd.write(5);lcd.setCursor(4, 1);lcd.write(5);lcd.setCursor(5, 1);lcd.write(5);lcd.setCursor(6, 1);lcd.write(5);lcd.setCursor(7, 1);lcd.write(5); oi();break;
    case 45:lcd.setCursor(8, 1);lcd.write(5);lcd.setCursor(0, 1);lcd.write(5);lcd.setCursor(1, 1);lcd.write(5);lcd.write(5);lcd.setCursor(2, 1);lcd.write(5);lcd.setCursor(3, 1);lcd.write(5);lcd.setCursor(4, 1);lcd.write(5);lcd.setCursor(5, 1);lcd.write(5);lcd.setCursor(6, 1);lcd.write(5);lcd.setCursor(7, 1);lcd.write(5); oi();break;
    case 46:lcd.setCursor(9, 1);lcd.write(1);lcd.setCursor(0, 1);lcd.write(5);lcd.setCursor(1, 1);lcd.write(5);lcd.write(5);lcd.setCursor(2, 1);lcd.write(5);lcd.setCursor(3, 1);lcd.write(5);lcd.setCursor(4, 1);lcd.write(5);lcd.setCursor(5, 1);lcd.write(5);lcd.setCursor(6, 1);lcd.write(5);lcd.setCursor(7, 1);lcd.write(5);lcd.setCursor(8, 1);lcd.write(5); oi();break;
    case 47:lcd.setCursor(9, 1);lcd.write(2);lcd.setCursor(0, 1);lcd.write(5);lcd.setCursor(1, 1);lcd.write(5);lcd.write(5);lcd.setCursor(2, 1);lcd.write(5);lcd.setCursor(3, 1);lcd.write(5);lcd.setCursor(4, 1);lcd.write(5);lcd.setCursor(5, 1);lcd.write(5);lcd.setCursor(6, 1);lcd.write(5);lcd.setCursor(7, 1);lcd.write(5);lcd.setCursor(8, 1);lcd.write(5); oi();break;
    case 48:lcd.setCursor(9, 1);lcd.write(3);lcd.setCursor(0, 1);lcd.write(5);lcd.setCursor(1, 1);lcd.write(5);lcd.write(5);lcd.setCursor(2, 1);lcd.write(5);lcd.setCursor(3, 1);lcd.write(5);lcd.setCursor(4, 1);lcd.write(5);lcd.setCursor(5, 1);lcd.write(5);lcd.setCursor(6, 1);lcd.write(5);lcd.setCursor(7, 1);lcd.write(5);lcd.setCursor(8, 1);lcd.write(5); oi();break;
    case 49:lcd.setCursor(9, 1);lcd.write(4);lcd.setCursor(0, 1);lcd.write(5);lcd.setCursor(1, 1);lcd.write(5);lcd.write(5);lcd.setCursor(2, 1);lcd.write(5);lcd.setCursor(3, 1);lcd.write(5);lcd.setCursor(4, 1);lcd.write(5);lcd.setCursor(5, 1);lcd.write(5);lcd.setCursor(6, 1);lcd.write(5);lcd.setCursor(7, 1);lcd.write(5);lcd.setCursor(8, 1);lcd.write(5); oi();break;
    case 50:lcd.setCursor(9, 1);lcd.write(5);lcd.setCursor(0, 1);lcd.write(5);lcd.setCursor(1, 1);lcd.write(5);lcd.write(5);lcd.setCursor(2, 1);lcd.write(5);lcd.setCursor(3, 1);lcd.write(5);lcd.setCursor(4, 1);lcd.write(5);lcd.setCursor(5, 1);lcd.write(5);lcd.setCursor(6, 1);lcd.write(5);lcd.setCursor(7, 1);lcd.write(5);lcd.setCursor(8, 1);lcd.write(5); oi();break;
    case 51:lcd.setCursor(10, 1);lcd.write(1);lcd.setCursor(0, 1);lcd.write(5);lcd.setCursor(1, 1);lcd.write(5);lcd.write(5);lcd.setCursor(2, 1);lcd.write(5);lcd.setCursor(3, 1);lcd.write(5);lcd.setCursor(4, 1);lcd.write(5);lcd.setCursor(5, 1);lcd.write(5);lcd.setCursor(6, 1);lcd.write(5);lcd.setCursor(7, 1);lcd.write(5);lcd.setCursor(8, 1);lcd.write(5);lcd.setCursor(9, 1);lcd.write(5); oi();break;
    case 52:lcd.setCursor(10, 1);lcd.write(2);lcd.setCursor(0, 1);lcd.write(5);lcd.setCursor(1, 1);lcd.write(5);lcd.write(5);lcd.setCursor(2, 1);lcd.write(5);lcd.setCursor(3, 1);lcd.write(5);lcd.setCursor(4, 1);lcd.write(5);lcd.setCursor(5, 1);lcd.write(5);lcd.setCursor(6, 1);lcd.write(5);lcd.setCursor(7, 1);lcd.write(5);lcd.setCursor(8, 1);lcd.write(5);lcd.setCursor(9, 1);lcd.write(5); oi();break;
    case 53:lcd.setCursor(10, 1);lcd.write(3);lcd.setCursor(0, 1);lcd.write(5);lcd.setCursor(1, 1);lcd.write(5);lcd.write(5);lcd.setCursor(2, 1);lcd.write(5);lcd.setCursor(3, 1);lcd.write(5);lcd.setCursor(4, 1);lcd.write(5);lcd.setCursor(5, 1);lcd.write(5);lcd.setCursor(6, 1);lcd.write(5);lcd.setCursor(7, 1);lcd.write(5);lcd.setCursor(8, 1);lcd.write(5);lcd.setCursor(9, 1);lcd.write(5); oi();break;
    case 54:lcd.setCursor(10, 1);lcd.write(4);lcd.setCursor(0, 1);lcd.write(5);lcd.setCursor(1, 1);lcd.write(5);lcd.write(5);lcd.setCursor(2, 1);lcd.write(5);lcd.setCursor(3, 1);lcd.write(5);lcd.setCursor(4, 1);lcd.write(5);lcd.setCursor(5, 1);lcd.write(5);lcd.setCursor(6, 1);lcd.write(5);lcd.setCursor(7, 1);lcd.write(5);lcd.setCursor(8, 1);lcd.write(5);lcd.setCursor(9, 1);lcd.write(5); oi();break;
    case 55:lcd.setCursor(10, 1);lcd.write(5);lcd.setCursor(0, 1);lcd.write(5);lcd.setCursor(1, 1);lcd.write(5);lcd.write(5);lcd.setCursor(2, 1);lcd.write(5);lcd.setCursor(3, 1);lcd.write(5);lcd.setCursor(4, 1);lcd.write(5);lcd.setCursor(5, 1);lcd.write(5);lcd.setCursor(6, 1);lcd.write(5);lcd.setCursor(7, 1);lcd.write(5);lcd.setCursor(8, 1);lcd.write(5);lcd.setCursor(9, 1);lcd.write(5); oi();break;
    case 56:lcd.setCursor(11, 1);lcd.write(1);lcd.setCursor(0, 1);lcd.write(5);lcd.setCursor(1, 1);lcd.write(5);lcd.write(5);lcd.setCursor(2, 1);lcd.write(5);lcd.setCursor(3, 1);lcd.write(5);lcd.setCursor(4, 1);lcd.write(5);lcd.setCursor(5, 1);lcd.write(5);lcd.setCursor(6, 1);lcd.write(5);lcd.setCursor(7, 1);lcd.write(5);lcd.setCursor(8, 1);lcd.write(5);lcd.setCursor(9, 1);lcd.write(5);lcd.setCursor(10, 1);lcd.write(5); oi();break;
    case 57:lcd.setCursor(11, 1);lcd.write(2);lcd.setCursor(0, 1);lcd.write(5);lcd.setCursor(1, 1);lcd.write(5);lcd.write(5);lcd.setCursor(2, 1);lcd.write(5);lcd.setCursor(3, 1);lcd.write(5);lcd.setCursor(4, 1);lcd.write(5);lcd.setCursor(5, 1);lcd.write(5);lcd.setCursor(6, 1);lcd.write(5);lcd.setCursor(7, 1);lcd.write(5);lcd.setCursor(8, 1);lcd.write(5);lcd.setCursor(9, 1);lcd.write(5);lcd.setCursor(10, 1);lcd.write(5); oi();break;
    case 58:lcd.setCursor(11, 1);lcd.write(3);lcd.setCursor(0, 1);lcd.write(5);lcd.setCursor(1, 1);lcd.write(5);lcd.write(5);lcd.setCursor(2, 1);lcd.write(5);lcd.setCursor(3, 1);lcd.write(5);lcd.setCursor(4, 1);lcd.write(5);lcd.setCursor(5, 1);lcd.write(5);lcd.setCursor(6, 1);lcd.write(5);lcd.setCursor(7, 1);lcd.write(5);lcd.setCursor(8, 1);lcd.write(5);lcd.setCursor(9, 1);lcd.write(5);lcd.setCursor(10, 1);lcd.write(5); oi();break;
    case 59:lcd.setCursor(11, 1);lcd.write(4);lcd.setCursor(0, 1);lcd.write(5);lcd.setCursor(1, 1);lcd.write(5);lcd.write(5);lcd.setCursor(2, 1);lcd.write(5);lcd.setCursor(3, 1);lcd.write(5);lcd.setCursor(4, 1);lcd.write(5);lcd.setCursor(5, 1);lcd.write(5);lcd.setCursor(6, 1);lcd.write(5);lcd.setCursor(7, 1);lcd.write(5);lcd.setCursor(8, 1);lcd.write(5);lcd.setCursor(9, 1);lcd.write(5);lcd.setCursor(10, 1);lcd.write(5); oi();break;
    case 60:lcd.setCursor(11, 1);lcd.write(5);lcd.setCursor(0, 1);lcd.write(5);lcd.setCursor(1, 1);lcd.write(5);lcd.write(5);lcd.setCursor(2, 1);lcd.write(5);lcd.setCursor(3, 1);lcd.write(5);lcd.setCursor(4, 1);lcd.write(5);lcd.setCursor(5, 1);lcd.write(5);lcd.setCursor(6, 1);lcd.write(5);lcd.setCursor(7, 1);lcd.write(5);lcd.setCursor(8, 1);lcd.write(5);lcd.setCursor(9, 1);lcd.write(5);lcd.setCursor(10, 1);lcd.write(5); oi();break;
    case 61:lcd.setCursor(12, 1);lcd.write(1);lcd.setCursor(0, 1);lcd.write(5);lcd.setCursor(1, 1);lcd.write(5);lcd.write(5);lcd.setCursor(2, 1);lcd.write(5);lcd.setCursor(3, 1);lcd.write(5);lcd.setCursor(4, 1);lcd.write(5);lcd.setCursor(5, 1);lcd.write(5);lcd.setCursor(6, 1);lcd.write(5);lcd.setCursor(7, 1);lcd.write(5);lcd.setCursor(8, 1);lcd.write(5);lcd.setCursor(9, 1);lcd.write(5);lcd.setCursor(10, 1);lcd.write(5);lcd.setCursor(11, 1);lcd.write(5); oi();break;
    case 62:lcd.setCursor(12, 1);lcd.write(2);lcd.setCursor(0, 1);lcd.write(5);lcd.setCursor(1, 1);lcd.write(5);lcd.write(5);lcd.setCursor(2, 1);lcd.write(5);lcd.setCursor(3, 1);lcd.write(5);lcd.setCursor(4, 1);lcd.write(5);lcd.setCursor(5, 1);lcd.write(5);lcd.setCursor(6, 1);lcd.write(5);lcd.setCursor(7, 1);lcd.write(5);lcd.setCursor(8, 1);lcd.write(5);lcd.setCursor(9, 1);lcd.write(5);lcd.setCursor(10, 1);lcd.write(5);lcd.setCursor(11, 1);lcd.write(5); oi();break;
    case 63:lcd.setCursor(12, 1);lcd.write(3);lcd.setCursor(0, 1);lcd.write(5);lcd.setCursor(1, 1);lcd.write(5);lcd.write(5);lcd.setCursor(2, 1);lcd.write(5);lcd.setCursor(3, 1);lcd.write(5);lcd.setCursor(4, 1);lcd.write(5);lcd.setCursor(5, 1);lcd.write(5);lcd.setCursor(6, 1);lcd.write(5);lcd.setCursor(7, 1);lcd.write(5);lcd.setCursor(8, 1);lcd.write(5);lcd.setCursor(9, 1);lcd.write(5);lcd.setCursor(10, 1);lcd.write(5);lcd.setCursor(11, 1);lcd.write(5); oi();break;
    case 64:lcd.setCursor(12, 1);lcd.write(4);lcd.setCursor(0, 1);lcd.write(5);lcd.setCursor(1, 1);lcd.write(5);lcd.write(5);lcd.setCursor(2, 1);lcd.write(5);lcd.setCursor(3, 1);lcd.write(5);lcd.setCursor(4, 1);lcd.write(5);lcd.setCursor(5, 1);lcd.write(5);lcd.setCursor(6, 1);lcd.write(5);lcd.setCursor(7, 1);lcd.write(5);lcd.setCursor(8, 1);lcd.write(5);lcd.setCursor(9, 1);lcd.write(5);lcd.setCursor(10, 1);lcd.write(5);lcd.setCursor(11, 1);lcd.write(5); oi();break;
    case 65:lcd.setCursor(12, 1);lcd.write(5);lcd.setCursor(0, 1);lcd.write(5);lcd.setCursor(1, 1);lcd.write(5);lcd.write(5);lcd.setCursor(2, 1);lcd.write(5);lcd.setCursor(3, 1);lcd.write(5);lcd.setCursor(4, 1);lcd.write(5);lcd.setCursor(5, 1);lcd.write(5);lcd.setCursor(6, 1);lcd.write(5);lcd.setCursor(7, 1);lcd.write(5);lcd.setCursor(8, 1);lcd.write(5);lcd.setCursor(9, 1);lcd.write(5);lcd.setCursor(10, 1);lcd.write(5);lcd.setCursor(11, 1);lcd.write(5); oi();break;
    case 66:lcd.setCursor(13, 1);lcd.write(1);lcd.setCursor(0, 1);lcd.write(5);lcd.setCursor(1, 1);lcd.write(5);lcd.write(5);lcd.setCursor(2, 1);lcd.write(5);lcd.setCursor(3, 1);lcd.write(5);lcd.setCursor(4, 1);lcd.write(5);lcd.setCursor(5, 1);lcd.write(5);lcd.setCursor(6, 1);lcd.write(5);lcd.setCursor(7, 1);lcd.write(5);lcd.setCursor(8, 1);lcd.write(5);lcd.setCursor(9, 1);lcd.write(5);lcd.setCursor(10, 1);lcd.write(5);lcd.setCursor(11, 1);lcd.write(5);lcd.setCursor(12, 1);lcd.write(5); oi();break;
    case 67:lcd.setCursor(13, 1);lcd.write(2);lcd.setCursor(0, 1);lcd.write(5);lcd.setCursor(1, 1);lcd.write(5);lcd.write(5);lcd.setCursor(2, 1);lcd.write(5);lcd.setCursor(3, 1);lcd.write(5);lcd.setCursor(4, 1);lcd.write(5);lcd.setCursor(5, 1);lcd.write(5);lcd.setCursor(6, 1);lcd.write(5);lcd.setCursor(7, 1);lcd.write(5);lcd.setCursor(8, 1);lcd.write(5);lcd.setCursor(9, 1);lcd.write(5);lcd.setCursor(10, 1);lcd.write(5);lcd.setCursor(11, 1);lcd.write(5);lcd.setCursor(12, 1);lcd.write(5); oi();break;
    case 68:lcd.setCursor(13, 1);lcd.write(3);lcd.setCursor(0, 1);lcd.write(5);lcd.setCursor(1, 1);lcd.write(5);lcd.write(5);lcd.setCursor(2, 1);lcd.write(5);lcd.setCursor(3, 1);lcd.write(5);lcd.setCursor(4, 1);lcd.write(5);lcd.setCursor(5, 1);lcd.write(5);lcd.setCursor(6, 1);lcd.write(5);lcd.setCursor(7, 1);lcd.write(5);lcd.setCursor(8, 1);lcd.write(5);lcd.setCursor(9, 1);lcd.write(5);lcd.setCursor(10, 1);lcd.write(5);lcd.setCursor(11, 1);lcd.write(5);lcd.setCursor(12, 1);lcd.write(5); oi();break;
    case 69:lcd.setCursor(13, 1);lcd.write(4);lcd.setCursor(0, 1);lcd.write(5);lcd.setCursor(1, 1);lcd.write(5);lcd.write(5);lcd.setCursor(2, 1);lcd.write(5);lcd.setCursor(3, 1);lcd.write(5);lcd.setCursor(4, 1);lcd.write(5);lcd.setCursor(5, 1);lcd.write(5);lcd.setCursor(6, 1);lcd.write(5);lcd.setCursor(7, 1);lcd.write(5);lcd.setCursor(8, 1);lcd.write(5);lcd.setCursor(9, 1);lcd.write(5);lcd.setCursor(10, 1);lcd.write(5);lcd.setCursor(11, 1);lcd.write(5);lcd.setCursor(12, 1);lcd.write(5); oi();break;
    case 70:lcd.setCursor(13, 1);lcd.write(5);lcd.setCursor(0, 1);lcd.write(5);lcd.setCursor(1, 1);lcd.write(5);lcd.write(5);lcd.setCursor(2, 1);lcd.write(5);lcd.setCursor(3, 1);lcd.write(5);lcd.setCursor(4, 1);lcd.write(5);lcd.setCursor(5, 1);lcd.write(5);lcd.setCursor(6, 1);lcd.write(5);lcd.setCursor(7, 1);lcd.write(5);lcd.setCursor(8, 1);lcd.write(5);lcd.setCursor(9, 1);lcd.write(5);lcd.setCursor(10, 1);lcd.write(5);lcd.setCursor(11, 1);lcd.write(5);lcd.setCursor(12, 1);lcd.write(5); oi();break;
    case 71:lcd.setCursor(14, 1);lcd.write(1);lcd.setCursor(0, 1);lcd.write(5);lcd.setCursor(1, 1);lcd.write(5);lcd.write(5);lcd.setCursor(2, 1);lcd.write(5);lcd.setCursor(3, 1);lcd.write(5);lcd.setCursor(4, 1);lcd.write(5);lcd.setCursor(5, 1);lcd.write(5);lcd.setCursor(6, 1);lcd.write(5);lcd.setCursor(7, 1);lcd.write(5);lcd.setCursor(8, 1);lcd.write(5);lcd.setCursor(9, 1);lcd.write(5);lcd.setCursor(10, 1);lcd.write(5);lcd.setCursor(11, 1);lcd.write(5);lcd.setCursor(12, 1);lcd.write(5);lcd.setCursor(13, 1);lcd.write(5); oi();break;
    case 72:lcd.setCursor(14, 1);lcd.write(2);lcd.setCursor(0, 1);lcd.write(5);lcd.setCursor(1, 1);lcd.write(5);lcd.write(5);lcd.setCursor(2, 1);lcd.write(5);lcd.setCursor(3, 1);lcd.write(5);lcd.setCursor(4, 1);lcd.write(5);lcd.setCursor(5, 1);lcd.write(5);lcd.setCursor(6, 1);lcd.write(5);lcd.setCursor(7, 1);lcd.write(5);lcd.setCursor(8, 1);lcd.write(5);lcd.setCursor(9, 1);lcd.write(5);lcd.setCursor(10, 1);lcd.write(5);lcd.setCursor(11, 1);lcd.write(5);lcd.setCursor(12, 1);lcd.write(5);lcd.setCursor(13, 1);lcd.write(5); oi();break;
    case 73:lcd.setCursor(14, 1);lcd.write(3);lcd.setCursor(0, 1);lcd.write(5);lcd.setCursor(1, 1);lcd.write(5);lcd.write(5);lcd.setCursor(2, 1);lcd.write(5);lcd.setCursor(3, 1);lcd.write(5);lcd.setCursor(4, 1);lcd.write(5);lcd.setCursor(5, 1);lcd.write(5);lcd.setCursor(6, 1);lcd.write(5);lcd.setCursor(7, 1);lcd.write(5);lcd.setCursor(8, 1);lcd.write(5);lcd.setCursor(9, 1);lcd.write(5);lcd.setCursor(10, 1);lcd.write(5);lcd.setCursor(11, 1);lcd.write(5);lcd.setCursor(12, 1);lcd.write(5);lcd.setCursor(13, 1);lcd.write(5); oi();break;
    case 74:lcd.setCursor(14, 1);lcd.write(4);lcd.setCursor(0, 1);lcd.write(5);lcd.setCursor(1, 1);lcd.write(5);lcd.write(5);lcd.setCursor(2, 1);lcd.write(5);lcd.setCursor(3, 1);lcd.write(5);lcd.setCursor(4, 1);lcd.write(5);lcd.setCursor(5, 1);lcd.write(5);lcd.setCursor(6, 1);lcd.write(5);lcd.setCursor(7, 1);lcd.write(5);lcd.setCursor(8, 1);lcd.write(5);lcd.setCursor(9, 1);lcd.write(5);lcd.setCursor(10, 1);lcd.write(5);lcd.setCursor(11, 1);lcd.write(5);lcd.setCursor(12, 1);lcd.write(5);lcd.setCursor(13, 1);lcd.write(5); oi();break;
    case 75:lcd.setCursor(14, 1);lcd.write(5);lcd.setCursor(0, 1);lcd.write(5);lcd.setCursor(1, 1);lcd.write(5);lcd.write(5);lcd.setCursor(2, 1);lcd.write(5);lcd.setCursor(3, 1);lcd.write(5);lcd.setCursor(4, 1);lcd.write(5);lcd.setCursor(5, 1);lcd.write(5);lcd.setCursor(6, 1);lcd.write(5);lcd.setCursor(7, 1);lcd.write(5);lcd.setCursor(8, 1);lcd.write(5);lcd.setCursor(9, 1);lcd.write(5);lcd.setCursor(10, 1);lcd.write(5);lcd.setCursor(11, 1);lcd.write(5);lcd.setCursor(12, 1);lcd.write(5);lcd.setCursor(13, 1);lcd.write(5); oi();break;
    case 76:lcd.setCursor(15, 1);lcd.write(1);lcd.setCursor(0, 1);lcd.write(5);lcd.setCursor(1, 1);lcd.write(5);lcd.write(5);lcd.setCursor(2, 1);lcd.write(5);lcd.setCursor(3, 1);lcd.write(5);lcd.setCursor(4, 1);lcd.write(5);lcd.setCursor(5, 1);lcd.write(5);lcd.setCursor(6, 1);lcd.write(5);lcd.setCursor(7, 1);lcd.write(5);lcd.setCursor(8, 1);lcd.write(5);lcd.setCursor(9, 1);lcd.write(5);lcd.setCursor(10, 1);lcd.write(5);lcd.setCursor(11, 1);lcd.write(5);lcd.setCursor(12, 1);lcd.write(5);lcd.setCursor(13, 1);lcd.write(5);lcd.setCursor(14, 1);lcd.write(5); oi();break;
    case 77:lcd.setCursor(15, 1);lcd.write(2);lcd.setCursor(0, 1);lcd.write(5);lcd.setCursor(1, 1);lcd.write(5);lcd.write(5);lcd.setCursor(2, 1);lcd.write(5);lcd.setCursor(3, 1);lcd.write(5);lcd.setCursor(4, 1);lcd.write(5);lcd.setCursor(5, 1);lcd.write(5);lcd.setCursor(6, 1);lcd.write(5);lcd.setCursor(7, 1);lcd.write(5);lcd.setCursor(8, 1);lcd.write(5);lcd.setCursor(9, 1);lcd.write(5);lcd.setCursor(10, 1);lcd.write(5);lcd.setCursor(11, 1);lcd.write(5);lcd.setCursor(12, 1);lcd.write(5);lcd.setCursor(13, 1);lcd.write(5);lcd.setCursor(14, 1);lcd.write(5); oi();break;
    case 78:lcd.setCursor(15, 1);lcd.write(3);lcd.setCursor(0, 1);lcd.write(5);lcd.setCursor(1, 1);lcd.write(5);lcd.write(5);lcd.setCursor(2, 1);lcd.write(5);lcd.setCursor(3, 1);lcd.write(5);lcd.setCursor(4, 1);lcd.write(5);lcd.setCursor(5, 1);lcd.write(5);lcd.setCursor(6, 1);lcd.write(5);lcd.setCursor(7, 1);lcd.write(5);lcd.setCursor(8, 1);lcd.write(5);lcd.setCursor(9, 1);lcd.write(5);lcd.setCursor(10, 1);lcd.write(5);lcd.setCursor(11, 1);lcd.write(5);lcd.setCursor(12, 1);lcd.write(5);lcd.setCursor(13, 1);lcd.write(5);lcd.setCursor(14, 1);lcd.write(5); oi();break;
    case 79:lcd.setCursor(15, 1);lcd.write(4);lcd.setCursor(0, 1);lcd.write(5);lcd.setCursor(1, 1);lcd.write(5);lcd.write(5);lcd.setCursor(2, 1);lcd.write(5);lcd.setCursor(3, 1);lcd.write(5);lcd.setCursor(4, 1);lcd.write(5);lcd.setCursor(5, 1);lcd.write(5);lcd.setCursor(6, 1);lcd.write(5);lcd.setCursor(7, 1);lcd.write(5);lcd.setCursor(8, 1);lcd.write(5);lcd.setCursor(9, 1);lcd.write(5);lcd.setCursor(10, 1);lcd.write(5);lcd.setCursor(11, 1);lcd.write(5);lcd.setCursor(12, 1);lcd.write(5);lcd.setCursor(13, 1);lcd.write(5);lcd.setCursor(14, 1);lcd.write(5); oi();break;
    case 80:lcd.setCursor(15, 1);lcd.write(5);lcd.setCursor(0, 1);lcd.write(5);lcd.setCursor(1, 1);lcd.write(5);lcd.write(5);lcd.setCursor(2, 1);lcd.write(5);lcd.setCursor(3, 1);lcd.write(5);lcd.setCursor(4, 1);lcd.write(5);lcd.setCursor(5, 1);lcd.write(5);lcd.setCursor(6, 1);lcd.write(5);lcd.setCursor(7, 1);lcd.write(5);lcd.setCursor(8, 1);lcd.write(5);lcd.setCursor(9, 1);lcd.write(5);lcd.setCursor(10, 1);lcd.write(5);lcd.setCursor(11, 1);lcd.write(5);lcd.setCursor(12, 1);lcd.write(5);lcd.setCursor(13, 1);lcd.write(5);lcd.setCursor(14, 1);lcd.write(5); oi();break;
    break;}    
}

Hardware

Esquemático criado no software fritzing. veja postagem anterior.



Fotos









Vídeo