×

ATtiny85 EMF检测器开源分享

消耗积分:2 | 格式:zip | 大小:0.07 MB | 2022-11-21

20615

分享资料个

描述

这是一个创建 EMF 检测器的简单教程。您可以使用 Arduino 来完成这项工作,但最好使用名为 ATtiny85 的微控制器。可以通过 Arduino 接口对其进行编程。

什么是磁场 [来自维基百科]

电磁场(也称为 EMF 或 EM 场)是由带电物体产生的物理场。它会影响场附近带电物体的行为。电磁场在整个空间中无限延伸并描述了电磁相互作用。它是自然界的四种基本力之一(其他是万有引力、弱相互作用和强相互作用)。

场可以看作是电场和磁场的组合。电场由静止电荷产生,磁场由移动电荷(电流)产生;这两个通常被描述为该领域的来源。麦克斯韦方程和洛伦兹力定律描述了电荷和电流与电磁场相互作用的方式。从电磁学史上的经典观点来看,电磁场可以看作是一个平滑的、连续的场,以波状方式传播;而从量子场论的角度来看,场被视为量子化的,由单个粒子组成。

材料清单

本项目的材料有:

许多这些组件都在这个工具包中

第 1 步:电路

 
poYBAGN2-IaAIsW6AAEVSWKLoVI968.jpg
 

第一步是在面包板上创建一个电路。使用照片中的面包板并在将电路焊接到原型板上之前尝试电路。测试后,您可以使用原型板将attiny85连接到 LED 和天线。

要在 Attiny85 上上传代码,您可以使用此盾牌和程序员,或您的 Arduino UNO。

第 2 步:代码

 
pYYBAGN2-ImADJ4pAACbUzMXeL8528.jpg
 

另见 GitHub 上的代码:https ://github.com/masteruan/Attiny85_EMF

// 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
#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}; // After verify the position of red green and yellow leds
// 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 on start
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);     }
}
}

第 3 步:安装 Arduino IDE 并编程 Attiny

 
 
 
 
poYBAGN2-I2AF_dVAABCOGRSTwo860.jpg
 
1 / 2
 

访问www.arduino.cc

去下载(https://www.arduino.cc/en/Main/Software

并选择之前安装的Arduino IDE 1.0.6。这非常重要,因为使用新版本的 Arduino IDE 无法对 Attiny85 进行编程。安装 attiny85 包后,您可以选择 Attiny 型号。

安装 IDE 后,您可以通过 Arduino UNO 对 Attiny85 进行编程。然后按照本教程https://www.instructables.com/id/How-to-program-the...

第 4 步:最终结果

 
 
 
 
pYYBAGN2-I-AFECEAAFMIuNXA5k081.jpg
 
1 / 2
 

我使用了一个穿孔板和 4 个小 LED。结果更漂亮。微型、开源、便携式和极客 EMF 检测器。

poYBAGN2-JGAA8xWAACYf8_d_WI525.jpg
 

电磁场现在是可见的。我在我的课程中使用它。通过这个我演示了电磁场的力量。您可以在微波炉或冰箱或大电源附近使用此 EMF 检测器。呼吸机也会产生很大的电磁场。


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !