วิธีทำเคาน์เตอร์ Geiger

เคาน์เตอร์ geiger แบบโฮมเมด

Three Milles Island, Chernobyl, Fukushima และแม้แต่บางแห่งในดินแดนของประเทศเช่นเครื่องปฏิกรณ์ Coral-I ในมาดริดหรือเครื่องปฏิกรณ์Vandellós-I ในคาตาโลเนีย มีมากมาย อุบัติเหตุนิวเคลียร์ ที่เกิดขึ้นตลอดประวัติศาสตร์และแม้จะมีผลกระทบที่เลวร้าย แต่ก็ดูเหมือนว่าธีมนี้ การแผ่รังสี มันยังคงเพิ่มความน่าสนใจอย่างต่อเนื่อง แต่สิ่งที่มีเพียงไม่กี่คนที่รู้ก็คือในแต่ละวันเราทุกคนต้องสัมผัสกับรังสีธรรมชาติทั้งที่มาจากนอกโลกและที่มาจากแร่ธาตุของโลก ...

ถ้าคุณต้องการวัดรังสีรอบ ๆ ตัวคุณในคู่มือฉบับใหม่นี้เราจะแสดงขั้นตอนของคุณทีละขั้นตอน คุณจะสร้างเคาน์เตอร์ geiger ได้อย่างไรนั่นคืออุปกรณ์ที่สามารถวัดกัมมันตภาพรังสี โดยทั่วไปแล้วเป็นอุปกรณ์ที่สามารถวัดอนุภาคที่กระทบกับเซ็นเซอร์เช่นการแผ่รังสีไอออไนซ์จึงเรียกว่าตัวนับเนื่องจากสามารถนับจำนวนผลกระทบและดังนั้นระดับการแผ่รังสีของวัตถุหรือสถานที่

ควรรู้อะไรก่อนหลัง

สัญลักษณ์การแผ่รังสีที่ไม่ก่อให้เกิดไอออนและไอออไนซ์

ก่อนที่จะเริ่มโครงการ DIY ฉันต้องการแสดงความคิดเห็นบางอย่าง เกี่ยวกับรังสีสำหรับผู้ที่ไม่ทราบเกี่ยวกับเรื่องนี้ สำหรับผู้ที่มีความรู้มาก่อนสามารถข้ามส่วนนี้ไปดูข้อมูลต่อไปนี้ได้โดยตรง ...

รังสีคืออะไร?

มันเป็นปรากฏการณ์ของ การเขียนโปรแกรมพลังงาน ในรูปของคลื่นแม่เหล็กไฟฟ้าหรืออนุภาคย่อยของอะตอมผ่านตัวกลาง ดังนั้นเราจึงสามารถมีรังสีประเภทต่างๆ

มีรังสีประเภทใดบ้าง?

สเปกตรัมแม่เหล็กไฟฟ้า

มีมากมาย ประเภทของรังสีเช่นความร้อนแม่เหล็กไฟฟ้า ฯลฯ แต่สิ่งที่เราสนใจมีสองกลุ่มใหญ่ ๆ :

  • ไม่แตกตัวเป็นไอออน: เป็นคลื่นหรืออนุภาคที่ไม่สามารถกำจัดอิเล็กตรอนออกจากสสารได้กล่าวคือไม่สามารถแตกตัวเป็นไอออนได้ ตัวอย่างเช่นคลื่นแม่เหล็กไฟฟ้าของไมโครเวฟวิทยุแสง ฯลฯ
  • ไอออไนซ์: เป็นคลื่นหรืออนุภาคที่สามารถฉีกอิเล็กตรอนออกจากสสารได้กล่าวคือสามารถแตกตัวเป็นไอออนได้เนื่องจากมีพลังงานสูง ดังนั้นจึงเป็นสิ่งที่อันตรายที่สุดในบรรดา ภายในกลุ่มนี้เรามีเลเซอร์รังสีเอกซ์อัลฟาเบต้าแกมมารังสีเบรกหรือเบรมสตราห์ลุง) เป็นต้น

ถ้าเรามอง ในสเปกตรัมแม่เหล็กไฟฟ้าคลื่นที่มีความยาวคลื่นยาวที่สุดเช่นวิทยุหรือไมโครเวฟเป็นคลื่นที่มีการทะลุทะลวงน้อยที่สุดซึ่งเป็นคลื่นที่มีพลังงานน้อยที่สุด (ความถี่ต่ำกว่า) ในขณะที่เราเคลื่อนที่ไปทางขวาเราจะเห็นว่าแต่ละครั้งที่ความยาวคลื่นสั้นลงและความถี่ของการสั่นสะเทือนมากขึ้นดังนั้นจึงมีพลังงานมากขึ้นและทะลุทะลวงและสร้างความเสียหายได้มากขึ้น

