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: 509

Anexos

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

Respostas a este tópico

Boa tarde José, uma última dúvida...

 Estou com o Módulo Conversor USB para TTL e tudo OK, consegui mandar uma informação para meu Atmega328... 

 Mas quando eu troco o TX do conversor pelo TX do HC-05 o micro interpreta como se eu não tivesse mandado nada...

 Testei o HC 05 com o módulo conversor e ele está OK.

O que poderia ser isto? Aparentemente, quando uso o módulo, os 2 funcionam perfeitamente, o problema só acontece quando realizo a configuração RX e TX(HC-05) -> TX e RX(Atmega328p).

olá Guilherme.

      O que o Eduardo Marcondes disse,  sobre o Cristal estar próximo do Processador, é absolutamente necessário. Pelo menos se vc quiser que o Oscilador funcione de forma estável e sem grandes desvios do valor nominal da frequência do Cristal. O Cristal deve estar junto aos terminais do Processador, ali na protoboard.

      Mas lembre-se: aqueles dois Capacitores Cerâmicos ligados junto ao Cristal (dá pra vê-los claramente nas suas fotos), também terão suas capacitâncias somadas às capacitâncias "parasitas" dos contatos do protoboard (já que metal/plástico/metal  =  capacitância). Como o valor desses capacitores é algo entre 18pF e 39pF,  veja vc que não é tão difícil corromper este valor, e esta capacitância tem efeito direto no desvio de frequência do Cristal.

      Uma dica que pode ajudar:  grave o exemplo "Blink" no Processador, fazendo o LED piscar a cada segundo. Depois use um cronômetro (como os de celular), e meça quanto tempo demora para o LED piscar 50 vezes. Divida este tempo por 50 e então terá uma ideia se a frequência está ao menos próxima do que deveria estar.

      E se vc tiver um Multímetro que meça Frequência, pode fazer isso também:  no código use um Contador, e incremente este contador a cada vez que o "millis" ciclar 5 unidades. Então, toda vez que vc incrementar o Contador, também inverta o nível lógico em um pino programado como saída. Meça com o multímetro a frequência, que deverá ser de 100 Hz (devido ao "toggle" do pino). Isto também poderá dar uma ideia se a frequência está pelo menos próxima ao esperado.

      Parabéns por sua ótima iniciativa, pois é uma excelente forma de aprender. Mas procure ser o mais rigoroso que vc puder.

      Abrçs,

 

      Elcids

Opa, muito obrigado pela ajuda!

Já coloquei o crystal perto do micro, porém, meu problema ainda continua...

Usei o sketch padrão do blink e para piscar 50 vezes ele demorou cerca de 100 segundos.

Boa tarde Guilherme, 

Esses tutoriais são muito bons. Siga as instruções e faça testes:

http://www.martyncurrey.com/hc-05-with-firmware-2-0-20100601/#Conne...

http://www.martyncurrey.com/hc-05-with-firmware-2-0-20100601/

Se esta usando as portas TX e RX do Arduino para acessar a console serial/USB, não use para conectar o Bluetooth.

Vai apresentar problemas. 

Não estou usando as portas TX e RX para controle serial/USB, apenas para meu HC-05.

Olhei os links e fiz os testes...

Acontece que meu HC-05 parece estar funcionando corretamente(quando faço ligação com o Módulo conversor USB para TTL), mas, quando conecto ele no meu Atmega, ele ou o 328 não funcionam corretamente..

O 328 quando conecto no módulo conversor também funciona...

Será que eu preciso fazer alguma ligação HC-05 - Converter para TTL - Atmega328p?

O estranho é que eu vi todos tutorias apenas ligando o HC-05 diretamente no Atmega...

Acho estranho o 328 estar queimado, já que funciona com o conversor...

Guilherme,

Você seguiu o tutorial?

Montou o divisor de tensão com o resistor?

Yes...

Consegui solucionar,alterei a porta RX e TX do micro para a 2 e 3...

O estranho é que eu estava usando a porta TX e RX padrão(0 e 1)apenas para a comunicação com o HC-05. 

Enfim, muito obrigado pela ajuda José!

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço