Como Ligar NodeMcu ESP8266 Com Um MPU6050
by projete2103 in Circuits > Microcontrollers
568 Views, 1 Favorites, 0 Comments
Como Ligar NodeMcu ESP8266 Com Um MPU6050
![95CD89F7-8E4D-4B9C-AF02-A9171D44933B.png](/proxy/?url=https://content.instructables.com/FD2/R7N8/L8OHWYXT/FD2R7N8L8OHWYXT.png&filename=95CD89F7-8E4D-4B9C-AF02-A9171D44933B.png)
![A44DC5C8-BAE1-4807-B6EC-9CA3E0EF9B48.png](/proxy/?url=https://content.instructables.com/FZL/B5MP/L8OHWYYD/FZLB5MPL8OHWYYD.png&filename=A44DC5C8-BAE1-4807-B6EC-9CA3E0EF9B48.png)
![350A0BD4-F511-4D9E-A8C3-D249B59DA0D1.png](/proxy/?url=https://content.instructables.com/FU1/19RR/L8OHWYYX/FU119RRL8OHWYYX.png&filename=350A0BD4-F511-4D9E-A8C3-D249B59DA0D1.png)
![17E341C5-2F26-4072-95CD-FC43055D6E63.png](/proxy/?url=https://content.instructables.com/FXL/FDS0/L8OHWYZI/FXLFDS0L8OHWYZI.png&filename=17E341C5-2F26-4072-95CD-FC43055D6E63.png)
![B3D24EB6-4C17-471C-8557-5C035EC4E118.png](/proxy/?url=https://content.instructables.com/FA6/A6HF/L8OHWYZK/FA6A6HFL8OHWYZK.png&filename=B3D24EB6-4C17-471C-8557-5C035EC4E118.png)
![1FB13491-F388-4049-9A45-9AF9D5048A2E.png](/proxy/?url=https://content.instructables.com/FHM/VIZE/L8OHWYZJ/FHMVIZEL8OHWYZJ.png&filename=1FB13491-F388-4049-9A45-9AF9D5048A2E.png)
![F7448363-0BED-4364-9D44-3EBF1C9FF912.png](/proxy/?url=https://content.instructables.com/F36/JBZ1/L8OHWZ1F/F36JBZ1L8OHWZ1F.png&filename=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.
•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
• 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](/proxy/?url=https://content.instructables.com/FLN/RKVU/L8OHX3HC/FLNRKVUL8OHX3HC.png&filename=2ABB7B24-3D68-4BDF-B62E-DEBCDEA61318.png)
![4086EA2C-1AD4-4045-A2BC-B644A64BBD47.png](/proxy/?url=https://content.instructables.com/FWL/79CY/L8OHX3JH/FWL79CYL8OHX3JH.png&filename=4086EA2C-1AD4-4045-A2BC-B644A64BBD47.png)
![36D8DB2B-D0EF-4D89-B06D-D5B0E433B4D1.png](/proxy/?url=https://content.instructables.com/F3O/UG3N/L8OHX3KF/F3OUG3NL8OHX3KF.png&filename=36D8DB2B-D0EF-4D89-B06D-D5B0E433B4D1.png)
![9DB8B27F-80DB-46F0-B4EC-302161A9D946.png](/proxy/?url=https://content.instructables.com/FLT/CUYZ/L8OHX3L8/FLTCUYZL8OHX3L8.png&filename=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.
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](/proxy/?url=https://content.instructables.com/FZ3/QRGG/L8OHWX9S/FZ3QRGGL8OHWX9S.png&filename=1F258257-5940-4413-8396-86C64860BEFE.png)
![EFF23260-47CD-4480-A125-BD64D51E0E76.png](/proxy/?url=https://content.instructables.com/FAL/YMW5/L8OHWYGU/FALYMW5L8OHWYGU.png&filename=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.
• 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](/proxy/?url=https://content.instructables.com/FZG/XW42/L8OHX5IU/FZGXW42L8OHX5IU.png&filename=78B3E513-B032-40CC-8C4B-B1012506101B.png)
![4BA1E262-8494-4FF8-9C8E-35ABB612353B.png](/proxy/?url=https://content.instructables.com/F84/G2SO/L8OHX5VI/F84G2SOL8OHX5VI.png&filename=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.
• 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](/proxy/?url=https://content.instructables.com/FK9/MWV7/L8OHWXTI/FK9MWV7L8OHWXTI.png&filename=74EFB218-0E66-4529-91C5-B491A3B4850F.png)
![BDD62220-7E4C-4160-947A-87BEE6C9F782.png](/proxy/?url=https://content.instructables.com/FJE/LFYN/L8OHWXU8/FJELFYNL8OHWXU8.png&filename=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.
• 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](/proxy/?url=https://content.instructables.com/FV9/IKS0/L8OHWYTN/FV9IKS0L8OHWYTN.png&filename=A34B1F07-B889-468C-ADE6-2C7E8C813E59.png)
![47CDE195-FDAB-44DC-A441-2A991994AF67.png](/proxy/?url=https://content.instructables.com/FE1/UTGX/L8OHWYVP/FE1UTGXL8OHWYVP.png&filename=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.
• 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.
#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.