Tenho um Arduino UNO a minha disposição e estou utilizando o SimPlot para tentar plotar algo de um circuito, entretanto está gerando uma interferência só de colocar os fios no arduino (não possuo pontas de provas) e assim gerando uma onda senoidal em todos os canais, e quando tento colocar as pontas encostando no circuito gera muitas deformações e amplitudes diferentes até mesmo em canais que não estou fazendo uso.
Posso usar o SimPlot como uma especie de "osciloscópio" ?
Existe alguma alternativa a ponta de prova ?
Acho que não precisa do circuito, por que ainda não estou em contato com ele, quando coloco "a ponta de prova" no arduino na porta analógica e deixo a outra livre aquilo se torna uma especie de antena gerando uma senoidal deve ser por causa das comunicações sem fio, telefone, celulares, wireless, TV e demais outras creio eu.
O Código que é enviado ao arduino é o do Simplot para 4 Canais + Software instalado no computador.
void setup()
{
Serial.begin(57600);
}
int buffer[20]; //Buffer needed to store data packet for transmission
int data1;
int data2;
int data3;
int data4;
void loop()
{
//Read Analog channels. You can connect accelerometer, gyro, temperature sensor etc to these channels
data1 = analogRead(0);
data2 = analogRead(1);
data3 = analogRead(2);
data4 = analogRead(3);
//You can plot upto 4 channels of data. Uncomment only one of the options below
plot(data1,data2,data3,data4); //Plots 4 channels of data
// plot(data1,data2,data3); //Plots 3 channels of data
// plot(data1,data2); //Plots 2 channels of data
// plot(data1); //Plots 1 channel of data
delay(250); //Read and plot analog inputs every 10ms.
}
//Function that takes 4 integer values and generates a packet to be sent to SimPlot.
void plot(int data1, int data2, int data3, int data4)
{
int pktSize;
buffer[0] = 0xCDAB; //SimPlot packet header. Indicates start of data packet
buffer[1] = 4*sizeof(int); //Size of data in bytes. Does not include the header and size fields
buffer[2] = data1;
buffer[3] = data2;
buffer[4] = data3;
buffer[5] = data4;
pktSize = 2 + 2 + (4*sizeof(int)); //Header bytes + size field bytes + data
//IMPORTANT: Change to serial port that is connected to PC
Serial.write((uint8_t * )buffer, pktSize);
}
//Function that takes 3 integer values and generates a packet to be sent to SimPlot.
void plot(int data1, int data2, int data3)
{
int pktSize;
buffer[0] = 0xCDAB; //SimPlot packet header. Indicates start of data packet
buffer[1] = 3*sizeof(int); //Size of data in bytes. Does not include the header and size fields
buffer[2] = data1;
buffer[3] = data2;
buffer[4] = data3;
pktSize = 2 + 2 + (3*sizeof(int)); //Header bytes + size field bytes + data
//IMPORTANT: Change to serial port that is connected to PC
Serial.write((uint8_t * )buffer, pktSize);
}
//Function that takes 2 integer values and generates a packet to be sent to SimPlot.
void plot(int data1, int data2)
{
int pktSize;
buffer[0] = 0xCDAB; //SimPlot packet header. Indicates start of data packet
buffer[1] = 2*sizeof(int); //Size of data in bytes. Does not include the header and size fields
buffer[2] = data1;
buffer[3] = data2;
pktSize = 2 + 2 + (2*sizeof(int)); //Header bytes + size field bytes + data
//IMPORTANT: Change to serial port that is connected to PC
Serial.write((uint8_t * )buffer, pktSize);
}
//Function that takes 1 integer value and generates a packet to be sent to SimPlot.
void plot(int data1)
{
int pktSize;
buffer[0] = 0xCDAB; //SimPlot packet header. Indicates start of data packet
buffer[1] = 1*sizeof(int); //Size of data in bytes. Does not include the header and size fields
buffer[2] = data1;
pktSize = 2 + 2 + (1*sizeof(int)); //Header bytes + size field bytes + data
//IMPORTANT: Change to serial port that is connected to PC
Serial.write((uint8_t * )buffer, pktSize);
}
A onda que vês certamente tem 50 ou 60 Hertz... E é da distribuição eléctrica.
Tensão significa diferença de potencial, ou seja, potencial em dois pontos. Se só ligas um e deixas o ground em aberto isso é normal. Liga o gnd da ponta ao gnd do circuito e isso melhora.