设为首页 收藏本站
开启辅助访问 切换到宽版

  找回密码
  立即注册

QQ登录

只需一步,快速开始

快捷导航
  • 论坛
  • 问答区
  • 单片机教程
  • 单片机DIY
  • 电子DIY
  • 帮助

热门: 51单片机 | 24小时必答区 | 单片机教程 | 单片机DIY制作 | STM32 | Cortex M3 | 模数电子 | 电子DIY制作 | 音响/功放 | 拆机乐园 | Arduino | 嵌入式OS | 程序设计

搜索
» 论坛 嵌入式/单片机论坛 单片机DIY制作 自制简易幅射检测仪
返回列表 发新帖
查看: 2128|回复: 4
收起左侧

自制简易幅射检测仪

[复制链接]
ID:997011 发表于 2023-10-4 07:29 | 显示全部楼层 | 阅读模式
      早些年我自制过两款简易幅射检测仪,如图所示;左边的是用89C2051单片机制成,右边是用NANO制成。两者功能大同小异,只是后者增加了温湿度显示,现将其分享给大家以供参考。外观图和电路图及程序如下:

外观图

外观图

电路图

电路图







#include <Wire.h>
#include <dht11.h>
#include <LiquidCrystal_I2C.h>
#include <SPI.h>

dht11 DHT11;
#define DHT11PIN 8
unsigned long counts=2;     
unsigned long cpm=0;      
unsigned long previousMillis;  
float usv;
int ds1=2;
int ds2=2;
int ds3=2;
int ds4=2;
int ds5=2;
int ds6=2;
int ds7=2;
int ds8=2;
int ds9=2;
int ds10=2;
int ds11=2;
int ds12=2;
int ds13=2;
int ds14=2;
int ds15=2;

LiquidCrystal_I2C lcd(0x3F, 16, 2);

void tube_impulse() {      
  counts++;
  digitalWrite(5,HIGH);
  delay(100);
  digitalWrite(5,LOW);
}

void setup()
{
  Wire.begin();
  Serial.begin(9600);
  attachInterrupt(0, tube_impulse, FALLING);
  lcd.init();                     
  lcd.backlight();
  pinMode(8,INPUT_PULLUP);
  pinMode(5,OUTPUT);
  digitalWrite(5,LOW);  
}

void loop()
{
int chk = DHT11.read(DHT11PIN);
  unsigned long currentMillis = millis();
  if (currentMillis - previousMillis > 4000) {
  previousMillis = currentMillis;
ds1=ds2;
ds2=ds3;
ds3=ds4;
ds4=ds5;
ds5=ds6;
ds6=ds7;
ds7=ds8;
ds8=ds9;
ds9=ds10;
ds10=ds11;
ds11=ds12;
ds12=ds13;
ds13=ds14;
ds14=ds15;
ds15=counts;
cpm=ds1+ds2+ds3+ds4+ds5+ds6+ds7+ds8+ds9+ds10+ds11+ds12+ds13+ds14+ds15;
usv = float(cpm) / 151;  
counts = 0;   
    lcd.clear();
    lcd.print("CPM=");
    lcd.print(cpm);
    lcd.setCursor(0, 1);
    lcd.print(usv);
    lcd.print("uSv/h");

    if (usv >= 10)
    {
      lcd.setCursor(8, 0);
      lcd.print("D");
      delay(10);
    }
    else if (usv < 10 && usv >= 0.52)
      {
        lcd.setCursor(8, 0);
        lcd.print("N");
        delay(10);
      }
      else if (usv < 0.52)
        {
          lcd.setCursor(8, 0);
          lcd.print("S");
          delay(10);
        }
  }
      lcd.setCursor(11,0);
    lcd.print((int)DHT11.temperature, 1);
    lcd.setCursor(14,0);
    lcd.print((char)223);
    lcd.print("C");
   lcd.setCursor(11,1);
    lcd.print((float)DHT11.humidity, 0);
    lcd.setCursor(15,1);
    lcd.print((char)37);
  }

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

ID:195496 发表于 2024-4-9 16:41 | 显示全部楼层
没有盖格计数管,你测量的是什么辐射?
回复

使用道具 举报

ID:1096929 发表于 2024-4-9 17:12 | 显示全部楼层
这个传感器应该很贵而且不好弄
回复

使用道具 举报

ID:1111014 发表于 2024-4-10 12:35 | 显示全部楼层
请问大家,盖革计数器这类仪器,如果自制的话,怎么去校准呢?
回复

使用道具 举报

ID:58925 发表于 2024-4-13 19:15 | 显示全部楼层
电磁波辐射检测??能检测核废水辐射吗,从程序来看   辐射值=(2+2+2+2.......+2)/151  没看到数据采样程序
回复

使用道具 举报

返回列表 发新帖
高级模式
B Color Image Link Quote Code Smilies
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版| 小黑屋| 51黑电子论坛 | 51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表