Como Ligar NodeMcu ESP8266 Com Um MPU6050

by projete2103 in Circuits > Microcontrollers

497 Views, 1 Favorites, 0 Comments

Como Ligar NodeMcu ESP8266 Com Um MPU6050

95CD89F7-8E4D-4B9C-AF02-A9171D44933B.png
A44DC5C8-BAE1-4807-B6EC-9CA3E0EF9B48.png
350A0BD4-F511-4D9E-A8C3-D249B59DA0D1.png
17E341C5-2F26-4072-95CD-FC43055D6E63.png
B3D24EB6-4C17-471C-8557-5C035EC4E118.png
1FB13491-F388-4049-9A45-9AF9D5048A2E.png
F7448363-0BED-4364-9D44-3EBF1C9FF912.png
O tutorial consiste em:

•Entender como ligar um NodeMcu ESP8266 junto com um MPU6050 alimentado por uma bateria de 3.7V;
•Entender detalhes da programação necessária para o funcionamento correto do circuito.

Supplies

• NodeMcu ESP8266 = 1un
• MPU6050 = 1un
• Proto Placa Dupla Face = 1un
• Mini Usb Carregador Bateria Tp4056 = 1un
• Bateria De Lipo 3,7v 1100mah = 1un
• Fios rígidos de 1mm = 1m
• Barra de pinos macho-fêmea = 2un

Identificação Dos Pinos

2ABB7B24-3D68-4BDF-B62E-DEBCDEA61318.png
4086EA2C-1AD4-4045-A2BC-B644A64BBD47.png
36D8DB2B-D0EF-4D89-B06D-D5B0E433B4D1.png
9DB8B27F-80DB-46F0-B4EC-302161A9D946.png
Primeiramente identifique as posições dos pinos dos componentes necessários para a montagem, assim evitando o risco de danificar os componentes.

Pinos para identificação:

ESP8266: G, VIN, D5,D6, 3V, G;
MPU6050: VCC, GND, SCL, SDA;
Mini USB carregador: BAT+ e BAT-;
Bateria: Positivo e Negativo.

Alimentando O NodeMcu ESP8266

1F258257-5940-4413-8396-86C64860BEFE.png
EFF23260-47CD-4480-A125-BD64D51E0E76.png
•Identifique os pinos VIN e G do NodeMcu ESP8266;
• Identifique os pinos BAT+ e BAT- no Mini USb Carregador Bateria Tp4056;
Após identificar os pinos, inicie as ligações:
-Faça a ligação do pino VIN no pino BAT+;
-Faça a ligação do pino G no pino BAT-;
Com essas ligações o NodeMcu ESP8266 já está alimentado.

Alimentando O MPU6050

78B3E513-B032-40CC-8C4B-B1012506101B.png
4BA1E262-8494-4FF8-9C8E-35ABB612353B.png
• Identifique os pinos VCC e GND do MPU6050;
• Identifique os pinos 3V e G do NodeMcu ESP8266;
Após identificar os pinos, inicie a montagem:
-Faça a ligação do pino VCC com o pino 3V;
-Faça a ligação do pino GND com o pino G;
Com essas ligações o MPU8266 já está alimentado.

Ligando a Bateria Com O Mini Usb Carregador Bateria Tp4056

74EFB218-0E66-4529-91C5-B491A3B4850F.png
BDD62220-7E4C-4160-947A-87BEE6C9F782.png
• Identifique os pinos BAT+ e BAT- no Mini Usb Carregador Bateria Tp4056;
• Identifique o fio positivo e negativo da Bateria;
Após identificar os pinos e os fios, inicie as ligações:
- Faça a ligação do fio positivo da Bateria no pino BAT+ Do Mini USB Carregador;
- Faça a ligação do fio negativo da Bateria no pino BAT- do Mini USB Carregador;
Após essas ligações, já está pronto a conexão entre a Bateria e o Mini USB Carregador.

Comunicação Entre O NodeMcu ESP8266 Com O MPU8266

