Boa tarde Colegas, tudo bem?

 Estou montando um projeto o qual eu recebo uma informação do módulo bluetooth e de acordo com o conteúdo desta informação eu faço determinada tarefa, como por exemplo, colocar uma saída como nível lógico alto.

 Primeiramente, como teste, eu montei o circuito do Atmega 328p na protoboard e utilizei um cabo USB-Serial para o RX e TX do Atmega, o meu sketch é o seguinte:

const int ledPin = 8;
int txt;

void setup() {
    Serial.begin(9600);
    pinMode(ledPin, OUTPUT);
    digitalWrite(ledPin, HIGH);
}

void loop() {
    if(Serial.available()){
       txt = Serial.read(); 
       Serial.println(txt);
       digitalWrite(ledPin, LOW);
    }
}

Quando eu abro o Monitor Serial, seleciono a COM, informo o meu baudrate e digito algum número,  ele retorna alguns caracteres estranhos, como por exemplo, quando digito 1 ele me retorna g⸮V⸮

Em anexo algumas fotos do circuito montado.

Exibições: 202

Anexos

As respostas para este tópico estão encerradas.

Respostas a este tópico

Na serial está com 9600 também?

Você quer dizer na tela "Monitor Serial" se estou selecionando o baud de 9600?

Se é isto, sim, estou com 9600 lá.

Parece muito com problema de velocidade... Embora tudo indique que está perfeito.

Tentaria:

- Ligar o cristal logo colado no microcontrolador. Esse jumpers servem como antenas, para 16MHz isso conta.

- Colocaria um teste basicão: 

Serial.write('A'); 

Delay(500);

No loop pra ver se recebe o "A". Se vier lixo tentar em outras velocidades.

Não poderia estar errado, mas vai que por ex seu microcontrolador está configurado pra um cristal de 8MHz ou até pra um ressonador ceramico, vai saber... 

Opa, fiz os testes que pediu...

Em todos os bauds com um "A" no Serial.write ele me retornava um "_".

Mudei para o carácter "B" no write e ele me retornou "\".

Bom dia, 

Qual interface USB Serial usou? Ela esta configurada para trabalhar com 5V?

Cabo MD9 USB A M / Serial DB9M.

Ela trabalha com 5V sim.

Ihhh!!! 
Ferrou ! 

O conector DB9 usa niveis de tensão RS232!!  Você conectou os pinos do DB9 diretamento no Atmega328?

Pode ter queimado seu ATMEGA328. 

Cabo Md9 Usb A M / Serial Db9m

"Recursos:
- Este cabo possibilita a conexão de equipamentos com saída Serial RS232 (DB9 macho) para computadores ou notebooks que não possuem tal saída, utilizando-se da porta USB." 

https://pt.wikipedia.org/wiki/RS-232

tem que usar :

Módulo Conversor Usb para TTL FTDI FT232RL

ou similar. 

Hmmm, e no caso, se eu usar um HC-05, eu posso ligar diretamente o TX e RX do HC no RX e TX do atmega? Ou eu vou precisar deste módulo conversor? 

E se eu não precisar, posso afirmar que este módulo só é utilizado numa comunicação PC - Atmega328?

Muito obrigado pela ajuda!

Não complica...

Use um 

Módulo Conversor Usb para TTL FTDI FT232RL

http://labdegaragem.com/profiles/blogs/tutorial-usando-arduino-pro-...

Sua montagem não deve ter o pino DTR.

https://www.arduino.cc/en/uploads/Main/Arduino-Pro-Mini-schematic.pdf

Recomendo que  acrescente esse circuito para facilitar a programação do seu Arduino. 

Muito obrigado pelas explicações José.

Estou dando uma estudada e pelo que entendi é o seguinte:

O protocolo RS 232 opera em -12V/12V e por isto não posso conectar o RX e TX dele na entrada do Atmega, já que o 328 opera em TTL, 0 à 5V, correto?

Para eu utilizar este cabo eu precisaria do MAX232, assim conseguiria realizar a conversão, certo?

O HC-05 que eu ainda estou com dúvida, no site que eu comprei ele informa que ele opera em RS 232, porém, todas as montagens que vi na internet, eles colocam RX - TX e TX - RX, apenas com 1 divisor de tensão na junção TX - RX(HC-05) para operar com 3,3V. Eu não deveria utilizar o MAX 232 neste caso também?

Muito obrigado pelas respostas!!!

Bom dia Guilherme, 

1) O protocolo RS 232 opera em -12V/12V e por isto não posso conectar o RX e TX dele na entrada do Atmega, já que o 328 opera em TTL, 0 à 5V, correto?

- Correto. Os pinos do Arduino não suportam essas tensões. Por isso acho que pode ter danificado o seu ATmega328.

2) Para eu utilizar este cabo eu precisaria do MAX232, assim conseguiria realizar a conversão, certo?

- Correto. O Max232 poderá fazer a conversão do sinal RS232 em TTL.

http://www.ti.com/lit/ds/symlink/max232.pdf

3) O HC-05 que eu ainda estou com dúvida, no site que eu comprei ele informa que ele opera em RS 232, porém, todas as montagens que vi na internet, eles colocam RX - TX e TX - RX, apenas com 1 divisor de tensão na junção TX - RX(HC-05) para operar com 3,3V. Eu não deveria utilizar o MAX 232 neste caso também?

- Um detalhe - O MAX 232 trabalha com 5V.  Os pinos do HC05 trabalham com 3,3V. Portanto terá qua fazer essa conversão, com resistores ou com conversores de níveis de tensão. 

https://blog.eletrogate.com/modulos-bluetooth-hc05-e-hc06-para-comu...

Bom dia José,

 Muito obrigado pelas respostas!

RSS

Destaques

Registre-se no
Lab de Garagem
Clicando aqui

Convide um
amigo para fazer
parte

curso gratis de arduino

© 2019   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço