Detector EMF cu Arduino Leonardo

Utilizand un LED monocrom, un Arduino Leonardo, rezistente si fire vom detecta campuri electromagnetice.

Pe scurt, teoria ne spune ca  o variatie a campului electromagnetic ne va induce un potential in antena ce va fi citit de placa Arduino.

          De ce avem nevoie:

  • placa Arduino Leonardo/sau Uno
  • o rezistenta de 3.3MOhmi sau chiar de 10MOhmi pentru o senzitivitate crescuta
  • un LED monocrom brick/sau LED normal
  • fire tata-tata

 

          Cum arata schema electrica: 

FI5OSLTG0RSH1X2.MEDIUM

Ca sa nu ne mai complicam cu breadboard, atunci legam rezistorul de ordinul MOhmilor direct la antena si apoi la masa/GND. Astfel ne putem plimba mai usor cu el prin casa.

 

           Codul Arduino: 

#define sample 300 //cate esantioane pe o citire

int inPin = 5; //analog 5
float val;
int pinled = 13;

int array1[sample]; //cream un array sa facem apoi medie artimetica de citiri

unsigned long averaging; //suma
void setup() {

Serial.begin(9600);

}

void loop() {

for(int i = 0; i < sample; i++){ //umplem arrayul cu esantioane de citire
array1[i] = analogRead(inPin); //ce potential citim pe pinul analog de la antena
averaging += array1[i];
}

val = averaging / sample; //medie aritmetica
Serial.println(val);
val = constrain(val, 0, 100); //constrangere sa fie intre 0 si 100
val = map(val, 0, 100, 0, 255); //mapam valori intre 0-100 cu cele intre 0-255
analogWrite(pinled, val); //aprindem ledul mai tare sau mai incet

averaging = 0; //resetam la 0
//delay(100); //nu o mai folosim
}

Din pacate eu nu am avut rezistenta de ordinul MOhmilor, astfel senzitivitatea mea era mica.

          Cam asa arata schema mea electrica, pozata: 

IMG_0362[1]

Eu l-am testat langa obiecte cu campuri electromagnetice puternice, ca lustra cu bec si transformator de la 220 AC la 9V DC.

Rezultat video se gaseste aici.

Advertisements