ประเภทของรังสีไอออไนซ์:

อัลฟาเบต้าและแกมมา

ถ้าเราเน้น รังสีไอออไนซ์ซึ่งสามารถวัดตัวนับ Geiger ได้เราต้องกรองอีกครั้งและมุ่งเน้นไปที่ปัจจัยพื้นฐานสามประการเนื่องจากปรากฏการณ์ทางนิวเคลียร์:

  • อัลฟ่า: พวกมันมีประจุบวกและประกอบด้วยโปรตอนสองตัวและนิวตรอนสองตัวนั่นคืออะตอมของฮีเลียม เป็นสิ่งที่อันตรายและทะลุทะลวงน้อยที่สุดเนื่องจากสามารถหยุดใช้กระดาษธรรมดาได้ ผลกระทบต่อสุขภาพขึ้นอยู่กับบางประเด็นเนื่องจากไม่สามารถทะลุผ่านชั้นนอกของผิวหนังได้ แต่หากเข้าสู่ร่างกายอาจเป็นอันตรายได้ การสูดดมการกลืนกินหรือการฉีดเข้าไปในร่างกายของแหล่งที่สร้างรังสีนี้อาจทำลายเนื้อเยื่อของสิ่งมีชีวิตได้
  • เบต้า: พวกมันเป็นอนุภาคของประจุไฟฟ้าลบอิเล็กตรอน พวกเขามีความทะลุปรุโปร่งและมีพลังมากกว่ารุ่นก่อน ๆ และหากต้องการหยุดยั้งพวกเขาเราสามารถทำได้ด้วยอลูมิเนียมฟอยล์ในครัว แม้จะมีการเจาะทะลุมากขึ้น แต่ก็ไม่เป็นอันตรายต่อเนื้อเยื่อและดีเอ็นเอของสิ่งมีชีวิตเช่นเดียวกับก่อนหน้านี้เนื่องจากการแตกตัวเป็นไอออนเกิดขึ้นในวงกว้างมากขึ้น อาจทำให้ผิวหนังไหม้ได้และหากเข้าสู่ร่างกายอาจเป็นได้ แต่ ...
  • พิสัย: รังสีแกมมาเป็นรังสีที่มีอำนาจและพลังงานทะลุทะลวงมากที่สุดดังนั้นจึงเป็นอันตรายที่สุด เหล่านี้คือโฟตอนพลังงานบริสุทธิ์ที่ไม่สามารถหยุดได้ง่ายมีเพียงแผ่นตะกั่วคอนกรีต ฯลฯ พวกมันสามารถผ่านเข้าสู่ร่างกายของเราได้อย่างง่ายดายและทำให้เนื้อเยื่อเสียหายร้ายแรงการกลายพันธุ์ของดีเอ็นเอเป็นต้นโดยสิ่งที่เกี่ยวข้องเช่นมะเร็งและแม้กระทั่งการเสียชีวิตอย่างกะทันหันหากได้รับปริมาณสูง

ดังนั้นมันไม่ใช่เกมและจาก hwlibre เราขอแนะนำให้คุณ ใช้ความระมัดระวังทั้งหมด และรู้ดีว่าคุณกำลังทำอะไร เราไม่ดูแลปัญหาที่อาจเกิดขึ้น ...

Geiger-Müllerหลอด:

หลอด geiger

พวกเขาเป็นเส้นเลือดใหญ่ของตัวนับ Geiger ทุกตัวเนื่องจากเป็นอุปกรณ์ o เซ็นเซอร์ ซึ่งมีหน้าที่รับรังสีและเปลี่ยนจำนวนช็อตนั้นให้เป็นอิมพัลส์ไฟฟ้าที่สามารถตีความได้โดยส่วนที่เหลือของวงจร เป็นที่รู้จักกันในชื่อ Geiger-Müller tube หรือ Geiger tube และคุณสามารถซื้อได้ในร้านค้าออนไลน์ต่างๆเช่น Amazon, Aliexpress เป็นต้น อีกทางเลือกหนึ่งคือลบออกจากเคาน์เตอร์ Geiger ที่เราเก่าหรือไม่ได้ใช้งาน

