Olá pessoal.
Alguém ai já passou por esse problema? Se incluo a biblioteca Wire.c no meu sketch, meu arduino fica instável passando a escrever caracteres estranhos no LCD e/ou na Serial, e/ou reiniciando sozinho.
É algo estranho de compreender. Se desabilito a Wire.c, funciona que uma beleza. Se habilito, fica tudo uma tremenda m3lec@.
Para mim isso é péssimo, pois preciso interagir com eeprom i2c, RTC e LCD_i2c. Sem descartar o Wiznet5100. E pelo que captei por cima, em algumas pesquisas, resumi que não é só comigo que isso ocorre.
Mais alguém ai tem ou teve esse problema? =/
#include <SPI.h>
#include <Ethernet.h>
#include <SoftwareSerial.h>
// #include <Wire.h>
// #include <PS2Keyboard.h>
// #include <LiquidCrystal_I2C.h>
Tags:
Andei fazendo testes "está rodando a mais de 2 meses", eu queria saber qual seria a distância que poderia colocar os componentes I2C, estão a 4 metros entre eles, e o sinal chega tranquilo, mas há um problema intermitente de "perder" a comunicação.
Meu esquema é um ATMEGA8 (SLAVE) controlando um LCD, e um outro ATMEGA328 (MASTER) fazendo amostragem de PRESSÃO em um equipamento, eles se comunicam por I2C, com um cabo de 4 pares, a mais ou menos 4 metros, e pelo menos umas 10 vezes por dia tenho que reiniciar o SLAVE e muitas vezes reiniciar o MASTER.
As rotinas eu mudei para comunicar por RS232 TTL (5V), e não travou nenhuma vez, acho que algo de errado ocorre na LIB i2C implementada no Arduino.
Fiz uma pesquisa, e aparentemente um cara encontrou alguns dos motivos do problema com a comunicação i2C,
eu não tenho como modificar meu projeto no momento, para testar, mas se você quiser tentar...
vi que o poste eh bem antigo, e a biblioteca nova do Wire.c já foi modificada recentemente. Mesmo assim fiz testes e o programa nem sobe. To Nessa perenga. Agora meu arduino tá funcionando. Daqui um pouco ele enlouquece.
onde eu baixo a biblioteca nova para testar?
Mas se você substituiu a twi.c/h no utility/ do library Wire?
Pois na descrição diz apenas que modificaram para implementar o multiplo "Start"
Modified 2012 by Todd Krein (todd@krein.org) to implement repeated starts
meu problema é sempre que o arduino reinicia, ele liga ou desliga aleatoriamente alguns pinos ..
Não sei se é conflito com wire, ou softareserial, alguem pode da uma olhada no codigo?
Estou estudando e fazendo uma série de experimentos. A conclusao até agora é problema com o biblioteca Wire ou no Bootloader do UNO.
no mega tb, pois esse teste que fiz é com o mega.
eu uso um expansor de portas, que quando eu reinicio o mega, ele ativa aleatoriamente o expansor de porta..
tenho que bloquear isso, pois fica ligado 16 reles com lampadas.. ligando as 16 de uma vez.. caso tenha queda de energia..
acabei de fazer um teste:
Desativei a SoftwareSerial.h, e mantive a Wire.c
Tudo funcionou perfeitamente. Minha conhclusão até então é algum conflito entre as referidas bibliotecas. Alguma dica de outro SoftwareSerial para testarmos?
Pesquisando aqui vi esse
vou fazer testes agora.
Hora estava lendo no site oficial e encontrei isto:
The library(SoftwareSerial) has the following known limitations:
No caso imagino que devo fazer um interrupt ao enviar e receber dados de um determinado dispositivo.
Nao compila. Diz que deve usar a biblioteca oficial da arduino :/
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por