Разработка импульсного металлоискателя на базе Arduino
Сделал один металлоискатель на базе широкоизвестного МД Импад, он же Пират с управлением на Ардуино. Потом попытался этот довольно простой металлоискатель еще более упростить.
Все монтировал , как и ранее, на макетных платах Freeduino.
Принципиальная схема:
ПО остается то же самое :
// PI metal detector for arduino version_16_min (C)alex---1967 2015
byte ss = 0;
byte c = 0;
byte i = 0;
int s0 = 0;
int s1 = 0;
void setup()
{
DDRB = 0xFF; // port B - all out
DDRD = 0xFF; // port D - all out
for (i = 0; i <16; i++) // калибровка / calibration
{
s0 = analogRead(A0);
s1 = analogRead(A0);
c = c + s1;
}
c = c / 16;
c = c - 2;
}
void loop()
{
PORTB = B11111111;
delayMicroseconds(200);
PORTB = 0;
s0 = analogRead(A0);
s1 = analogRead(A0);
ss = s1 - c;
ss = ss / 2;
PORTD = ss; // посылаем на индикатор (send to LEDs)
delay(4);
}
2-й вариант:
// PI metal detector for arduino version_18_min (C)alex---1967 2015
int ss0 = 0;
int ss1 = 0;
int ss2 = 0;
long c0 = 0;
long c1 = 0;
long c2 = 0;
byte i = 0;
int sss0 = 0;
int sss1 = 0;
int sss2 = 0;
int s0 = 0;
int s1 = 0;
int s2 = 0;
void setup()
{
DDRB = 0xFF; // port B - all out
DDRD = 0xFF; // port D - all out
for (i = 0; i <255; i++) // калибровка / calibration
{
PORTB = B11111111;
delayMicroseconds(200);
PORTB = 0;
delayMicroseconds(20);
s0 = analogRead(A0);
s1 = analogRead(A0);
s2 = analogRead(A0);
c0 = c0 + s0;
c1 = c1 + s1;
c2 = c2 + s2;
delay(3);
}
c0 = c0 / 255;
c0 = c0 - 5;
c1 = c1 / 255;
c1 = c1 - 5;
c2 = c2 / 255;
c2 = c2 - 5;
}
void loop()
{
PORTB = B11111111;
delayMicroseconds(200);
PORTB = 0;
delayMicroseconds(20);
s0 = analogRead(A0);
s1 = analogRead(A0);
s2 = analogRead(A0);
ss0 = s0 - c0;
if (ss0 < 0)
{
sss0 = 1;
}
ss0 = ss0 / 16;
PORTD = ss0; // посылаем на индикатор (send to LEDs)
delay(1);
ss1 = s1 - c1;
if (ss1 < 0)
{
sss1 = 1;
}
ss1 = ss1 / 16;
PORTD = ss1; // посылаем на индикатор (send to LEDs)
delay(1);
ss2 = s2 - c2;
if (ss2 < 0)
{
sss2 = 1;
}
ss2 = ss2 / 16;
PORTD = ss2; // посылаем на индикатор (send to LEDs)
delay(1);
if ( sss0+sss1+sss2 > 2)
{
digitalWrite(7,HIGH);
digitalWrite(6,HIGH);
digitalWrite(5,HIGH);
digitalWrite(4,HIGH);
digitalWrite(3,HIGH);
digitalWrite(2,HIGH);
digitalWrite(1,HIGH);
digitalWrite(0,HIGH);
delay(1);
sss0 = 0;
sss1 = 0;
sss2 = 0;
}
}
Чувствительность такая же.
Главная страница Main Page Страница Всякое-разное
слова для поиска PI arduino metal detector Arduino pulse induction metal detector металлоискатель на ардуино, make arduino metal detector металлодетектор на ардуино, миноискатель на ардуино, metal detector Arduino Uno, металлоискатель на Arduino Uno, металлоискатель на Freeduino, простой металлоискатель на Ардуино, простейший металлоискатель на Ардуино arduino metal detector Arduino PI metal detector
металлоискатель Пират на Ардуино металлоискатель Импад на Ардуино гибридный металлоискатель на ардуино
arduino pulse induction metal detector circuit arduino code for metal detector sensor arduino uno metal detector arduino based metal detector metal detector arduino