มีหลายรุ่นหลายรุ่น (SBT-9, LND-712, J408y, …) และผู้ผลิตที่แตกต่างกัน (GSTube, LND, North Optic, …) ที่ได้รับความนิยมมากที่สุดคือ ชาวอเมริกันและชาวรัสเซียแม้ว่าจะมีภาษาจีนด้วยก็ตาม แหล่งกำเนิดของโซเวียตบางส่วนมักจะมีราคาถูกส่วนที่แพงที่สุดคือ LND สิ่งที่เราต้องชัดเจนคือค่าแรงดันไฟฟ้าระหว่างที่มันเคลื่อนที่เนื่องจากสัญญาณแอนะล็อกที่ปล่อยออกมาจะมีความเข้มข้นมากหรือน้อยขึ้นอยู่กับรังสีที่จับได้

การทำงานของท่อ Geiger ด้วยผลกระทบของอนุภาค

ประเทศ ผู้ขาย แบบ อนุภาคที่จับได้ แรงดันไฟฟ้า วัสดุ ราคา
รัสเซีย GTube เอสบีเอ็ม-20 เบต้า / แกมมา 400V Aluminio Bajo
รัสเซีย GTube เอสบีเอ็ม-21 เบต้า / แกมมา 650V Aluminio Bajo
รัสเซีย GTube ใช่ -1g พิสัย 440V Aluminio Bajo
รัสเซีย GTube เอสบีที-9 เบต้า / แกมมา 389V Aluminio Bajo
รัสเซีย GTube ใช่ -3bg เบต้า / แกมมา 400V Aluminio Bajo
EE.UU. พรรค NLD LND-712 อัลฟา / เบต้า / แกมมา 500V ไมกา Medio
EE.UU. พรรค NLD LND-7124 อัลฟา / เบต้า / แกมมา 500V ไมกา สูง
EE.UU. พรรค NLD LND-7224 อัลฟา / เบต้า / แกมมา 500V ไมกา สูง
สาธารณรัฐประชาชนจีน นอร์ทออปติก J408y พิสัย 420V Cristal Bajo
สาธารณรัฐประชาชนจีน นอร์ทออปติก J305B เบต้า / แกมมา 350V Cristal Bajo
สาธารณรัฐประชาชนจีน นอร์ทออปติก J306B เบต้า / แกมมา 420V Cristal Bajo

สำหรับเรื่องนั้น เราจะต้องปรับเทียบวงจรของเรา ในการแปลงสัญญาณเหล่านี้เป็นหน่วยที่มักจะวัดรังสีเช่น Sievert (Sv), roentgen หรือ Rem เป็นต้น ... ในขณะที่เราทำกับเซ็นเซอร์อุณหภูมิเราต้องเปลี่ยนแรงดันเอาต์พุตเหล่านั้นให้เป็นองศา Celcius หรือในสเกลที่เรากำลังวัด

หน่วย SI สำหรับการวัดรังสี:

International System (SI) มีหน่วยเป็น ซีเวิร์ต (Sv)โปรดจำไว้ว่ามีตารางที่ระบุถึงอันตรายหรือผลกระทบของรังสีที่เราจับเพื่อสุขภาพ:

มิลลิวินาที ผลกระทบต่อสุขภาพ
50-100 การเปลี่ยนแปลงทางเคมีในเลือด
500 คลื่นไส้ภายในไม่กี่ชั่วโมง
700 อาเจียน
750 ผมร่วงใน 2-3 สัปดาห์
900 โรคท้องร่วง
1000 เลือดออก
4000 อาจเสียชีวิตในสองเดือน

คุณรู้อยู่แล้วว่าไม่เพียง แต่ขึ้นอยู่กับปริมาณ แต่ยังขึ้นอยู่กับ Exposicion. นั่นคือเราสามารถรับปริมาณ 100 mSv ได้ครั้งเดียวและไม่มีอะไรเกิดขึ้น แต่ถ้าเราได้รับ 50 mSv เป็นเวลาหลายเดือนผลกระทบระยะยาวอาจเป็นลบมาก ...

แหล่งที่มาของรังสีสำหรับการทดสอบ:

ผลึกยูเรเนียมและเครื่องตรวจจับควัน

เพื่อทำการแสดง การทดสอบทางรังสีคุณควรทราบว่ามีหลายทางเลือก มีผลึกยูเรเนียมเหมือนกับที่คุณเห็นในภาพนี้ (ซ้าย) ซึ่งเคาน์เตอร์ Geiger ได้รับการทดสอบในห้องปฏิบัติการ แต่มีแหล่งอื่นที่ใกล้กว่าที่เราจะได้รับรังสีหรือสารกัมมันตภาพรังสีเช่นเซ็นเซอร์ตรวจจับควันในเครื่องตรวจจับไฟ

