نحوه ساخت پیشخوان Geiger

 

پیشخوان گیگر خانگی

جزیره سه میل ، چرنوبیل ، فوکوشیما و حتی برخی از آنها در قلمرو ملی مانند راکتور Coral-I در مادرید یا راکتور Vandellós-I در کاتالونیا. بسیاری وجود دارد حوادث هسته ای که در طول تاریخ اتفاق افتاده است ، و با وجود عواقب وحشتناک ، به نظر می رسد که این موضوع از تابش همچنان جذابیت خاصی ایجاد می کند. اما آنچه که افراد کمی می دانند این است که ، همه روزه ، همه ما در معرض تابش طبیعی هستیم ، چه آنچه از فضای خارج می آید و چه از مواد معدنی زمین ...

خوب ، اگر می خواهید تابشی را که در اطراف شما است اندازه بگیرید ، در این راهنمای جدید مرحله به مرحله روش کار را به شما نشان می دهیم چگونه می توان یک پیشخوان geiger ساخت، یعنی دستگاهی که توانایی اندازه گیری رادیواکتیویته را دارد. اساساً دستگاهی است كه می تواند ذراتی را كه با حسگر برخورد می كنند ، مانند تابش یونیزه كننده اندازه گیری كند ، از این رو به آن شمارنده گفته می شود ، زیرا می تواند تعداد تأثیرات و در نتیجه میزان تابش یك جسم یا محل را بشمارد.

چه چیزی باید قبلاً بدانم؟

نمادهای تابش غیر یونیزه و یونیزان

قبل از شروع پروژه DIY ، می خواهم درباره چیزی نظر بدهم در مورد تابش، برای کسانی از شما که در مورد آن اطلاعی ندارید. شما که قبلاً دانش قبلی دارید ، می توانید از این قسمت صرف نظر کرده و مستقیماً به دیدن موارد زیر بروید ...

تابش چیست؟

این یک پدیده است برنامه نویسی انرژی به شکل امواج الکترومغناطیسی یا ذرات زیر اتمی از طریق یک محیط. بنابراین ، ما می توانیم انواع مختلف تابش داشته باشیم.

چه نوع پرتویی وجود دارد؟

طیف الکترومغناطیسی

زیاد است انواع تابش، مانند حرارتی ، الکترومغناطیسی و غیره ، اما مواردی که در اینجا به ما علاقه مند هستند ، دو گروه بزرگ هستند:

  • غیر یونیزه: این موج یا ذره ای است که نمی تواند الکترون ها را از ماده خارج کند ، یعنی نمی تواند یونیزه شود. نمونه هایی از آن می تواند امواج الکترومغناطیسی مایکروویو ، رادیو ، نور و ... باشد.
  • یونیزه کردن: این موج یا ذره ای است که می تواند الکترون را از ماده پاره کند ، یعنی به دلیل انرژی زیاد می تواند یونیزه شود. بنابراین ، خطرناک ترین از همه است. در این گروه لیزر ، اشعه ایکس ، آلفا ، بتا ، گاما ، تابش ترمز یا برمسترآلونگ) و غیره وجود دارد.

اگر نگاه کنیم در طیف الکترومغناطیسی، امواج با بیشترین طول موج ، مانند رادیو یا مایکروویو ، کمترین نفوذ را دارند ، موج هایی که کمترین انرژی را دارند (فرکانس پایین). در حالی که ، وقتی به سمت راست حرکت می کنیم ، می بینیم که هر بار طول موج کوتاه تر و فرکانس ارتعاش بیشتر است ، بنابراین آنها انرژی بیشتری دارند و نفوذ و آسیب بیشتری دارند.

انواع پرتوهای یونیزان:

آلفا ، بتا و گاما

