好久没有更新这个系列了,4月份住院拔了智齿,拔牙是真难受QAQ
住院期间我就一直惦记着这个项目,自上个贴子从串口输出测量的辐射值后,如果想测量其他地方的辐射值,也就是带着盖革计数器走出去,就面临着2个问题:移动电源和屏幕显示
1、电源

板卡的供电需要电源,经查阅资料,我的这块Arduino外部供电为7~12V,家里没有合适的移动电源,本来想从网上找个锂电池,但大多都是3.3V的,12V的锂电池还真不便宜。某天在逛电子元件商城的时候,看到可以用9V干电池供电,只需要一个接头就能解决问题,应该是移动电源里面成本最低的方案。

2、显示

家里之前还有一块新的1602 LCD,但没有I2C转接板的话,接线就比较麻烦了。于是从网上又买了块转接板。

这个小东西就可以接Arduino的I2C接口,导入库函数,改改内容就能输出想要的文字。
下面就是把盖革计数器测量的值,在LCD上显示出来。
硬件连接不复杂,盖革计数器接还是接数字3口,LCD 4线接I2C接口。
一个输入,一个输出。

软件方面,把Geiger的示例程序和LCD的示例程序糅合一下,增加点文字显示辅助理解。
/*!
@file geiger.ino
@brief 检测CPM辐射强度,开始几次的读数可能有较大偏差,3次后数据趋于稳定
@copyright Copyright (c) 2010 DFRobot Co.Ltd (http://www.dfrobot.com)
@licence The MIT License (MIT)
@author [fengli](li.feng@dfrobot.com)
@version V1.0
@date 2021-9-17
@get from https://www.dfrobot.com
@https://github.com/DFRobot/DFRobot_Geiger
*/
#include <Wire.h>
#include <LiquidCrystal_I2C.h> //引用I2C库
//VCC----5V
//GND----GND
//SDA----A4
//SCL----A5
LiquidCrystal_I2C lcd(0x27,16,2); //默认地址是0x27,如果有调整过转接板的地址请按需修改此段代码
#include <DFRobot_Geiger.h>
#if defined ESP32
#define detect_pin D3
#else
#define detect_pin 3
#endif
/*!
@brief Constructor
@param pin 外部中断引脚
*/
DFRobot_Geiger geiger(detect_pin);
void setup()
{
lcd.init(); // 初始化LCD
lcd.backlight(); //设置LCD背景等亮
Serial.begin(115200);
//开始计数,启用外部中断
geiger.start();
}
void loop() {
//开始计数,启用外部中断
//geiger.start();
delay(3000);
//暂停计数,关闭外部中断触发,CPM和辐射强度值保持在暂停前状态
//geiger.pause();
//获取当前CPM,若已暂停,则CPM为暂停前最后数值
//通过3秒内的下降沿脉冲预测CPM,误差为±3CPM
lcd.setCursor(0,0); //显示第一行内容
//获取当前CPM,若已暂停,则CPM为暂停前最后数值
//通过3秒内的下降沿脉冲预测CPM,误差为±3CPM
lcd.print("Geiger CMP=");
lcd.print(geiger.getCPM()); //输出字符到LCD1602上
lcd.setCursor(7,1); //显示第二行内容
lcd.print(geiger.getuSvh());//获取当前μSv/h,若已暂停,则μSv/h为暂停前最后数值
lcd.print("uSv/h");
delay(1000);
}调试,上传,就测得的辐射值就成功显示在LCD上了。

测得当前环境值CPM在27,辐射强度为0.18μSv/h,居然和上次测量的数据一样。。。
家里装修部分地方用了天然石材,装修过了快1年了,让我们来看看这些石材是不是还存在着微量辐射。



有的地方数据会偏高一丢丢,这么看整体的辐射剂量远低于危害水平。
后面就是把这个散件组装一下,走出去再看看那些可能会有辐射的地方,数值会如何变化了。
我要赚赏金