ภายในเครื่องตรวจจับเหล่านั้นมี แหล่งกำเนิดรังสีไอออไนซ์ ของอะมิเนียมและผลิตรังสีอัลฟา คุณควรรู้ด้วยซ้ำว่าอาหารหลายชนิดที่อุดมไปด้วยโพแทสเซียมมีไอโซโทปที่เรียกว่าโพแทสเซียม -40 ซึ่งปล่อยรังสีแม้ว่าจะไม่เป็นปัญหาต่อร่างกายของเรา แต่ก็เป็นปริมาณที่ต่ำมากเช่นเดียวกับรังสีที่เราได้รับจากธรรมชาติ (บางอย่าง หินแกรนิต) หรือจักรวาล

ตัวเราเองเป็นกัมมันตภาพรังสีเราทำจากคาร์บอนและคาร์บอน -14 คือ แต่ จะแปลกใจ เมื่อรู้ว่าเราจัดการกับสารกัมมันตภาพรังสีมากมายทุกวันโดยไม่รู้ตัว: กระดุมบางเม็ดเซรามิกหินอ่อนโคมไฟแคมปิ้งบุหรี่กระดาษเคลือบไส้ตะเกียง ฯลฯ ทั้งหมดที่ฉันสามารถใช้เพื่อทดสอบตัวนับ Geiger ของคุณและดูว่าใช้งานได้หรือไม่ ...

แต่ฉันขอย้ำอีกครั้งว่าคุณต้องระมัดระวังในการจัดการฟอนต์บางตัว

วัสดุที่จำเป็น:

เมื่อทราบทั้งหมดแล้วเราไปที่ แสดงรายการส่วนประกอบทั้งหมดที่เราต้องการ เพื่อสร้างเคาน์เตอร์ Geiger แบบโฮมเมดของเรา:

  1. โมดูลตัวแปลง / ตัวควบคุม DC-DC ไฟฟ้าแรงสูง (เช่น: SODIAL). มันจะช่วยให้เราปรับแรงดันไฟฟ้าสูงที่ Geiger-Müllerจัดการและเปลี่ยนแรงดันไฟฟ้านั้นให้เป็นแรงดันไฟฟ้าขนาดเล็กที่เทียบได้กับบอร์ด Arduino และส่วนประกอบอื่น ๆ จำไว้ว่าต้องทนต่อแรงดันไฟฟ้าขาเข้าของหลอดที่คุณเลือก
  2. โมดูลการชาร์จ. ตัวอย่างเช่น มันเป็น.
  3. โมดูลหน้าอก แปลง ดีซี-ดีซี 3-5v.
  4. Arduino นาโนแม้ว่าสิ่งอื่น ๆ จะมีประโยชน์เช่นกัน แต่เพื่อไม่ให้เพิ่มขนาดมากเกินไปควรใช้นาโน
  5. จอแสดงผล OLED 128 × 64 หรือ 128 × 32 ที่เราจะใช้เป็นหน้าจอเพื่อแสดงผลการวัด
  6. ทรานซิสเตอร์ 2n3904 สำหรับหลอดของเรา
  7. ตัวต้านทาน 10M โอห์มและอีก 10K
  8. คอนเดนเซอร์ ของ 470pf.
  9. สวิตซ์ สำหรับการปิดและเปิด
  10. Buzzer หรือลำโพงขนาดเล็ก
  11. แบตเตอรี่ AAA.

ในแง่ของส่วนประกอบแม้ว่าคุณจะต้องใช้ เครื่องมือ เช่นหัวแร้งสายไฟสำหรับข้อต่อบางตัว Arduino IDE เพื่อตั้งโปรแกรมบอร์ดแบตเตอรี่หรือแบตเตอรี่และกล่องที่กำหนดเองหากคุณต้องการป้องกันมิเตอร์ของคุณ หากคุณมีเครื่องพิมพ์ 3 มิติคุณสามารถสร้างกล่องพลาสติกแบบกำหนดเองได้

การก่อสร้างเคาน์เตอร์ Geiger ทีละขั้นตอน:

แผนภาพวงจรเคาน์เตอร์ Geiger