اگر روی آن تمرکز کنیم تابش یونیزه کننده، که توانایی اندازه گیری شمارنده Geiger را دارد ، ما مجبوریم دوباره فیلتر کنیم و به دلیل پدیده های هسته ای روی سه اصل تمرکز کنیم:

  • آلفا: آنها بار مثبت دارند و از دو پروتون و دو نوترون تشکیل شده اند ، یعنی یک اتم هلیوم هستند. کم خطرترین و نافذترین آنها هستند ، زیرا با استفاده از یک کاغذ ساده می توان جلوی آنها را گرفت. تأثیر روی سلامتی به برخی از موارد بستگی دارد ، زیرا آنها حتی نمی توانند به لایه بیرونی پوست نفوذ کنند ، اما اگر وارد بدن شوند می توانند مضر باشند. استنشاق ، بلع یا تزریق در بدن از منابعی که این اشعه را تولید می کنند می تواند به بافت زنده آسیب برساند.
  • بتا: آنها ذرات بار الکتریکی منفی ، الکترون هستند. آنها نفوذ و انرژی بیشتری نسبت به موارد قبلی دارند و برای جلوگیری از آنها می توانیم این کار را با یک ورق آلومینیوم آشپزخانه انجام دهیم. علیرغم نفوذ بیشتر ، آنها به اندازه بافتهای قبلی برای بافت زنده و DNA مضر نیستند ، زیرا یونیزاسیون های ایجاد شده به طور گسترده تری اتفاق می افتد. این می تواند باعث سوختگی پوست شود و اگر وارد بدن شود می تواند باشد اما ...
  • گاما: اشعه گاما اشعه هایی است که بیشترین قدرت و انرژی را دارد ، از این رو خطرناک ترین آنها است. اینها فوتون ها هستند ، انرژی خالصی که به راحتی نمی توان آنها را متوقف کرد ، فقط با ورق های سرب ، بتن و غیره. آنها به راحتی از بدن ما عبور می کنند و باعث آسیب جدی به بافت ، جهش DNA و غیره می شوند ، که منجر به آن می شود ، مانند سرطان و حتی در صورت بالا بودن دوز ، حتی مرگ ناگهانی.

بنابراین ، این یک بازی نیست و ما از hwlibre شما را به این کار تشویق می کنیم تمام اقدامات احتیاطی را انجام دهید و خوب بدانید که چه کاری انجام می دهید. ما از مشکلات احتمالی مراقبت نمی کنیم ...

لوله های گایگر-مولر:

لوله گیگر

آنها حیوان حیات هر شمارنده Geiger هستند ، همانطور که دستگاه o است حسی که وظیفه دریافت تابش و تبدیل آن تعداد ضربه به یک فشار الکتریکی را دارد که می تواند توسط بقیه مدارها تفسیر شود. این لوله به عنوان لوله Geiger-Müller یا به سادگی لوله Geiger شناخته می شود و می توانید آن را از فروشگاه های آنلاین مختلف مانند آمازون ، Aliexpress و ... خریداری کنید گزینه دیگر این است که آن را از پیشخوان Geiger که قدیمی یا در حال استفاده نیست استفاده کنیم.

بسیاری از آنها ، مدل های مختلف (SBT-9 ، LND-712 ، J408y ، ...) و تولید کنندگان مختلف (GSTube ، LND ، North Optic ،…) وجود دارد. محبوب ترین ها هستند آمریکایی ها و روس ها، اگرچه چینی نیز وجود دارد. برخی از اصالت شوروی قیمت ارزان دارند و گرانترین آن NLD است. آنچه باید در مورد آن روشن باشیم مقادیر ولتاژی است که بین آن حرکت می کند ، زیرا سیگنال آنالوگ ای که از آن ساطع می شود بسته به تابش گرفته شده کم و بیش شدید خواهد بود.

عملکرد لوله Geiger با ضربه ذرات

کشور فروشنده مدل ذراتی که می گیرد ولتاژ ماده قیمت
روسیه GSTube SBM-20 بتا / گاما 400V آلومینیوم پایین
روسیه GSTube SBM-21 بتا / گاما 650V آلومینیوم پایین
روسیه GSTube بله - 1 گرم گاما 440V آلومینیوم پایین
روسیه GSTube SBT-9 بتا / گاما 389V آلومینیوم پایین
روسیه GSTube بله -3 پوند بتا / گاما 400V آلومینیوم پایین
EE.UU. LND LND-712 آلفا / بتا / گاما 500V میکا متوسط
EE.UU. LND LND-7124 آلفا / بتا / گاما 500V میکا صدای اوج
EE.UU. LND LND-7224 آلفا / بتا / گاما 500V میکا صدای اوج
چین شمال نوری J408y گاما 420V کریستال پایین
چین شمال نوری J305B بتا / گاما 350V کریستال پایین
چین شمال نوری J306B بتا / گاما 420V کریستال پایین

