Ir ao conteúdo
  • Cadastre-se

WMAC

Membro Pleno
  • Posts

    36
  • Cadastrado em

  • Última visita

Tudo que WMAC postou

  1. @devair1010 Obrigada por responder, então a questão é que a string vai sendo recebida caractere por caractere na serial, e isso tá dificultando a implementação da lógica por mim uma vez que dependendo do tempo a string já tá pelo meio..
  2. Olá, glra...gente, alguém sabe como faço pra receber uma string com valores de vários sensores e desmontá-la a partir de caracteres delimitadores? Por exemplo estou enviando pela Serial do Arduino ao Esp01 a seguinte string: "#34;54;67;99*" Onde # delimita inicio, ; separa os valores e * indica o fim da string...preciso receber os valores sempre numa mesma ordem. Se alguém puder ajudar agradeço..
  3. Olá, gente.. estou precisando de ajuda... estou tentando realizar o envio de strings de um arduino mega para um esp01 8266 através da serial. O código pra receber que implementei no esp é: if (Serial.available()) { String rx; String strArr2[4]; delay(10); while(Serial.available()){ //char *a = 12;12.6;78;87;; char a = Serial.read(); rx += a; } No entanto, embora as strings estejam sendo enviadas para o esp ele não entra no if Serial.available... O hardware que estou usando é um adaptador pra esp01/usb ´para programar direto na IDE e depurar em seguida conecto ao arduino mega para a comunicação pela Serial2 do mega. O vejo pelo monitor da IDE é que os dados estão sim sendo enviados pelo Arduino ao Esp mas não compreendo o porque não entra no if para receber e processar as strings. Se alguém puder me ajudar agradeço muito.
  4. @GuilhermeGB Obrigada mesmo! Deu certo aqui! Agora o problema que estou tendo é com a comunicação serial entre o arduino mega e o esp01.. abri outro tópico para ver se consigo alguma ajuda sobre.
  5. Olá, glra.. estou tentando enviar uma string de um arduino mega para um esp01 8266 . Para enviar os dados do mega uso apenas: if (Serial2.available()) { //no caso o tx do esp01 está no rx2 e o rx do esp01 está no tx2.. delay(10); Serial2.println(valores); // a string valores contém dados de sensores } E para receber os dados no esp01 uso: if (Serial.available()) { String rx; delay(10); while(Serial.available()){ char a = Serial.read(); rx += a; } Acontece que não estou recebendo nada na serial do esp (info: bd de ambos está em 115200). Alguém tem ideia do que seja que possa me auxiliar por favor. Agradeço..
  6. @GuilhermeGB Obrigada, Guilherme. Eu entendi a lógica entretanto não entendo como passar isso pro for.. Poderia exemplificar, por favor?
  7. @GuilhermeGB Sim, mas você sabe como eu poderia fazer isso para vários valores que vão enviados na mesma string e separados por ";", por exemplo?
  8. @GuilhermeGB Obrigada por responder. Sim mas fiquei em dúvida em como fazer para "desmontar" essa string com os valores dos sensores quando ela chega ao esp01..
  9. Olá, glra... estou tentando enviar dados de leitura de alguns sensores em uma string pela serial do arduino para um esp01 ler e "desmontar" para enviar os dados pra web. Alguém pode me orientar, por favor... sobre como montar e enviar essa string e como converter os valores em float quando chegam no esp? Agradeço.
  10. @darkstrikerd obrigada por responder. Tentei de duas formas: 1- Utilizando os commandos AT ele até conecta com o servidor do PBI e até mesmo indica que o json foi enviado mas na plataforma não chega nenhum dado; 2 - Usei a library WiFi esp para fazer a requisição HTTP POST, usando a porta 443 (HTTPS). Aqui ele consegue se conectar ao power BI, mas recebo os erros "TIMEOUT" e Data packet send error (2) Failed to write to socket 3 Eu consegui enviar json pro PBI usando um NodeMCu, as bibliotecas disponíveis para ele consideram o certificado SHA-1, diferente das bibliotecas que encontrei para o esp01. Preciso utilizar o arduino+esp01 como hardware.
  11. @aphawk Obrigada pela dica! Teria algum pra indicar, por favor?
  12. @Sérgio Lembo Muito obrigada! Usei aqui, deu tudo certo!
  13. Olá, pessoal. Estou tentando alimentar um circuito com o NodeMCU com uma bateria chumbo ácido de 12V 12 Ah. A tensão fica fica entre 13,5 e 13,8V. Eu queria saber se o regulador de tensão LM 2596 seria adequado para essa aplicação. Obrigada.
  14. Olá, glra...Precisando de ajuda Estou tentando enviar dados no formato json do arduino +esp01 para um conjunto de dados POWER BI através de requisição POST http mas não estou conseguindo. Estou utilizando os comandos AT, o esp conecta à rede wifi mas ocorre falha de conexão ao acessar a URLpush (url+API) que o power bi disponibiliza na versão online quando se cria um conjunto de dados.
  15. @Flávio Pedroza Foi esse mesmo que usei! Muito obrigada pela ajuda!
  16. @Matheus Maldi obrigada por responder! Pode anexar o código, pls rsrs @Matheus Maldi e @Flávio Pedroza muito obrigada, agora deu certo!
  17. @Matheus Maldi Pronto..pelo Modbus Poll eu tenho os 2 valores dos regs em inteiro que é 50938 e 1, o valor total pelo medidor é 116474
  18. @Matheus Maldi e @Flávio Pedroza obrigada por responderem. Tentei da forma como vocês sugeriram e não deu certo. Fiz um outro teste obtendo a leitura de registradores com um SCADA e vi que obtenho valor correto lendo a variável como inteiro trocado de 4 bytes sem sinal, que teoricamente é a forma como vocês estão sugerindo, certo? Mas o valor que obtenho ao tentar com o Arduino não corresponde ao esperado...
  19. @Davi Silva Santos Obrigada por responder! Mas acho que não expliquei direito...estou realizando a comunicação Modbus entre o arduino e um inversor solar..na memória do inversor um determinado valor que quero ler ocupa 2 registradores (32bits) de 16 bits cada (registradores de holding) . A variável é do tipo inteiro, só que,segundo o manual, a ordem das palavras é Lo-Hi. Eu queria saber como faço pra obter o valor inteiro..
  20. Olá, gente. Estou tentando ler um valor inteiro que ocupa 2 registradores (32 bits) com o arduino. O manual do produto informa que o padrão para variáveis de 32 bits é Lo-Hi. Desde já, agradeço.
  21. @aphawk obrigada pelas dicas! Realmente deveria ser simples mesmo, até porque eu testei com Modbus Slave e deu tudo certo...inclusive eu retirei o resistor de terminação do módulo para ver se funcionava uma vez, teoricamente, redes de curta distância não precisam dele. Não funcionou... O módulo está bom e funciona mas não com o inversor (como eu disse testei o circuito e o código usando o Modbus Slave) Felizmente, testei a comunicação apenas com o CI MAX485 (nem os resistores de polarização e terminação) e usando a biblioteca ModbusMaster e funcionou perfeitamente (até que enfim....rs). Eu deveria ter feito isso bem antes mas como tudo funcionava com o simulador ficou difícil encontrar o erro.. Quero agradecer a todos que deram um pouco de seu tempo pra me ajudar aqui no fórum. Obrigada!
  22. @aphawk Obrigada por responder! Sim, esse módulo já tem um resistor de terminação. Sobre trocar de library já testei todas que consegui encontrar e nada..kkkk
  23. @aphawk Olá, estou usando o conversor TTL pra RS485 (FIGURA 1). Uma coisa que percebi e que não citei aqui é que o erro E0 só aparece quando eu não conecto o GND do driver RS485 do inversor ao do arduino. Se eu conectar passo a receber erro de timeout...
  24. @aphawk pela minha pesquisa, acredito que o problema tenha relação com polarização e/ou terminação de linha que o inversor pode possuir/precisar. Isso pode estar corrompendo os dados transmitidos, pois o que consta é o erro de código 0xE0 o qual representa diferença entre o ID requisitado e o da resposta... No manual existem algumas informações mas não o suficiente que indiquem a necessidade de implementar a polarização ou terminação da linha. Estou aguardando mais esclarecimentos por parte do fabricante do inversor. Qualquer avanço, eu posto aqui.
  25. @Thiago Miotto obrigada por responder! Já tentei isso e não funcionou. @aphawk obrigada por responder! Sim, o endereço (slave ID) que estou usando é o ID 7 e ele está especificado em: node.begin(7,Serial) no código. Os parâmetros de comunicação como ID, baud rate, paridade estão todos corretos pois posso conferir no monitor que o inversor tem. Inclusive usei o software Modbus Poll para simular um mestre e consigo ver o tráfego de dados entre o inversor e o PC usando um conversor RS485/USB, e funciona perfeitamente.. Também já usei o Modbus Slave para testar o código e circuito com arduino e o conversor RS485/TTL e também tenho sucesso na comunicação. Entretanto quando junto o circuito com arduino e o inversor não tenho resposta..

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...