Como aumentar o numero de portas ANALOGICAS DE ENTRADA

Olá amigos,

  Para aumentar o numero de portas de saida se usa um expansor de portas como o ci 74hc595, porem, muitas vezes queremos colocar diversos sensores analogicos ligados a um único arduino, mas ele tem apenas 6 entradas analogicas.

   A duvida é,  COMO EXPANDIR O NUMERO DE PORTAS ANALOGICAS DE ENTRADA ?

Exibições: 10025

Responder esta

Respostas a este tópico

Bom dia meu caro! Eu usaria um MUX. 

Data Input : Sao as entradas 

Data select: É o que seleciona qual entrada deve sair na saida

Output: Saida

Por exemplo que eu quero que na saída saia o sensor que esta ligado na D0 entao devo enviar para porta data select 000 ( I2=0,I1=0,I0=0)

Wellington,  obrigado pela resposta.

 

    Eu já havia pensado em algo assim,  uma simulação de ampliação das portas analogicas, atraves do uso de chaveadores, que pelo que entendi é o que você propõe.

     Seria alto tipo eu ligar na porta A0 do arduino um seletor, por exemplo com 5 portas I/O digitais(poderia até ser relês),  e atribuir o valor a variáveis.

Dai quando eu acionasse a porta D1(relê 1 por exemplo) no tempo 1,  ele deixaria o resultado do primeiro sensor analogico passar e seria lido pela A0, e em seguida esssa porta seria desligada.

 Logo em seguida a porta 2 seria acionada no tempo 2, e o resultado do segundo sensor iria agora alimentar a A0.

   E por essa lógica daria pra meter mil portas contraladas, digamos, por relês.

 

    Mas ai fica a pergunta, e entre um tempo de captação e outro ?    ou seja, se eu tiver por exemplo 10 entradas desse tipo, assim que a primeira for acionada e desligada, logo nesse segundo o sensor é estimulado, mas ela vai estar lendo o sensor 5 ou 7 por exemplo, e ai quando voltar ao sensor 1 o evento já passou.

 

    Entende  o que digo ?

 

     Por  isso eu queria realmente expandir as portas analogicas, pra poder colocar mais que apenas 6 leituras analogicas por vez(ou mesmo mais que as 16 do mega).

Cara, estamos falando em microssegundos, que diacho de evento é esse que passa tão rápido que não pode esperar microssegundos para que seja realizada a leitura dos sensores? ... 

Do jeito que tu falou, nem mesmo o arduíno fará a leitura da forma que você precisa, pq ele lê uma de cada vez. Um pino analógico não é sensível à interrupções nem tem memória ou buffer.

Boa resposta plinio,

      Acho que realmente vou tentar a montagem, vou tentar da seguinte forma:

  Usando o CI TLC5940NT, que é usado normalmente para acentender leds,  vou provocar o acionamento da base de transistores BC548,  vou ver se a melhor montagem é jogar o sinal no coletor, ou seria colocar no emissor em paralelo com um resistor de pull down, em seguida ligado a porta do arduino, realmente só tentanto pra ver o que é melhor.

     Acho que ainda não é o ideial, mas....   se pelo visto não tem outro jeito, vou tentar esse pra ver se dá.

     mas tenho quase certeza que vou ter que meter algum delay ai no meio, senão a leitura vai ser tão rapida que acho que não vai funcionar.

     Mas continuo desejando ainda uma outra saida, se alguem tiver mais alguma sugestão, eu agradeço.

      Mas de antemão agradeço ao Welligton e ao Plini,  valeu mesmo caras.

Não pode ser um conversor AD i2c ou SPI?

Como funcionaria Jucelei ?

Putz cara, acho que meter o datasheet de um ci não responde muito uma questão do tipo proposta.

Tipo, como funcionaria esse CI com o arduino ?   no caso a ideia seria converter o sinal analogico para digital para ser recebido pelo arduino por uma das portas digitais?  ele conseguiria entender ?  apresentaria o resultado em graduação 0 a 1023 (8 bits) como é o padrão dele ?

AD = Conversor Analógico/Digital, tem a mesma função de um pino analógico do arduíno, só q essa conversão ocorre externamente e tu recebe o valor em bits...

Bom, 

Se o datasheet não explicar o funcionamento de um componente, oque explicaria...

Ler o datasheet é a melhor forma de REALMENTE aprender como um determinado componente funciona, está tudo lá, pinagem, alimentação, entradas, saídas, niveis de sinais, exemplos, testes, aplicações, etc...

Sim wiechert,  e inclusive esta lá dizendo que o chip informado é 12 bits enquanto o arduino é 10 bits,  por isso pedi mais informações ao nosso nobre plinio. 

Numa conversão do arduino 2^10  =1024   enquanto num conversor 12 bits 2^12=4096,  logo, eu não tenho conhecimento suficiente pra saber como o arduino vai ser comportar, por isso pergunto ok.

Olá Galera,

    Quero agradecer a todos que ajudaram na discursão, Ao Welington, plinio, jucilei, e até o winchester ai.

    Pelo que entendi, são dois os caminhos, ou usa um seletor e pega valores baseado em tempos intermitentes, ou se usa conversor analogico Digital e se fica limitado ao total de numero de portas do proprio arduino (somando analogicas e digitais). 

   Achou que vou continuar buscando, visto que confesso que imaginei algum CI que recebesse as informações, decodificasse e transmitisse ao arduino de alguma forma, como a serial ou outra,  mas trabalhando em tempo de detecção real, e podendo ser inclusas quantas portas desejadas.

   Vou continuar buscando, se achar, eu posto aqui.

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço