Каталог товарів
Клієнту
+38 (066) 305-77-25
Наша адреса
Харків, тимчасово - доставка тільки Новою Поштою, УкрПоштою, МістЕкспрес, ROZETKA Delivery
Телефони
Графік роботи
  • Пн-Пт: з 9 до 18
  • Сб: з 10 до 17
  • Нд: з 11 до 16
E-mail
Ми в соцмережах
Перейти до контактів
0 0
Каталог
Головна
Закладки
0
Порівняти
0
Контакти

Електромагнітні поля навколо нас

Електромагнітні поля навколо нас
Дослідження електромагнітних полів - Частина 1

Електромагнітні поля навколо нас

Або як я навчився не боятися і полюбив ЕМП 😄

Привіт, друзі-експериментатори! 👋 Сьогодні ми поринемо у захоплюючий світ електромагнітних полів. Знаєте, іноді мені здається, що ми живемо в супі з електромагнітних хвиль - телефони, роутери, мікрохвильовки... Якби ми могли бачити всі ці поля, то світ навколо виглядав би як новорічна ялинка! 🎄

Візуалізація ЕМП

Приблизно так виглядали б електромагнітні поля, якби ми могли їх бачити

Що таке електромагнітне поле?

Уявіть, що ви кинули камінь у ставок. Бачите ці кола на воді? Ось приблизно так і працює електромагнітне поле - тільки в трьох вимірах і невидимо. І замість каменя у нас може бути що завгодно - від вашого смартфона до мікрохвильовки, яка розігріває вчорашній борщ.

Цікавий факт! 🤓

Наш мозок теж генерує електромагнітні поля! Щоправда, дуже слабкі - десь 10^-13 Тесла. Для порівняння - магнітне поле Землі приблизно 25-65 мікроТесла. Тому ні, думки читати таким способом не вийде!

Давайте створимо наш перший детектор ЕМП!

Важливо знати! 🤓

Для нашого детектора ми використовуємо датчик QMC5883L. Це цифровий компас, але завдяки його чутливості до магнітних полів, ми можемо використовувати його для виявлення EMF. Він найкраще реагує на низькочастотні магнітні поля від трансформаторів, двигунів та інших потужних джерел.

Для початку нам знадобиться:

  • Arduino Nano/Uno (будь-яка плата підійде)
  • Датчик QMC5883L
  • LCD дисплей 16x2 з I2C модулем
  • Кнопка для калібрування
  • Дроти для з'єднання
  • Бажання експериментувати! 🚀
Компоненти схеми

Наші компоненти в зборі

Підключення компонентів

Схема підключення досить проста, але є важливі моменти:

LCD дисплей з I2C модулем:
  • VCC → 5V Arduino
  • GND → GND Arduino
  • SDA → A4 Arduino
  • SCL → A5 Arduino
QMC5883L:
  • VCC → 3.3V (Важливо! Тільки 3.3V)
  • GND → GND Arduino
  • SDA → A4 Arduino
  • SCL → A5 Arduino
Кнопка калібрування:
  • Один контакт → D2 Arduino
  • Другий контакт → GND Arduino

⚠️ Важливо!

SDA та SCL піни використовуються одночасно для обох I2C пристроїв. Це нормально, тому що вони мають різні I2C адреси і не конфліктують між собою.

Код програми

Спочатку потрібно встановити необхідні бібліотеки:

  • Wire.h - для I2C комунікації
  • LiquidCrystal_I2C.h - для роботи з LCD дисплеєм
  • QMC5883LCompass.h - для роботи з датчиком

Ось повний код програми:


#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <QMC5883LCompass.h>

LiquidCrystal_I2C lcd(0x27, 16, 2);
QMC5883LCompass compass;

const int WINDOW_SIZE = 10;
float values[WINDOW_SIZE];
int valueIndex = 0;
float baselineValue = 0;
float filteredValue = 0;
float alpha = 0.2;
float decay = 0.05;
int maxValue = 0;
const int CALIBRATE_BTN = 2;

void calibrate() {
  lcd.clear();
  lcd.print("Calibrating...");
  
  float sumX = 0, sumY = 0, sumZ = 0;
  for(int i = 0; i < 20; i++) {
    compass.read();
    sumX += compass.getX();
    sumY += compass.getY();
    sumZ += compass.getZ();
    delay(20);
  }
  
  baselineValue = sqrt(pow(sumX/20, 2) + pow(sumY/20, 2) + pow(sumZ/20, 2));
  
  for(int i = 0; i < WINDOW_SIZE; i++) {
    values[i] = 0;
  }
  
  filteredValue = 0;
  maxValue = 0;
  
  lcd.clear();
  lcd.print("Ready!");
  delay(500);
}

