Arduino Mega e ESP8266 Embutido.

Projetos de arduino
Doctordj
Novato
Mensagens: 2
Registrado em: 16/Out/2019, 04:31

Arduino Mega e ESP8266 Embutido.

Mensagem por Doctordj » 16/Out/2019, 18:42

Atualmente estou tentando fazer funcionar o arduino mega com ESP8266 embutido. Consegui fazer funcionar a parte que o ESP envia comandos para o arduino mega, fazendo ativar portas I/O.
Preciso fazer a leitura de portas analógicas (A0, A1, ...) mas não consegui entender bem como fazer a comunicação do arduino para o ESP.
Como sou iniciante nesta área gostaria de alguma informação de como fazer isto ou algum exemplo que esteja funcionando.
Sei que será necessária a comunicação do arduino com o ESP via serial3 mas não consegui entender como enviar estas informações.
Desde já agradeço.

paloschi
Membro
Mensagens: 6
Registrado em: 09/Out/2019, 08:48

Re: Arduino Mega e ESP8266 Embutido.

Mensagem por paloschi » 17/Out/2019, 23:35

Olá, vc vai usar a serial normal. Escolha uma serial, de preferência a que não está sendo usada pelo USB. Se vc está usando o Mega então use a Serial 1. Vc precisa ligar o TX1 do arduino no RX do ESP e o TX do ESP no RX1 do arduino. Mas lembre-se que o mega é 5V e o ESP é 3.3V então vc precisa de um conversor de nível lógico. Se for só pra experiencia vc pode meter um resistor de 10k entre o TX1 do arduino e o RX do ESP que não vai queimar. Mas o ideal é vc colocar um divisor de tensão (pesquisa no google se não conseguir volta aqui que eu te explico.

Pra se comunicar é muito simples:

Código: Selecionar todos

//Código do Arduino Mega
void setup() {
	Serial1.begin(9800); // vc inicia a serial 1, veja que é muito similar ao Serial.begin da serial 0 mas só que é a serial 1
}
void loop(){
	Serial1.println("Olá ESP!"); // Manda uma mensagem pro esp pela serial
	delay(1000);
}

Código: Selecionar todos

//Código do Esp
void setup() {
	Serial.begin(9800); // vc inicia a serial do console
	Serial1.begin(9800); // vc inicia a serial ligada no arduino
}
void loop(){
	String mensagem; // variável pra guardar a mensagem
	if(Serial1.available()){ //  verifica se tem algo pra ler na serial
		mensagem = Serial.readString(); // lê a mensagem
		Serial.print("Mensagem recebida do arduino:" ); // informa que recebeu a mensagem no console
    		Serial.println(mensagem); // mostra a mensagem  no console
  	}
}


Doctordj
Novato
Mensagens: 2
Registrado em: 16/Out/2019, 04:31

Re: Arduino Mega e ESP8266 Embutido.

Mensagem por Doctordj » 19/Out/2019, 00:00

O arduino mega que estou usando já tem o esp embutido e faz comunicação com serial 1 ou serial 3 diretamente, sem necessidade de conversão de tensão.
Fiz desta forma e já havia funcionado, a diferença é que a leitura que eu estava fazendo era por caracter e não por toda a string.
Vou testar deste outro formato.
Desde já agradeço pela orientação.

Responder