基于arduino的辐射剂量仪器

根据毕设所设计的剂量仪器,现分享部分给大家。
现在人们都在惧怕辐射,有一点基础知识可以解决大部分困惑,这个是我同学做的核方面的科普视频有兴趣可以看一下。
核科普
我选用了科州科技的DIY板子,某宝有卖,GM计数管M4011作为探测器
DIY
使用的硬件有OLED屏幕和ESP8266 接线如图在这里插入图片描述
下面贴代码 使用arduino平台

#include <Arduino.h>
#include <U8g2lib.h>
#include "Ticker.h"

#define pin 5
#define alarm 18

U8G2_SSD1306_128X64_NONAME_F_SW_I2C u8g2(U8G2_R0, /* clock=*/ 15, /* data=*/ 2, /* reset=*/ 8);
char normal[]="normal";
char warning[]="waring";

unsigned long cps=0;
unsigned long countss=0;
unsigned long limit=100;

Ticker myTicker;

void alarm_on(){
    u8g2.printf(warning);
    digitalWrite(alarm, HIGH);
 }
 void alarm_off()
 {
    u8g2.printf(warning);
    digitalWrite(alarm, HIGH);
  }
void ticker_callback(){
  u8g2.printf(normal);
  digitalWrite(alarm, LOW);
  cps = countss;
  countss = 0;
  u8g2.setFont(u8g2_font_unifont_t_chinese2);
  u8g2.setFontDirection(0);
  u8g2.clearBuffer();
  u8g2.setCursor(0, 15);
  if(cps>limit){
      alarm_on();
    }
  else{
    alarm_off();
  }
  u8g2.setCursor(0, 30);
  u8g2.print("cps:");
  u8g2.print(cps);
  u8g2.sendBuffer();
}
void func(){  
  countss++;
}
    
void setup(void) { 
  Serial.begin(115200);
  pinMode(alarm, OUTPUT);
  digitalWrite(alarm,LOW);
  attachInterrupt(pin,func, FALLING);
  myTicker.attach(1, ticker_callback);
  u8g2.begin();
  u8g2.enableUTF8Print(); 
}

void loop(void) {
}

相比前人写的计数 我改善后使用硬件定时 计数更加精准测试计数
本文使用商瑞讯科技的LOTO虚拟示波器oscA02
在这里插入图片描述
该虚拟示波器功能强大 能满足各种需求,并且带有各种模块如逻辑分析仪,可以解码uart iic 等,并且即将支持手机端APP使用,厂家友好,能解决各种问提并不断更新功能。
在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述
CS-137作为辐射源 查看探测器的脉冲波形
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
可以看出脉冲宽度为609us,每秒最多产生1600左右脉冲 实际测得1200左右

在这里插入图片描述
我还使用了上海仁机仪器进行标定

在这里插入图片描述
在这里插入图片描述
最后的标定视频如下标定
如果各位有什么想了解的可以楼下留言

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值