สิ่งต่อไปเมื่อคุณมีส่วนประกอบทั้งหมดแล้วก็คือการรวบรวมส่วนประกอบทั้งหมดของตัวต่อตามแผนภาพนี้ที่เรานำเสนอให้คุณ การติด มันค่อนข้างง่ายและไม่ต้องการคำอธิบายเพิ่มเติม มันเป็นเพียงการเชื่อมต่อองค์ประกอบทั้งหมดเช่นนี้ คุณสามารถทำได้ในหนึ่งเดียว โปรโตบอร์ด ก่อนที่จะทดสอบว่าทุกอย่างทำงานได้อย่างถูกต้องแล้วจึงดำเนินการประสานส่วนประกอบทั้งหมดเพื่อให้เป็นแบบถาวร

ขั้นตอน

ลอส ขั้นตอนในการปฏิบัติตาม พวกเขามีดังนี้:

  1. ด้วยมัลติมิเตอร์คุณสามารถทำได้ ปรับเทียบ แรงดันไฟฟ้า (ภาพที่ 1) ตัวอย่างเช่นหากคุณเลือกหลอด Geiger-Müller 410V คุณต้องปรับโพเทนชิออมิเตอร์ของโมดูล DC-DC เพื่อให้ทำงานที่แรงดันไฟฟ้านั้น
  2. จากนั้น จำกัด ตัวเองให้ ประสานหรือเข้าร่วมส่วนประกอบทั้งหมด ตามที่ปรากฏในแผนภาพก่อนหน้าเช่นเดียวกับภาพที่ 2
  3. คุณสามารถใช้ไฟล์ กล่องเพื่อป้องกัน ส่วนประกอบทั้งหมดหรือไม่
  4. เชื่อมต่อบอร์ด Arduino กับพีซีของคุณโดยใช้สาย USB และด้วย Arduino 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();
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////

วิธีตรวจสอบคือ ง่ายมาก (แม้ว่าจะดูยาวเพราะการตั้งค่าเหล่านั้นสำหรับการแสดงผล) คุณเพียงแค่ทำการแปลงจากแรงดันไฟฟ้าที่บอร์ด Arduino ได้รับเป็นชุดข้อมูลที่สามารถจับบนหน้าจอหรือจอแสดงผลได้

ถ้าทุกอย่างเป็นไปด้วยดีคุณควรจะได้เห็น ข้อมูลบนหน้าจอและเสียงรบกวน บนกริ่งเมื่อเผชิญหน้ากับตัวนับ Geiger ของคุณด้วยแหล่งกัมมันตภาพรังสี

Fuentes:

คำแนะนำ - DIY Arduino Geiger เคาน์เตอร์

การทำอาหาร - Geiger Counter: Radiation Sensor Board สำหรับ Arduino และ Raspberry Pi


2 ความคิดเห็นฝากของคุณ

แสดงความคิดเห็นของคุณ

อีเมล์ของคุณจะไม่ถูกเผยแพร่ ช่องที่ต้องการถูกทำเครื่องหมายด้วย *

*

*

  1. ผู้รับผิดชอบข้อมูล: Miguel ÁngelGatón
  2. วัตถุประสงค์ของข้อมูล: ควบคุมสแปมการจัดการความคิดเห็น
  3. ถูกต้องตามกฎหมาย: ความยินยอมของคุณ
  4. การสื่อสารข้อมูล: ข้อมูลจะไม่ถูกสื่อสารไปยังบุคคลที่สามยกเว้นตามข้อผูกพันทางกฎหมาย
  5. การจัดเก็บข้อมูล: ฐานข้อมูลที่โฮสต์โดย Occentus Networks (EU)
  6. สิทธิ์: คุณสามารถ จำกัด กู้คืนและลบข้อมูลของคุณได้ตลอดเวลา

  1.   Paola dijo

    สวัสดีฉันอยากจะทำกับ arduino uno และฉันก็สงสัยว่าจะมีอะไรเป็นแผนผังในการติดตั้งและจะมีอะไรเปลี่ยนแปลงอีกหรือไม่

    1.    ไอแซก dijo

      สวัสดี paola
      การเชื่อมต่อจะเหมือนกันใน ONE และคุณยังสามารถเปลี่ยนการเชื่อมต่อบางส่วนบนพินอื่น ๆ ได้หากต้องการสิ่งเดียวที่คุณควรเปลี่ยนรหัสของร่างเพื่อให้สอดคล้องกับที่คุณใส่ แต่ก็เหมือนกัน. เคารพการเชื่อมต่อ GND และ Vcc และส่วนที่เหลือก็อย่างที่บอกคุณสามารถใส่ไว้ในหมายเลขอื่นหรือในหมายเลขเดียวกันบนบอร์ดของคุณ ... (ใช่เคารพ I / O ดิจิตอลและอนาล็อกตามที่อยู่ใน Nano คณะกรรมการ)
      ทักทาย!