به همین دلیل است ما باید مدار خود را کالیبره کنیم برای تبدیل این سیگنال ها به واحدهایی که تابش معمولاً در آنها اندازه گیری می شود ، مانند Sievert (Sv) ، roentgen یا Rem ، از جمله ... همانطور که با سنسور دما کار می کنیم ، باید آن ولتاژهای خروجی را به درجه سانتیگراد تبدیل کنیم. یا در مقیاسی که اندازه گیری می کنیم.

واحد SI برای اندازه گیری تابش:

سیستم بین المللی (SI) واحد خود را دارد سیورت (Sv)، به یاد داشته باشید که جداول وجود دارد که نشان دهنده خطر یا اثرات تابش است که ما برای سلامتی ضبط می کنیم:

mSv اثرات سلامتی
50-100 تغییرات در شیمی خون
500 در عرض چند ساعت حالت تهوع پیدا کنید
700 استفراغ
750 ریزش مو در عرض 2-3 هفته
900 اسهال
1000 خون ریزی
4000 مرگ احتمالی طی دو ماه

شما قبلاً می دانید که این امر نه تنها به دوز بستگی دارد بلکه به میزان آن نیز بستگی دارد ارائه. یعنی می توانیم یک بار دوز 100 میلی ثانیه دریافت کنیم و هیچ اتفاقی نیفتد ، اما اگر ماه ها 50 میلی ثانیه دریافت کنیم ، در نتیجه اثرات طولانی مدت می تواند بسیار منفی باشد ...

منابع تابش برای آزمایش:

بلورهای اورانیوم و ردیاب دود

برای انجام آزمایشات تابش، باید بدانید که چندین گزینه وجود دارد. بلورهای اورانیوم مانند آنچه در این تصویر مشاهده می کنید (سمت چپ) وجود دارد که شمارنده های گیگر با آنها در آزمایشگاه ها آزمایش می شوند. اما منابع دیگری نیز وجود دارد که می توان به آنها تابش یا مواد رادیواکتیو مانند سنسورهای دود در آشکارسازهای آتش را دریافت کرد.

درون این ردیاب ها وجود دارد منبع تشعشع یونیزان از آمریكیم و تولید تابش آلفا. حتی باید بدانید که بسیاری از غذاهای غنی از پتاسیم دارای ایزوتوپی به نام پتاسیم -40 هستند که از آنها اشعه ساطع می شود ، اگرچه برای بدن ما اصلا مشکلی ایجاد نمی کند ، اما دوزهای آن بسیار کم است ، دقیقاً مانند تابشی که از خود طبیعت دریافت می کنیم (خاص سنگهای گرانیت) یا کیهان.

ما خود رادیواکتیو هستیم ، از کربن ساخته شده ایم و کربن 14 نیز هست. ولی غافلگیر خواهد شد دانستن اینکه بسیاری از چیزهای رادیواکتیو را هر روز بدون دانستن آن اداره می کنیم: برخی از دکمه ها ، سرامیک ها ، سنگ مرمر ، برخی از لامپ های کمپینگ ، سیگار ، کاغذ روکش شده ، برخی از فتیله ها و غیره تمام مواردی که می توانم از آن استفاده کنم تا شمارنده Geiger شما را آزمایش کنم و ببینم آیا کار می کند یا نه ...

اما تکرار می کنم ، شما باید هنگام دست زدن به قلم های خاص مراقب باشید.

مواد لازم:

