Ola pessoal. Boa tarde

Eu estou montando um projeto porém em alguns momentos um recurso utilizado acaba atrapalhando o desempenho do controlador.

Pensei em colocar outro controlador mas será preciso que esse segundo receba informações do primeiro.. Alguém saberia me informar como fazer eles conversarem?

Não pode ser i2c pois já tenho um sensor conectado nos pinos i2c.

obrigado desde já...

Exibições: 1489

Responder esta

Respostas a este tópico

Pode usar mais de um dispositivo no barramento I2C, apenas use um dos uC como slave e coloque outro nr identificador para ele, vai poder comunicar tranquilo...

Tambem da para usar serial.

Marcelo sabe se da para usar SPI tambem? Nao lembro quem comentou que nao tem jeito SPI + i2c pq compartilham o mesmo hardware, mas nao fui a fundo nisso.

Acho que colocar SPI junto com I2C não é o melhor jeito, já que você teve que adicionar a biblioteca de I2C, você usaria apenas ela, não precisei usar SPI em nenhum projeto.

Humm. Interessante.

E se eu criar uma porta serial virtual e simplesmente enviar de um para ou outro como se fosse um sensor?

ainda nao tentei mas faz sentido?

Acho que se refere a SoftwareSerial:

http://arduino.cc/en/Reference/SoftwareSerial

"desenvolvida para permitir comunicacao serial nos outros pinos digitais do Arduino, utilizando software para replicar a funcionalidade"

Vc já incluiu a biblioteca I2C colocar a softserial é só gastar mais pinos e espaço de memória do ATMEGA

Olá, Marcelo. Gostei da sua ideia... Como eu já estou usando As entradas Analogicas 4 e 5  em um sensor, como posso fazer para usar então o I2C para conversar com outro atmega? Já que as portas já estão sendo utilizadas?

Muito obrigado

O I2C é como um varal, onde cada um dos dispositivos tem um endereço, quando vc pede os dados do seu sensor, vc tem que indica-lo na hora de ler.

O outro ATMEGA328 você vai por como slave, digamos ID 5, então você vai fazer a requisição igual faz para ler os dados do sensor.

Isso depende dos requisitos do projeto, as vezes menos pinos e menos memoria disponiveis nao eh problema, outras vezes sao fatores cruciais, assim como o tempo de execuçao e taxa de transferencia de dados.

De qualquer forma, realmente, Software Serial seria o ultimo tipo de comunicacao que recomendaria.

Muito legal. Parece o que eu preciso.


Algum exemplo? e é simples?


Valeu!

ola pessoal

o marcelo me deu umas dicas e eu consegui fazer os atmegas se comunicarem...

Ate agora td certo, porem eu preciso passar um valor float pela i2c. E eles so enviam valires em bytes..

Vi alguns tutoriais porem na pratica nao deu certo.

Alguem poderia me dar uma luz?

Obrigado

Monte um strutuc de bytes e faz um union com o float. Mais de qualquer maneira tente de não trabalhar com float, trabalhe com inteiros somente.

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço