this is when i put a coin near it
this is the output from the opamp to the arduino
int s[3] = {0};
int ss[3] = {0};
int sss[3] = {0};
long c[3] = {0};
void setup()
{
DDRB = 0xFF; // port B - all out
DDRD = 0xFF; // port D - all out
for (char i = 0; i <255; i++) // калибровка / calibration
{
PORTB = 0b11111111; // переводим пины порта B в 1, открывая т.о. ключ (turn on)
delayMicroseconds(200); // wait 200 microseconds
PORTB = 0; //
delayMicroseconds(20);
s[0] = analogRead(A0);
s[1] = analogRead(A0);
s[2] = analogRead(A0);
c[i] += s[i];
delay(3);
}
for (char i = 0; i <3; i++) c[i] = (c[i] >> 8) - 5;
}
void loop()
{
PORTB = 0b11111111; // переводим пины порта B в 1, открывая т.о. ключ (turn on)
delayMicroseconds(200); // wait 200 microseconds
PORTB = 0; // закрывааем ключ, прерывая ток в поисковой катушке (turn off - interrupt circut in search coil )
delayMicroseconds(20);
s[0] = analogRead(A0);
s[1] = analogRead(A0);
s[2] = analogRead(A0);
for (char i = 0; i < 3; i++)
{
ss[i] = s[i] - c[i];
if (ss[i] < 0) sss[i] = 1;
ss[i] = ss[i] >> 4;
PORTD = ss[i]; // посылаем на индикатор (send to LEDs)
delay(1);
}
int code = sss[0] + sss[1] + sss[2];
PORTD = (code > 8)? 0xFF : (1 << code) - 1;
delay(1);
sss[0] = 0;
sss[1] = 0;
sss[2] = 0;
}
int s[3] = {0};
int ss[3] = {0};
int sss[3] = {0};
long c[3] = {0};
void setup()
{
DDRB = 0xFF; // port B - all out
DDRD = 0xFF; // port D - all out
for (char i = 0; i <255; i++) // калибровка / calibration
{
PORTB = 0b11111111; // переводим пины порта B в 1, открывая т.о. ключ (turn on)
delayMicroseconds(200); // wait 200 microseconds
PORTB = 0; //
delayMicroseconds(20);
s[0] = analogRead(A0);
s[1] = analogRead(A0);
s[2] = analogRead(A0);
c[i] += s[i];
delay(3);
}
for (char i = 0; i <3; i++) c[i] = (c[i] >> 8) - 5;
}
void loop()
{
PORTB = 0b11111111; // переводим пины порта B в 1, открывая т.о. ключ (turn on)
delayMicroseconds(200); // wait 200 microseconds
PORTB = 0; // закрывааем ключ, прерывая ток в поисковой катушке (turn off - interrupt circut in search coil )
delayMicroseconds(20);
s[0] = analogRead(A0);
s[1] = analogRead(A0);
s[2] = analogRead(A0);
for (char i = 0; i < 3; i++)
{
ss[i] = s[i] - c[i];
if (ss[i] < 0) sss[i] = 1;
ss[i] = ss[i] >> 4;
PORTD = ss[i]; // посылаем на индикатор (send to LEDs)
delay(1);
}
int code = sss[0] + sss[1] + sss[2];
PORTD = (code > 8)? 0xFF : (1 << code) - 1;
delay(1);
sss[0] = 0;
sss[1] = 0;
sss[2] = 0;
}
with "8" followed by ")".
Leave a comment: