Представляем довольно интересную схемку детектора электромагнитного поля на микроконтроллере ATTiny85V. При помощи устройства можно находить источник электромагнитного поля. Детектор содержит минимум деталей, а выглядит он вот так:

Детектор электромагнитного поля на микроконтроллере ATtiny

Детектор электромагнитного поля на микроконтроллере ATtiny

 

Основным элементом тут является довольно популярный микроконтроллер ATtiny.

Схема детектор

Схема детектор электромагнитного поля на микроконтроллере ATTiny

 

Изначально лучше собирать на макетной плате — так намного удобнее находить неисправности. А в случае не правильной сборки и не придется ничего перепаивать.

Скетч


// EMF Detector Attiny85 and 4 led v1.0
// 23.10.2015
// original code/project by Aaron ALAI - aaronalai1@gmail.com
// modified for use by Giovanni Gentile - giovanni@0lab.it
//              Attiny 85
//                ____
//       Reset  -      - vcc+
//          led -      - led
//  4Moh + ante -      - led
//          GND -      - led
//
// Put the 4 Mohm resistor to pin 3 and GND and put antenna

#define NUMREADINGS 15 // Number of readings

int senseLimit = 15; // raise this num to decrease sensitivity
int val = 0; 
int antenna = A2;

int LED[] = {2,0,1,3};

// Variables for smoothing
int readings[NUMREADINGS];
int index = 0;
int total = 0;
int averange = 0;

void setup() {
  
  pinMode(2, OUTPUT);
  pinMode(0, OUTPUT);
  pinMode(1, OUTPUT);
  pinMode(3, OUTPUT);
  pinMode(A2, INPUT);

// Test leds
  for (int i=0; i<4; i++) {
    digitalWrite(LED[i],HIGH);
    delay(500);
  }
  for (int i=0; i<4; i++) {
    digitalWrite(LED[i],LOW);
  }
  
// Initialize all the readings
  for (int i = 0; i < NUMREADINGS; i++) { readings[i] = 0; } } void loop() { int val = analogRead(antenna); if(val >= 1){
    
    val = constrain(val, 1, senseLimit); // turn any readings higher than the senseLimit into the senseLmit value
    val = map(val, 1, senseLimit, 1, 1023); // remap the values
    
    total -= readings[index]; // subtract the last reading
    readings[index] = val;    // read from the sensor
    total+= readings[index];  // add the reading to the total
    index = (index + 1);      // advance to the next index
    
    if (index >= NUMREADINGS)
      index = 0;
  
    averange = total / NUMREADINGS;
    
    if (averange > 50) {
      digitalWrite(2,HIGH);
    }
    else {
      digitalWrite(2,LOW);
    }

    if (averange > 350) {
      digitalWrite(0,HIGH);
    }
    else {
      digitalWrite(0,LOW);
    }
  
    if (averange > 750) {
      digitalWrite(1,HIGH);
    }
    else {
      digitalWrite(1,LOW);
    }
  
    if (averange > 950) {
      digitalWrite(3,HIGH);
    }
    else {
      digitalWrite(3,LOW);
    }
  }
}

Загрузите этот код в ATTiny85. Информации о том как прошить микроконтроллер говорилось тут, также на эту тему предостаточно материалов в интернете.  Далее начинаем сборку проекта на макетной плате. Это делается доля того чтобы проверить проводку  и правильность сборки, прежде чем распаивать уже на текстолите. Этот шаг, вероятно, является наиболее важным. На этом этапа его гораздо сложнее исправить, когда проект уже спаян на плату. Код программы вы можете скачать по ссылке Github которая указана в конце статьи.

Изготовление антенны

Сделайте антенну желаемой формой. Это можно легко сделать, обернув кусок проволоки вокруг карандаша. Далее необходимо растянув его до нужной длины. На какую длину? — хороший вопрос. Как вы знаете, задавая такой замечательный вопрос, длина провода будет влиять на частоту, с которой он работает. Однако, поскольку мы не ищем конкретную частоту и вместо этого в основном ищем электрические помехи. Длина не имеет решающего значения для устройства. Я просто использовал запасной провод, который удерживал его форму при намотке. Мой провод оказался немного больше, чем отверстия на плате, поэтому я просверлил те, через которые он должен был пройти.

А так выглядит обратная сторона готового устройства.

Детектор электромагнитного поля в cобраном виде

 

Список радиодеталей
Обозначание Наименование Номинал Количество
1 МК1 микроконтроллер ATTiny85V 1
2 A1 Антенна 1
3 L1-L4 Светодиод подойдет любой 4
4 BA1 Батарея источник питания на 3 Вольт 1
5 B1 Кнопка 1
6 R1 Резистор 3.9 МОм 1
Полезные ссылки по проекту
Видео
Автор
Staticvoid

Администратор сайта http://www.radiodetector.ru

Добавить комментарий

Популярные записи

Подключение и настройка LCD модуля 1602 к Arduino

Жидкокристаллический дисплей (Liquid Crystal Display) LCD 1602 Жидкокристаллический дисплей (Liquid Crystal Display) LCD 1602 - очень...

Arduino Uno: распиновка, назначение выводов, принципиальная схема

Arduino Uno:— платформа для разработки на базе микроконтроллера ATmega328P...

Пишем свою первую программу на микроконтроллере AVR

Решил начать осваивать микроконтроллеры (далее МК) AVR. Думал что все просто раз и прошил микроконтроллера, но...

Детектор электромагнитного поля на микроконтроллере ATTiny85V

Представляем довольно интересную схемку детектора электромагнитного поля на микроконтроллере ATTiny85V. При...