وقتی همه اینها شناخته شد ، مستقیماً به سراغ آن می رویم لیست تمام اجزای مورد نیاز ما برای ساخت پیشخوان خانگی Geiger:

  1. ماژول مبدل / تنظیم کننده DC-DC ولتاژ بالا (به عنوان مثال: SODIAL) این به ما کمک می کند تا ولتاژهای بالایی را که Geiger-Müller کنترل می کند تنظیم کنیم و آن را به یک ولتاژ کوچک قابل مقایسه با بردهای Arduino و سایر اجزا تبدیل کنیم. به یاد داشته باشید که باید ولتاژ ورودی لوله ای را که انتخاب کرده اید تحمل کند.
  2. ماژول شارژ. مثلاً این.
  3. ماژول نیم تنه مبدل DC-DC 3-5 ولت.
  4. آردوینو نانو، اگرچه هر مورد دیگری نیز مفید است ، اما برای اینکه اندازه خیلی زیاد نشود ، نانو ترجیح داده می شود.
  5. نمایشگر OLED 128 × 64 یا 128 × 32 که برای نمایش نتایج اندازه گیری از آنها به عنوان صفحه نمایش استفاده خواهیم کرد.
  6. ترانزیستور 2n3904 برای لوله ما
  7. مقاومت 10M اهم و 10K دیگر.
  8. کندانسور از 470pf.
  9. تعویض برای خاموش و روشن
  10. وزوز یا بلندگوی کوچک
  11. باتری قلمی.

این از نظر اجزا است ، اگرچه شما نیز نیاز خواهید داشت ابزار مانند سیم لحیم کاری ، سیم کشی برخی اتصالات ، Arduino IDE برای برنامه ریزی برد ، باتری یا باتری و همچنین یک جعبه سفارشی اگر می خواهید از کنتور خود محافظت کنید. اگر چاپگر سه بعدی دارید ، می توانید جعبه پلاستیکی سفارشی بسازید.

گام به گام ساخت پیشخوان Geiger:

نمودار مدار شمارنده Geiger

نکته بعدی ، هنگامی که تمام م componentsلفه ها را دارید ، جمع آوری تمام م componentsلفه های پازل مطابق این نمودار است که ما به شما ارائه می دهیم. مونتاژ نسبتاً ساده است و نیازی به توضیح بیشتر ندارد. این فقط همه عناصر مانند این را متصل می کند. شما می توانید آن را در یک انجام دهید تخته نان قبل از اینکه تست کنید همه چیز به درستی کار می کند و سپس لحیم کاری تمام اجزای سازنده را برای ماندگاری آن ادامه دهید.

مراحل:

ل مراحل دنبال کردن آنها عبارتند از:

  1. با یک مولتی متر می توانید کالیبره کردن ولتاژ (تصویر 1) به عنوان مثال ، اگر شما یک لوله 410 ولت Geiger-Müller انتخاب کرده اید ، باید پتانسیومتر ماژول DC-DC را تنظیم کنید تا در آن ولتاژ کار کند.
  2. سپس خود را محدود به لحیم کاری کنید یا به همه اجزا بپیوندید همانطور که در نمودار قبلی مانند تصویر 2 نشان داده شده است.
  3. می توانید از a استفاده کنید جعبه برای محافظت همه اجزا هستند یا نه.
  4. برد آردوینو را با استفاده از کابل USB و با رایانه به کامپیوتر متصل کنید آردوینو IDE برنامه زیر را بنویسید (می توانید آن را از اینجا بارگیری کنید) برای برنامه ریزی کنید و اینکه می تواند ولتاژهایی را که ما برای اندازه گیری در واحد انتخاب شده شما کار می کنیم ، تبدیل کند. اگر ترجیح می دهید یا با تغییر کد منبع طرح ، می توانید از واحدهای دیگر استفاده کنید ...
/*
*
* SCL - A5
* SDA - A4
*
*
* Voltmeter - A3
*
* PWM - D9
* Input - D2
*
* buzzer - D7
*
*/

#include <Bounce2.h>

#include <SPI.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>

#define OLED_RESET 4
Adafruit_SSD1306 display(OLED_RESET);

#define NUMFLAKES 10
#define XPOS 0
#define YPOS 1
#define DELTAY 2

//////////////////////////////////////////////////////////////////////////////