A34B1F07-B889-468C-ADE6-2C7E8C813E59.png
47CDE195-FDAB-44DC-A441-2A991994AF67.png
• Identifique os pinos D5 e D6 do NodeMcu ESP8266;
• Identifique os pinos SDA e SCL do MPU6050;
Após identificar os pinos, faça as seguintes ligações:
- Faça a ligação do pino D5 no pino SDA;
- Faça a ligação do pino D6 no pino SCL;
Com essas ligações o NodeMcu ESP8266 e o MPU6050 já está pronto para se comunicar após fazer a programação.

Programação

A programação abaixo faz com que o MPU6050 consiga mandar as informações para o NodeMcu ESP8266:


#include
#include
#include

// Server connect to WiFi Network
const char *ssid = "******"; //Endereço/nome da rede
const char *password = "*******"; //Senha do wifi
// CRIAÇÂO DO SERVER
WiFiServer server(555);

const int MPU=0x68;
float aX, aY,aZ, gX, gY, gZ;
String ax,ay,az,gx,gy,gz;
const int SdaPin = D5;
const int SclPin = D6;

//-------------------VOID SETUP--------------------
void setup()
{
Serial.begin(115200);
Serial.println();
// Conexão com WIFI
WiFi.mode(WIFI_AP);//Acess Point ou seja um server
WiFi.begin(ssid, password); //Connect to wifi
// Wait for connection
Serial.println("Connecting to Wifi");
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
delay(500);
}
Serial.println("");
Serial.print(WiFi.localIP());//Adress do server com a porta
Serial.print("Connected to ");
Serial.println(ssid);
server.begin();//Inicia o servidor TCP na porta

//LED
pinMode(BUILTIN_LED, OUTPUT);

//MPU
// Inicia o MPU
Wire.begin(SdaPin,SclPin); //inicia a comunicação serial IC2
Wire.beginTransmission(MPU); //Inicia a transmissão para adress do mpu, begin = começar
Wire.write(0x6B);
Wire.write(0);
Wire.endTransmission(true);//
}



//-----------------------VOID LOOP-------------------------
void loop()
{
// WIFI
WiFiClient client = server.available();
delay(200);
if(client){
while(client.connected()){ //Enquanto o cliente estiver conectado fazer oq estiver nas aspas

// MPU
//Inicio da transmissão
Wire.beginTransmission(MPU); //transmite
Wire.write(0x3B); //Endereço 0x3B(ACELL_XOUT_H)
Wire.endTransmission(false); //finaliza a transmissão
Wire.requestFrom(MPU,14,true); //requisita bytes
//Recpção de dados
aX= Wire.read()<<8|Wire.read(); //0x3B (ACCEL_XOUT_H) & 0x3C (ACCEL_XOUT_L)
aY= Wire.read()<<8|Wire.read(); //0x3D (ACCEL_YOUT_H) & 0x3E (ACCEL_YOUT_L)
aZ= Wire.read()<<8|Wire.read(); //0x3F (ACCEL_ZOUT_H) & 0x40 (ACCEL_ZOUT_L)
gX= Wire.read()<<8|Wire.read(); //0x43 (GYRO_XOUT_H) & 0x44 (GYRO_XOUT_L)
gY= Wire.read()<<8|Wire.read(); //0x45 (GYRO_YOUT_H) & 0x46 (GYRO_YOUT_L) Dividido por 100 para ficar dentro dos parametros Max e Min
gZ= Wire.read()<<8|Wire.read(); //0x47 (GYRO_ZOUT_H) & 0x48 (GYRO_ZOUT_L) Valores captados com margens de erro de 5

aX = map(aX,-32768,32768,-50,50);
aY = map(aY,-32768,32768,-50,50);
aZ = map(aZ,-32768,32768,-50,50);

ax = String(aX,1);
ay = String(aY,1);
az = String(aZ,1);

Serial.print(ax);//Quando acaba a conexão para

//client.printOuWrite("89");Teste bem sucedido
client.print(ax+"/"+ay+"/"+az+"/");
delay(100);
}
client.stop();
}

}



———————————————————

Feito a programação e o circuito devidamente montado, o NodeMcu ESP8266 já está recebendo as informações do MPU6050.