Представляем довольно интересную схемку детектора электромагнитного поля на микроконтроллере ATTiny85V. При помощи устройства можно находить источник электромагнитного поля. Детектор содержит минимум деталей, а выглядит он вот так:
Основным элементом тут является довольно популярный микроконтроллер ATtiny.
Схема детектор
Изначально лучше собирать на макетной плате — так намного удобнее находить неисправности. А в случае не правильной сборки и не придется ничего перепаивать.
Скетч
// EMF Detector Attiny85 and 4 led v1.0
// 23.10.2015
// original code/project by Aaron ALAI - [email protected]
// modified for use by Giovanni Gentile - [email protected]
// 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 которая указана в конце статьи.
Изготовление антенны
Сделайте антенну желаемой формой. Это можно легко сделать, обернув кусок проволоки вокруг карандаша. Далее необходимо растянув его до нужной длины. На какую длину? — хороший вопрос. Как вы знаете, задавая такой замечательный вопрос, длина провода будет влиять на частоту, с которой он работает. Однако, поскольку мы не ищем конкретную частоту и вместо этого в основном ищем электрические помехи. Длина не имеет решающего значения для устройства. Я просто использовал запасной провод, который удерживал его форму при намотке. Мой провод оказался немного больше, чем отверстия на плате, поэтому я просверлил те, через которые он должен был пройти.
А так выглядит обратная сторона готового устройства.
Список радиодеталей
№ | Обозначание | Наименование | Номинал | Количество |
---|---|---|---|---|
1 | МК1 | микроконтроллер | ATTiny85V | 1 |
2 | A1 | Антенна | 1 | |
3 | L1-L4 | Светодиод | подойдет любой | 4 |
4 | BA1 | Батарея | источник питания на 3 Вольт | 1 |
5 | B1 | Кнопка | 1 | |
6 | R1 | Резистор | 3.9 МОм | 1 |
Полезные ссылки по проекту
Видео
Похожие записи

Практически все современные микроконтроллеры имеют на своем борту 3 вида памяти: Виды памяти микроконтроллеров память программ FLASH; оперативная память (ОЗУ) SRAM (Static RAM); ...

Это простая схема двойного светодиодного мигающего сигнала. В качестве базовой схемы нестабильного мультивибратора используется таймер NE 555. Светодиоды включаются по очереди, частоту...

Представленная схема полицейской мигалки на микроконтроллере и светодиодах может работать в 16 различных режимах. Режим выбирается при помощи одной кнопки, и собрана на микроконтроллере...

Последовательный интерфейс I2C (также его обозначается как IIC) довольно популярный последовательный интерфейс. Свою популярность он получил за неплохую скорость передачи информации. В...

Последовательный периферийный интерфейс SPI (Serial Peripheral Interface) — последовательный стандарт передачи данных. Предназначен для сопряжения микроконтроллеров и периферийных устройств. SPI...

В это примере подключим и научимся обрабатывать события нажатия кнопок при помощи микроконтроллера AVR. Другими словами мониторить состояние кнопок, и при каких либо изменениях делать что...