unsigned long previousMillis = 0;
unsigned long previousMillis1 = 0;
const long interval = 40000;
const long interval1 = 500;

static const unsigned char PROGMEM lcd_bmp[] =
{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xE0, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x80, 0x1C, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x0E, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x80, 0x1F, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x80, 0x1F, 0x80,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x80, 0x1F, 0xC0,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xC0, 0x3F, 0xE0,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xC0, 0x3F, 0xF0,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xC0, 0x3F, 0xF0,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xE0, 0x7F, 0xF8,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xFF, 0xE0, 0x7F, 0xF8,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xFF, 0xFF, 0xFF, 0xF8,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xFF, 0xF0, 0x7F, 0xF8,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xFF, 0xE0, 0x7F, 0xF8,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xFF, 0xC0, 0x3F, 0xF8,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xF8, 0x00, 0x03, 0xF8,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x20, 0x40, 0x38,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x10, 0x80, 0x08,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x09, 0x00, 0x08,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x0F, 0x00, 0x08,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x1F, 0x80, 0x18,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x3F, 0xC0, 0x10,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x7F, 0xC0, 0x30,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xFF, 0xE0, 0x20,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0xFF, 0xF0, 0x40,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0xFF, 0xF8, 0xC0,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xFF, 0xF9, 0x80,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xFF, 0xFE, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xFF, 0xFC, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xE0, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};

static const unsigned char PROGMEM logo[] =
{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xE0, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x80, 0x1C, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x0E, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x80, 0x1F, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x80, 0x1F, 0x80,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x80, 0x1F, 0xC0,
0x07, 0x9E, 0x00, 0x00, 0x00, 0x03, 0xFF, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x7F, 0xC0, 0x3F, 0xE0,
0x07, 0x9E, 0x00, 0x00, 0x00, 0x03, 0xFF, 0x00, 0x3F, 0xC0, 0x00, 0x00, 0xFF, 0xC0, 0x3F, 0xF0,
0x07, 0x9E, 0x00, 0x00, 0x00, 0x03, 0xFF, 0x00, 0x3F, 0xE0, 0x00, 0x00, 0xFF, 0xC0, 0x3F, 0xF0,
0x07, 0x9E, 0x00, 0x00, 0x00, 0x03, 0xFF, 0x00, 0x3F, 0xF0, 0x00, 0x00, 0xFF, 0xE0, 0x7F, 0xF8,
0x07, 0x9E, 0x3E, 0x73, 0x9C, 0x00, 0x78, 0x3E, 0x3E, 0xF0, 0xF0, 0x01, 0xFF, 0xE0, 0x7F, 0xF8,
0x07, 0x9E, 0x7F, 0x33, 0x98, 0x00, 0x78, 0x7F, 0x3E, 0xF1, 0xF8, 0x01, 0xFF, 0xFF, 0xFF, 0xF8,
0x07, 0x9E, 0x7F, 0x33, 0xB8, 0x00, 0x78, 0x7F, 0x3E, 0xF3, 0xFC, 0x01, 0xFF, 0xF0, 0x7F, 0xF8,
0x07, 0xFE, 0xE7, 0x33, 0xB8, 0x00, 0x78, 0x73, 0xBE, 0xF3, 0x9C, 0x01, 0xFF, 0xE0, 0x7F, 0xF8,
0x07, 0xFE, 0xE7, 0x3F, 0xF9, 0xF0, 0x78, 0x73, 0xBE, 0xF3, 0x9C, 0x01, 0xFF, 0xC0, 0x3F, 0xF8,
0x07, 0xFE, 0xE7, 0x3F, 0xF9, 0xF0, 0x78, 0x73, 0xBE, 0xF3, 0x9C, 0x01, 0xF8, 0x00, 0x03, 0xF8,
0x07, 0xFE, 0xE7, 0x3F, 0xF8, 0x00, 0x78, 0x73, 0xBE, 0xF3, 0x9C, 0x01, 0x00, 0x20, 0x40, 0x38,
0x07, 0x9E, 0xE7, 0x3F, 0xF0, 0x00, 0x78, 0x73, 0xBE, 0xF3, 0x9C, 0x01, 0x00, 0x10, 0x80, 0x08,
0x07, 0x9E, 0xE7, 0x1F, 0xF0, 0x00, 0x78, 0x73, 0xBE, 0xF3, 0x9C, 0x01, 0x00, 0x09, 0x00, 0x08,
0x07, 0x9E, 0xE7, 0x1E, 0xF0, 0x00, 0x78, 0x73, 0xBF, 0xF3, 0x9C, 0x01, 0x00, 0x0F, 0x00, 0x08,
0x07, 0x9E, 0xE7, 0x1E, 0xF0, 0x00, 0x78, 0x73, 0xBF, 0xF3, 0x9C, 0x00, 0x80, 0x1F, 0x80, 0x18,
0x07, 0x9E, 0x7F, 0x1E, 0xF0, 0x00, 0x78, 0x7F, 0x3F, 0xE3, 0xFC, 0x00, 0x80, 0x3F, 0xC0, 0x10,
0x07, 0x9E, 0x7E, 0x1E, 0xF0, 0x00, 0x78, 0x3F, 0x3F, 0xC1, 0xF8, 0x00, 0xC0, 0x7F, 0xC0, 0x30,
0x07, 0x9E, 0x1C, 0x1C, 0xE0, 0x00, 0x78, 0x1C, 0x3F, 0x00, 0xF0, 0x00, 0x40, 0xFF, 0xE0, 0x20,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0xFF, 0xF0, 0x40,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0xFF, 0xF8, 0xC0,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xFF, 0xF9, 0x80,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xFF, 0xFE, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xFF, 0xFC, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xE0, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};

