Ph stamp ATLAS Arduino

Pessoal,

Estou tentando ler o stamp de PH da atlas cientific no arduino, mas ta dando varios problemas e como já li metade da internet resovi postar aqui e pedir ajuda a voces.

O meu arduino é duemilanove, IDE 1.0 e o codigo que estou usando é bem simples e um cara na net diz usou esse para ler o mesmo device :

#include <SoftwareSerial.h>

#define rxph 8
#define txph 9

SoftwareSerial pH (rxph, txph);

void setup()
{ 
  Serial.begin(38400);
  pH.begin(38400);
}  

 void loop()
{
 // if (pH.available() >0)  //se eu comento a validação o serial.print abaixo escreve um y com trema (sujeira), se eu descomento ele nao escreve nada
 // {
    char incharPH = (char)pH.read();
    Serial.print(incharPH);
 // }
}

Coloquei um else ali no final pra ver se o problema era realmente ali que parava e é ali mesmo, mas nao sei pq nao fica disponível.

Estou usando o pino 8 pra rx e 9 pra tx, mas ja usei outros tbm e nao mudou nada.

Aqui esta o datasheet, wiring e código exemplo que tbm nao funcionou.
http://atlas-scientific.com/product_pages/embedded/ph-3.html

Obrigado,

primeiro, tenha certeza que o sensor está funcionando. como a interface é 100% serial TTL, conecte em algum FTDI e siga o que está no datasheet.

When the pH-Stamp is connected to a power supply (2.5v to 5.5v) the green “power on” indicator
LED will be lit. The device will immediately enter standby mode and wait for a command.

vc precisa enviar um comando para ele. para conseguir ter as leituras de PH pelo que entendi. testa direto no computador antes usando um FTDI.

Eu ja mandei uma série de comandos e não muda nada ... tenho 3 parecidos ... 1 de ph, do e orp e acho dificil os tres estarem com problemas,vou montar ou comprar um ftdi a parte e seguir seu conselho, vlw

Mas se por acaso tiver algum outro teste/caminho ajuda, pq eu vou demorar uns dois dias até ter um ftdi pra testar.

Obrigado,

Tentou o exemplo do site?
http://atlas-scientific.com/_files/code/Arduino-sample-code-EZ-COM.pdf
Pois nesse documento e código exemplo foi como o Wagner escreveu, o sensor espera um comando, para responder, não parece que ele fica enviando dados arbitrariamente, outra coisa talvez o "softserial" precise usar o pino 2 como RX para usar interrupção.

Se o teu Arduino for o Duemilanove com a versão DIP, basta-te tirares o controlador do socket e ligares o RX/TX do teu sensor à placa do Arduino. Se for SMD, ignora o que disse.

pode-se usar qualquer modelo de arduino que tenha USB(demilanove/uno) e não precisa retirar o ATMEGA, basta enviar uma sketch em branco para o Arduino antes:

void setup(){}
void loop(){}

e depois colocar um capacitor de 10uF entre o RESET e GND, para quando abrir a serial o arduino não ser resetado e o bootloader alterar os pinos

referência:Use the Arduino Duemilanove as a serial adaptor - .[ZooBaB].

Pessoal,
Optei pela opção de retirar o microcontrolador e o stamp esta funcionando certinho,ele retorna os valores sem problemas... obrigado pela dica !!
Mudei pro pino 2 e 3 e agora continuo na briga pra descobrir pq no arduino não funciona, nem o codigo do fabricante.

Se alguem tiver mais dicas :slight_smile: Ficarei beeeeeeeeeeem feliz hehe.

Vlw pessoal.

Que versão do Arduino estás a usar?
Houve imenso que ficou "partido" com esta nova versão 1.0 do Arduino.

Estou usando 2009 com IDE 1.0, pelos testes que estou fazendo me parece ser um problema de tx , pois o stamp recebe comandos ... mas não envia resultados.