Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Manufacturing Technology >> Proceso de manufactura

Construye un Detector EMF Ultrasensible con Arduino Nano

Componentes y Suministros

Componente Descripción Cantidad
Arduino Nano R3 Microcontrolador principal 1
Pantalla LCD Estándar Adafruit 16x2 Blanco sobre Azul Visualización de intensidad de campo 1
Zumbador (Buzzer) Señalización acústica 1
LED (genérico) Señalización visual 1
Interruptor Toggle Selección de sensibilidad 1

Aplicaciones y Servicios Online

Sobre el Proyecto

Este dispositivo simple es capaz de detectar campos electromagnéticos muy débiles. La intensidad relativa del campo se muestra en la pantalla LCD, acompañada de señalización acústica (zumbador) y visual (LED). El sensor consiste en un simple cable de cobre de 1.5mm de diámetro, aunque puede usarse cualquier pieza de alambre o lámina metálica.

La sensibilidad es ajustable mediante código y cambiando el valor del resistor conectado entre A0 y tierra. Con el interruptor se selecciona uno de dos valores de resistencia, cambiando así el grado de sensibilidad. Esto permite calibrar fácilmente el dispositivo comparándolo con un equipo industrial calibrado.

Construye un Detector EMF Ultrasensible con Arduino Nano
Detector EMF completo en carcasa

El circuito es muy simple: Arduino Nano y pocos componentes externos. El código combina dos partes: medidor VU para Arduino por KTAudio (parte de visualización LCD) y Detector EMF de Aaron ALAI (parte del sensor), con modificaciones para mayor estabilidad.

Como se muestra en el video, el dispositivo detecta fácilmente campos electromagnéticos de cables de alimentación solo con tensión (sin carga conectada). Por ejemplo, el campo de un monitor CRT antiguo se detecta a 3 metros o más.

El detector está montado en una carcasa conveniente y alimentado por batería de 9V.

Código

/* Medidor VU para Arduino por KTAudio. Desarrollado por ThomAce (Tamas Kamocsai) basado en siemenwauters, theredstonelabz y michiel H. Licencia GNU GPL v3. Modificado por mircemk (Mirko Pavleski) */
#include <LiquidCrystal.h>

byte Bar[8] = { B11111, B00000, B11111, B11111, B11111, B11111, B00000, B11111 };
byte L[8] = { B00111, B01000, B10100, B10100, B10100, B10111, B01000, B00111 };
byte R[8] = { B00111, B01000, B10110, B10101, B10110, B10101, B01000, B00111 };
byte EndMark[8] = { B10000, B01000, B00100, B00100, B00100, B00100, B01000, B10000 };
byte EmptyBar[8] = { B11111, B00000, B00000, B00000, B00000, B00000, B00000, B11111 };
byte peakHoldChar[8] = { B11111, B00000, B01110, B01110, B01110, B01110, B00000, B11111 };

String main_version = "1.0";
int right;
const int numReadings = 5;
int indexR = 0;
int totalR = 0;
int maxR = 0;
int inputPinR = A0;
int volR = 0;
int rightAvg = 0;
long peakHoldTime = 100;
long peakHold = 0;
int rightPeak = 0;
long decayTime = 0;
long actualMillis = 0;
int pin10 = 10;
int val = 0;
int pin9 = 9;

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

void setup() {
  lcd.begin(40, 2);
  lcd.createChar(1, Bar);
  lcd.createChar(3, R);
  lcd.createChar(4, EmptyBar);
  lcd.createChar(5, EndMark);
  lcd.createChar(6, peakHoldChar);
  
  String KTAudio = " MIRCEMK";
  for (int i = 0; i <= 16; i++) {
    lcd.setCursor(0, 0);
    lcd.print(KTAudio.substring(0, i));
    delay(50);
  }
  KTAudio = " EMF-detector " + main_version;
  for (int i = 0; i <= KTAudio.length(); i++) {
    lcd.setCursor(0, 1);
    lcd.print(KTAudio.substring(0, i));
    delay(50);
  }
  delay(500);
  lcd.clear();
  lcd.setCursor(0, 0);
  lcd.print("Loading...");
  for (int i = 0; i < 16; i++) {
    lcd.setCursor(i, 1);
    lcd.write(4);
  }
  for (int i = 0; i < 16; i++) {
    lcd.setCursor(i, 1);
    lcd.write(1);
    delay(50);
  }
  delay(500);
  lcd.clear();
  decayTime = millis();
}

void loop() {
  lcd.setCursor(0, 0);
  lcd.write(" EMF-intensity");
  actualMillis = millis();
  lcd.setCursor(0, 1);
  lcd.write(3);
  lcd.setCursor(15, 1);
  lcd.write(5);
  
  totalR = analogRead(inputPinR);
  if(totalR >= 1){
    totalR = constrain(totalR, 0, 100);
    totalR = map(totalR, 0, 100, 1, 255);
    analogWrite(pin10, totalR);
    analogWrite(pin9, totalR);
  }else{
    analogWrite(pin10, 0);
    analogWrite(pin9, 0);
  }
  
  if(totalR > maxR) { maxR = totalR; }
  indexR++;
  if (indexR >= numReadings) { indexR = 0; right = maxR; maxR = 0; }
  
  volR = right / 3;
  if(volR > 14) { volR = 14; }
  
  if (volR < (rightAvg - 2)) {
    if (decayTime < actualMillis) rightAvg--;
    volR = rightAvg;
  } else if (volR > (rightAvg + 2)) {
    volR = (rightAvg + 2);
    rightAvg = volR;
  } else {
    rightAvg = volR;
  }
  
  if (volR > rightPeak) { rightPeak = volR; }
  drawBar(volR, rightPeak, 1);
  
  if (decayTime < actualMillis) decayTime = (millis() + 50);
  if (peakHold < actualMillis) {
    peakHold = (millis() + peakHoldTime);
    rightPeak = -1;
  }
}

void drawBar(int data, int peakData, int row) {
  if (peakData < 2) { peakData = -1; }
  for (int col = 1; col < 15; col++) {
    lcd.setCursor(col, row);
    if (col < data) { lcd.write(1); }
    else if (peakData == col) { lcd.write(6); }
    else { lcd.write(4); }
  }
}

Esquemáticos

Construye un Detector EMF Ultrasensible con Arduino Nano
Diagrama de conexiones del detector EMF

Proceso de manufactura

  1. Construya un osciloscopio Arduino de 20 kHz en LCD Nokia 5110: Guía DIY fácil
  2. Detector de terremotos DIY con ADXL335 – Acelerómetro 3 ejes de baja potencia
  3. Crea Animaciones y Juegos en LCD 16×2 con Arduino UNO
  4. Construye un Voltímetro Inteligente con Arduino y Smartphone – Proyecto DIY Fácil
  5. Detector de frecuencia de audio con Arduino – Mide los picos de sonido más intensos
  6. Construye un Skateboard VR Casero con Arduino, Google Cardboard y Bluetooth
  7. Osciloscopio DIY con Arduino Nano (10 Hz–50 kHz) y LCD 128×64
  8. Construye un dispositivo de tratamiento radiónico EMR con Arduino DIY
  9. Construye una Estación Meteorológica Arduino Fiable con Sensores DHT
  10. Detector de Rayos Económico con Arduino Uno
  11. Construye un Cerco RFID Portátil con Arduino – Guía Paso a Paso