static const unsigned char PROGMEM fl[] =
{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };

static const unsigned char PROGMEM bt1[] =
{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };

#if (SSD1306_LCDHEIGHT != 32)
#error("Height incorrect, please fix Adafruit_SSD1306.h!");
#endif

const int buttonPin = 2;
const int ledPin = 13;

int buttonState = 0;
int bt = 0;
int pbt = 0;
int s1 = 0;
unsigned long j;
unsigned long CR = 0;

unsigned long cs;
int sec;
/////////////////////////////////

float input_voltage = 0.0;
float temp=0.0;

///////////////////////////////////

Bounce bouncer = Bounce();

void setup() {

Serial.begin(9600);
display.begin(SSD1306_SWITCHCAPVCC, 0x3C); // initialize with the I2C addr 0x3C (for the 128x32)

display.display();

display.clearDisplay();

display.drawBitmap(0, 0, logo, 128, 32, WHITE);
display.display();
delay(2000);
display.clearDisplay();

TCCR1A = TCCR1A & 0xe0 | 2;
TCCR1B = TCCR1B & 0xe0 | 0x09;
analogWrite(9,22 ); // на выводе 9 ШИМ=10%

pinMode(ledPin, OUTPUT); //

pinMode (7, OUTPUT); // buzzer

pinMode(2 ,INPUT); // кнопка на пине 2
digitalWrite(2 ,HIGH); // подключаем встроенный подтягивающий резистор
bouncer .attach(2); // устанавливаем кнопку
bouncer .interval(5); // устанавливаем параметр stable interval = 5 мс

}