void setup() {
  Wire.begin();
  lcd.begin(16, 2);
  lcd.init();
  lcd.backlight();
  
  pinMode(CALIBRATE_BTN, INPUT_PULLUP);
  
  compass.init();
  compass.setMode(0x01, 0x0C, 0x10, 0x00);
  
  Serial.begin(9600);
  calibrate();
}

void loop() {
  if(digitalRead(CALIBRATE_BTN) == LOW) {
    delay(50);
    if(digitalRead(CALIBRATE_BTN) == LOW) {
      calibrate();
      while(digitalRead(CALIBRATE_BTN) == LOW);
    }
  }
  
  compass.read();
  float x = compass.getX();
  float y = compass.getY();
  float z = compass.getZ();
  
  float currentMagnitude = sqrt(x*x + y*y + z*z);
  float relativeMagnitude = abs(currentMagnitude - baselineValue);
  
  values[valueIndex] = relativeMagnitude;
  valueIndex = (valueIndex + 1) % WINDOW_SIZE;
  
  float sum = 0;
  for(int i = 0; i < WINDOW_SIZE; i++) {
    sum += values[i];
  }
  float avgMagnitude = sum / WINDOW_SIZE;
  
  if(avgMagnitude > filteredValue) {
    filteredValue = (alpha * avgMagnitude) + ((1 - alpha) * filteredValue);
  } else {
    filteredValue = filteredValue * (1.0 - decay);
  }
  
  int displayValue = map(filteredValue, 0, 1000, 0, 100);
  displayValue = constrain(displayValue, 0, 100);
  
  if(displayValue > maxValue) {
    maxValue = displayValue;
  }
  
  lcd.clear();
  lcd.setCursor(0, 0);
  lcd.print("EMF: ");
  lcd.print(displayValue);
  lcd.print("%  M:");
  lcd.print(maxValue);
  
  lcd.setCursor(0, 1);
  int barLength = map(displayValue, 0, 100, 0, 16);
  for(int i = 0; i < 16; i++) {
    lcd.write(i < barLength ? 255 : ' ');
  }
  
  delay(50);
}

💡 Особливості роботи:

Наш детектор найкраще реагує на:

  • Низькочастотні магнітні поля (трансформатори, двигуни)
  • Сильні джерела EMF (мікрохвильова піч показує найсильніші значення)
  • Постійні магнітні поля

Менш чутливий до:

  • Високочастотних полів (Wi-Fi, мобільний зв'язок)
  • Слабких EMF
Без телефону
Звичайний стан

В режимі очікування телефон показує мінімальні значення EMF (10-15%). Це нормально, адже телефон періодично обмінюється даними з базовою станцією.

Показання під час дзвінка
Під час дзвінка

При активному дзвінку показники зростають до 30-40%. Це пов'язано з тим, що телефон активно передає голосові дані через стільникову мережу.

📱 Цікаве спостереження:

Показники можуть відрізнятися залежно від моделі телефону, якості сигналу та технології зв'язку (2G/3G/4G). Чим гірший сигнал, тим сильніше телефон "фонить", бо змушений збільшувати потужність передавача.

Експериментуємо!

Спробуйте провести такі експерименти:

Побутова техніка:
  • ✓ Мікрохвильова піч (найсильніший ефект)
  • ✓ Холодильник (біля компресора)
  • ✓ Блок живлення ноутбука
  • ✓ Електричний чайник
  • ✓ Пральна машина
Електроніка:
  • ✓ Старі CRT монітори
  • ✓ Зарядні пристрої
  • ✓ Електромотори
  • ✓ Комп'ютерні блоки живлення
  • ✓ LED лампи з драйверами

Практичне застосування

  • Перевірка екранування електроприладів
  • Пошук прихованої проводки в стінах
  • Виявлення несправних блоків живлення
  • Освітні демонстрації невидимих полів
  • Перевірка "чистоти" робочого місця від EMF

💡 Корисні поради:

  • Калібруйте прилад подалі від джерел EMF
  • Тримайте датчик нерухомо під час вимірювань
  • Для точного визначення напрямку джерела поля робіть кілька вимірювань з різних позицій
  • Записуйте максимальні значення для різних приладів - це допоможе створити власну шкалу порівняння

🤓 Цікавий факт на завершення:

Знаєте, що наш детектор може реагувати навіть на магнітні бурі? Під час сильних сонячних спалахів магнітне поле Землі коливається, і це можна помітити на наших вимірюваннях!

Якщо у вас є питання або ви хочете поділитися своїми експериментами - пишіть у коментарях! 👇

© 2024 Мій Проект.Автор: Jazzzman. Використання матеріалів дозволено лише з посиланням на джерело.

Рекомендовані товари