Já criei um tópico no Forum do ESP32, mas se alguém quiser e puder me ajudar ficarei grato ! 

https://www.esp32.com/viewtopic.php?f=19&t=11261#p45725

Em fevereiro de 2018, eu rodei o Sketch (arduino IDE) no meu projeto - voltímetro digital ESP32 e funcionou perfeitamente - Arduino IDE 1.8.5 e ESP32 Board versão 1.0.0. 


A comunicação do voltímetro digital é feita com o chip PCF8574 através da interface I2C.

 Resistores de Pullups são 3K3 ohms (VCC = 3.3V) 

https://www.elektormagazine.com/labs/esp32-digital-voltmeter#/comme...

https://github.com/Gustavomurta/ESP32-DVM

O sketch completo para teste do voltímetro ESP32 é esse :

https://github.com/Gustavomurta/ESP32-DVM/blob/master/ESP32_DVM7135...

Agora, com o Arduino 1.8.9 e o ESP32 Board versão 1.0.2, a interface I2C funciona em um modo louco. O pino SCL envia pulsos contínuos e o SDA envia dados errados (verificados com o analisador lógico). 


Meu ESP32 é DOIT ESP32 DevKit V1 e o hardware está OK e verificado com meu scanner I2C. (baseado em Nick Gammon). 

https://github.com/Gustavomurta/ESP32-DVM/blob/1bc07438e89eac39ae83...


Pesquisando este problema com a opção Debug (Arduino IDE), encontrei essas mensagens, mas não sei o que significam :

debugFlags=0x00000000
[I][esp32-hal-i2c.c:311] i2cDumpDqData(): Debug Buffer not Enabled
[I][esp32-hal-i2c.c:354] i2cDumpInts(): Debug Buffer not Enabled
[D][esp32-hal-i2c.c:1336] i2cProcQueue(): Busy Timeout start=0x303a4, end=0x303a4, =0, max=50 error=0
[E][esp32-hal-i2c.c:318] i2cDumpI2c(): i2c=0x3ffbebe0
[I][esp32-hal-i2c.c:319] i2cDumpI2c(): dev=0x60013000 date=0x16042000
[I][esp32-hal-i2c.c:321] i2cDumpI2c(): lock=0x3ffb84ec
[I][esp32-hal-i2c.c:323] i2cDumpI2c(): num=0
[I][esp32-hal-i2c.c:324] i2cDumpI2c(): mode=1
[I][esp32-hal-i2c.c:325] i2cDumpI2c(): stage=3
[I][esp32-hal-i2c.c:326] i2cDumpI2c(): error=0
[I][esp32-hal-i2c.c:327] i2cDumpI2c(): event=0x3ffb8570 bits=0
[I][esp32-hal-i2c.c:328] i2cDumpI2c(): intr_handle=0x3ffb85a0
[I][esp32-hal-i2c.c:329] i2cDumpI2c(): dq=0x3ffb854c
[I][esp32-hal-i2c.c:330] i2cDumpI2c(): queueCount=1
[I][esp32-hal-i2c.c:331] i2cDumpI2c(): queuePos=0
[I][esp32-hal-i2c.c:332] i2cDumpI2c(): errorByteCnt=0
[I][esp32-hal-i2c.c:333] i2cDumpI2c(): errorQueue=0
[I][esp32-hal-i2c.c:334] i2cDumpI2c(): debugFlags=0x00000000

Alguém pode me ajudar? Obrigado ! 

Exibições: 393

Responder esta

Respostas a este tópico

Elcids, 

Em qual cidade mora? Aqui em BH eu encontrei mais barato do que no ML. 

Quando eu fiz os testes, verifiquei os pulsos com o osciloscópio - o clock de 480 e 100 Khz OK. E os pulsos de interrupção gerados pelo TLC7135 - também OK. 

O resto fica aos cuidados do ESP32. Não verifiquei a interface I2, já que não apresentou a leitura esperada. Se quiser posso verificar. No meu PC estou usando o Core 1.0.2

esqueci de mencionar:

      Posteriormente, acrescentarei uma Máquina de Estados para processar os valores convertidos pelo DVM, e enviá-la pelo Bluetooth do ESP32,  já que no seu vídeo original vc  estava visualizando no smartphone  o valor convertido.

      Isto deve ser feito com uma Máquina de Estados, a fim de preservar de forma confiável a temporização existente no Sistema, sem prejudicar o processo de conversão.

      Abrçs,

      Elcids

Isso mesmo Elcids, 

No video que eu postei, o ESP32 DVM envia a leitura de tensão para o Tablet Android via WIFI.  Usando a plataforma Blynk. 

Além disso, desenvolvi também o envio das leituras através do Bluetooth, usando a plataforma http://app.thunkable.com

Esta tudo no projeto, mas em inglês. Pretendo postar assim que possível tudo no meu blog. 

Com esse projeto eu ganhei menção honrosa no concurso da Elektor em 2018! 

Na época eu não havia entendido bem como postar o projeto. E ficou muito confuso para acompanhar todos Posts do projeto. O projeto tem todos os detalhes. 

O mais legal de um projeto desses é a aplicação e uso ! 

O Indiano que montou o meu projeto e agora esta funcionando, tem uma fazenda. Ele quer medir a resistividade da terra para encontrar água ! Imagino que ele deve ter essa fazenda em local bem seco, talvez árido.E agora ele poderá prosseguir nas pesquisas dele. Muito legal e gratificante !

Good day sir,  I would like to measure earth resistivity to geophysical exploration for ground water detection in my farm, Basically i am farmer and Geologist working in Schlumberger middle east Oil field exploration. so i need to measure voltage and current to get resistivity R=V/I. i tried many other ADC like ADS1115, MCP3424 etc, not getting stable and noisy. so like to measure voltage like multimeter IC to PC. I found your post very usefull and confident to proceed my work. .

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