void loop() {

///////////////////////////////////////////////////////////////////////////////////////////////////////////////

unsigned long currentMillis = millis();
unsigned long currentMillis1 = millis();

if (bouncer.update())
{ //если произошло событие
if (bouncer.read()==0)
{ bt++;
}
}

if (currentMillis - previousMillis >= interval) {
previousMillis = currentMillis;
CR = bt;
bt = 0;
}

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////
if (bt != pbt) {
pbt = bt;
s1 = 1;
}
////////////////////////////////////////////VOLTMETER PIN A3////////////////////////////////////////////////////////////////////

int analog_value = analogRead(A3);
input_voltage = (analog_value * 5.0) / 1024.0;

if (input_voltage < 0.1)
{
input_voltage=0.0;
}

///////////////////////////////////////////////TEXT ON DISPLAY//////////////////////////////////////////////////////////////////
display.clearDisplay();
display.setTextSize(2);
display.setTextColor(WHITE);
display.setCursor(10,0);
display.clearDisplay();
display.println(CR);
display.setCursor(10,18);
display.println(bt);
display.setCursor(40,18);
display.println();
display.setTextSize(1);
display.setCursor(40,0);
display.println("mR/hr");

/////////////////////////////////////////////////BATTERY INDICATION////////////////////////////////////////////
display.drawBitmap(0, 0, fl, 128, 32, WHITE);

if (input_voltage > 3.3) {
display.drawBitmap(0, 0, bt1, 128, 32, WHITE);
if (input_voltage > 3.4) {
display.drawBitmap(0, -5, bt1, 128, 32, WHITE);
if (input_voltage > 3.5) {
display.drawBitmap(0, -10, bt1, 128, 32, WHITE);
if (input_voltage > 3.6) {
display.drawBitmap(0, -15, bt1, 128, 32, WHITE);
if (input_voltage > 3.8) {
display.drawBitmap(0, -20, bt1, 128, 32, WHITE);
}
}
}
}
}

////////////////////////////////////////////////////RADIATION ICON AND BUZZER/////////////////////////////////////////////////////////////
if (s1 == 1){
display.drawBitmap(-10, 0, lcd_bmp, 128, 32, WHITE);
digitalWrite (7, HIGH); // buzzer ON
}
else
{
digitalWrite (7, LOW); // buzzer OFF
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////
if (currentMillis1 - previousMillis1 >= interval1) {
previousMillis1 = currentMillis1;
if (s1 == 1){
s1=0;
}
}
display.display();
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////

چگونه می توانید بررسی کنید بسیار ساده (اگرچه به دلیل آن تنظیمات نمایشگر طولانی به نظر می رسد) ، شما فقط باید آن ولتاژ دریافت شده توسط برد آردوینو را به یک سری داده های قابل ضبط روی صفحه یا نمایشگر تبدیل کنید.

اگر همه چیز خوب پیش رفت ، باید ببینید اطلاعات روی صفحه و سر و صدا هنگام مواجهه با پیشخوان Geiger خود با برخی از منابع رادیواکتیو ، بر روی زنگ اخطار قرار بگیرید.

فوئنتز:

قابل آموزش - پیشخوان DIY Arduino Geiger

پخت و پز - شمارنده Geiger: برد سنسور تابش برای آردوینو و رزبری پای


محتوای مقاله به اصول ما پیوست اخلاق تحریریه. برای گزارش یک خطا کلیک کنید اینجا.

2 نظر ، نظر خود را بگذارید

نظر خود را بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخشهای موردنیاز علامتگذاری شدهاند با *

*

*

  1. مسئول داده ها: میگل آنخل گاتون
  2. هدف از داده ها: کنترل هرزنامه ، مدیریت نظرات.
  3. مشروعیت: رضایت شما
  4. ارتباط داده ها: داده ها به اشخاص ثالث منتقل نمی شوند مگر با تعهد قانونی.
  5. ذخیره سازی داده ها: پایگاه داده به میزبانی شبکه های Occentus (EU)
  6. حقوق: در هر زمان می توانید اطلاعات خود را محدود ، بازیابی و حذف کنید.

  1.   پائولا dijo

    سلام ، من می خواهم این کار را با arduino uno و من فکر می کردم که برنامه ریزی برای سوار شدن آن و تغییر چیز دیگری چیست؟

    1.    اسحاق dijo

      سلام پائولا ،
      اتصال در ONE یکسان است. در صورت تمایل می توانید برخی از اتصالات را روی پین های دیگر تغییر دهید ، تنها چیزی که باید کد طرح را متناسب با آنچه قرار داده اید تغییر دهید. اما این همان است. به اتصالات GND و Vcc احترام بگذارید ، و بقیه ، همانطور که گفتم ، می توانید آن را در شماره دیگری یا در همان شماره روی صفحه خود قرار دهید ... (بله ، به ورودی و خروجی دیجیتال و آنالوگ احترام بگذارید همانطور که در تخته نانو)
      سلام!