segunda-feira, 8 de junho de 2015

Simulação no Proteus 8.1 do Arduino Uno Com Diplay de LCD Nokia 3310 ou 5110

      Projeto utilizando Arduino Uno ,  Display de LCD Nokia 3310, Módulos: RTC DS1307- DH11 e os Sensores LM35 - LDR para visualizar no LCD as Horas, Data, Temperatura, Umidade e Luminosidade Ambiente. 


      Módulo de Display Gráfico - Nokia 3310 ou 5110


        O LCD Nokia 3310 e o 5110 são controlados pelo chip PCD8544, o Arduino envia as instruções para o controlador e este as traduz no LCD. Possui uma resolução de 84x48 pixels e cerca de 1,5" de diâmetro, podemos usá-lo para gráficos, textos ou bitmaps e necessitam de poucos pinos de I/O digitais e são de baixo consumo de energia também. Teoricamente este chip só suporta 3.3V, mas repetidos testes feitos por diversos desenvolvedores tem mostrado que o chip é tolerante aos 5V do Arduino, por isso você pode fazer as ligações diretamente. Usando fonte pequena, sem espaçamento entre linhas, é possível exibir cerca de 6 linhas de 14 caracteres com este display.



                                                                                   Foto do Projeto

 Configuração para o LCD-5110   
  Arduino                            LCD
  5V         ------------------- 3-VCC
  GND     ------------------- 1-GND
  PIN #8  ------------------- 6-D/C
  PIN #9  ------------------- 8-RST
  PIN #10 ------------------ 7-SCE
  PIN #11 -----------------  5-SDIN
  PIN #13 -----------------  4-SCLK
  PIN #7  ------------------ 2-BL (LED)



Módulo Real Time Clock - RTC DS1307
Real Time Clock (RTC) é um módulo de baixo consumo de energia, com calendário completo e com mais 56 bytes de SRAM, sendo capaz de fornecer informações como segundo, minutos,  dia, data, mês e ano. Possui circuito que detecta falhas de energia, acionando assim automaticamente a bateria para evitar perda de dados e manter a contagem do tempo correta, dessa forma mantém data e hora sempre exatos. Endereço e informações são transferidas via protocolo I2C. Correções como meses com menos de 31 dias e anos bissextos são corrigidos automaticamente.


     Módulo - DHT11
        Este módulo inclui um componente medidor de umidade e um componente NTC para temperatura,  ambos conectados a um controlador de 8-bits. O interessante neste componente é o protocolo usado para transferir dados entre o MCDU e DHT11, pois as leituras do sensor são enviadas usando apenas um único fio de barramento. Formato dos dados: 8bit integral RH data + 8bit decimal RH data + 8bit integral T data + 8bit decimal T data + 8bit check sum = 40 bits. Neste projeto uso apenas o componente medidor de umidade do módulo, pois a temperatura será fornecida pelo Sensor LM35.

Caracteristicas:
         – Alimentação: 3,0 a 5,0 VDC (5,5 Vdc máximo)
         – Corrente: 200uA a 500mA, em stand by de 100uA a 150 uA
         – Faixa de medição de umidade: 20 a 90% UR
         – Faixa de medição de temperatura: 0º a 50ºC
         – Precisão de umidade de medição: ± 5,0% UR
         – Precisão de medição de temperatura: ± 2.0 ºC
         – Tempo de resposta: < 5s
         – Dimensões: 23mm x 12mm x 5mm (incluindo terminais)


      Sensor de Temperatura - LM35                            O sensor LM35 apresenta uma saída de tensão linear relativa à temperatura em que ele se encontrar no momento em que for alimentado por uma tensão de 4-20Vdc e GND, tendo em sua saída um sinal de 10mV para cada Grau Celsius de temperatura. Este sensor poderá ser alimentado com alimentação simples ou simétrica, dependendo do que se desejar como sinal de saída, mas independentemente disso, a saída continuará sendo de 10mV/ºC.



     Sensor de Luminosidade - LDR                         LDR (do inglês Light Dependent Resistor ou em português Resistor Dependente de Luz) é um tipo de resistor cuja resistência varia conforme a intensidade de radiação eletromagnética do espectro visível que incide sobre ele. Um LDR é um transdutor de entrada (sensor) que converte a luz em valores de resistência. É feito de sulfeto de cádmio (CdS) ou seleneto de cádmio (CdSe). Sua resistência diminui quando a luz é muito alta, e quando a luz é baixa, a resistência no LDR aumenta. Um multímetro pode ser usado para encontrar a resistência na escuridão ou na presença de luz intensa. Estes são os resultados típicos para um LDR padrão:
     - Escuridão                     :  resistência máxima, geralmente acima de 1M ohms.
     - Luz muito brilhante   :  resistência mínima, aproximadamente 100 ohms.


Circuito
 

 Vídeo da Simulação


Demonstração


Download - Simulação e Fontes e Library

22 comentários:

  1. O display azul é 5V. O vermelho é 3.3V!!

    ResponderExcluir
  2. No Proteus 8.6 SP2 build 23525, Nokia 3310, fica visor branco sem mostrar nada. Já instalei as livrarias e modelos e nada! O que está acontecendo?

    ResponderExcluir
  3. Disponibilizei as simulações para Proteus 8.6 SP2/SP3.
    Obrigado pelo retorno.

    ResponderExcluir
  4. Zedequias Fonseca obrigado pelo retorno. Mas problema continua: notei que o LCD é outro na versão: 8.6 SP2, mas ele continua apagado. Instalei na pasta: C:\ProgramData\Labcenter Electronics\Proteus 8 Professional\MODELS e na pasta: C:\ProgramData\Labcenter Electronics\Proteus 8 Professional\LIBRARY os arquivos que baixei. Executo o programa nada aparece, as mensagens estão em verde e, quando clico em interromper notei mensagens em amarelo: Used cached model 'NOKIA3310.MDF'.
    Pin 'CLK' is not modelled. [LCD NOKIA 3310/5110]
    Pin 'DIN' is not modelled. [LCD NOKIA 3310/5110]
    Pin 'D/C' is not modelled. [LCD NOKIA 3310/5110]
    Pin 'CS' is not modelled. [LCD NOKIA 3310/5110]
    Pin 'RST' is not modelled. [LCD NOKIA 3310/5110]
    Pin 'LED' is not modelled. [LCD NOKIA 3310/5110]
    Pin 'VCC' is not modelled. [LCD NOKIA 3310/5110]
    Pin 'GND' is not modelled. [LCD NOKIA 3310/5110]
    Portanto, ainda continua tendo algum problema em 8.6 SP2. Você tem mais alguma dica para poder tentar?
    Grato,
    Marcos

    ResponderExcluir
    Respostas
    1. Agora, funcionou! Mas tive que usar a versão portátil: Proteus_8_6_SP2_portable. Com essa está passando, ou seja, o visor fica visível com as informações corretas. Ainda não entendi porque na versão instalada não funciona! Caso tenha alguma dica é bem vinda porque não gosto de usar versão portátil.
      Grato mais uma vez.
      Marcos

      Excluir
  5. Solução que encontrei para funcionar o LCD Nokia na versão instalada: copiei o arquivo nokia.lib da versão 8.5 e coloquei na pasta correta do Proteus 8.6 SP2.
    Marcos

    ResponderExcluir
  6. Que bom que conseguiu. Estive viajando nos últimos dias.

    ResponderExcluir
  7. Não tem a programação do arduino ? Para disponibilizar

    ResponderExcluir
    Respostas
    1. https://mega.nz/#!XEtg1JjS!IASAkW7-aw3q84L1rcxh24fdI-PouQmnO6cMHLX0t_w

      Excluir
  8. hi the code not work can you send work code plz

    ResponderExcluir
    Respostas
    1. can you send me wotking code plz mail
      najtan100 @gmail.com

      Excluir
  9. Projeto muito interessante gostaria de saber como posso adicionar mais sensores a este projeto pois estou fazendo uma estação Metareológico

    ResponderExcluir
  10. Gostaria de saber se você poderia me dar um exemplo pois só preciso colocar alguns sensores ou como é feito o código, obrigado pela atenção

    ResponderExcluir
    Respostas
    1. Faça download dos arquivos que disponibilizei.
      https://mega.nz/#!XEtg1JjS!IASAkW7-aw3q84L1rcxh24fdI-PouQmnO6cMHLX0t_w

      Excluir
    2. Olá, muito obrigado por compartilhar seu código, mas minha dúvida é sobre como adicionar um novo sensor, pois estou fazendo uma estação meteorológica portátil e estou ocupado. 8 sensores seriam muito úteis.

      Excluir
    3. A sua dúvida é como ler 8 sensores, sendo que o arduino tem apenas 6 portas analógicas?

      Excluir
    4. olá, excelente tarde, neste caso a programação para o cartão ESP32 foi adaptada e alguns sensores estão com comunicação I2C, por exemplo radiação UV e pressão barométrica

      Excluir
    5. Já tenho todos os 8 sensores prontos para leitura, porém não tenho conhecimento de como aparecem no LCD da Nokia respeitando sua programação, gostaria de saber que seria muito útil

      Excluir
    6. Após efetuar a ligações do lcd em seu arduino, utilize o exemplo pcdtest.ino da lib Adafruit_PCD8544 para seus estudos. Deixei o meu código está bem comentado para facilitar.

      Excluir
  11. muito obrigado pela sua resposta e excelente projeto

    ResponderExcluir