Mục lục:
- Bước 1: Công cụ và bộ phận
- Bước 2: Lắp ráp bộ đếm Geiger của bạn
- Bước 3: Kiểm tra bằng điện bộ đếm Geiger
- Bước 4: Đấu dây
- Bước 5: Mã
- Bước 6: Serial.println Vs Serial.print
- Bước 7: Đo bức xạ nền J305
- Bước 8: Đo bức xạ cảm biến khói J305
- Bước 9: SBM-20
- Bước 10: Đấu dây bộ đếm Geiger với màn hình LCD
- Bước 11: Bộ đếm Geiger với màn hình LCD
- Bước 12: Tập tin
Video: Arduino DIY Geiger Counter: 12 bước (có hình ảnh)
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:34
Vì vậy, bạn đã đặt hàng một bộ đếm Geiger DIY và bạn muốn kết nối nó với Arduino của mình. Bạn tiếp tục và cố gắng sao chép cách những người khác đã kết nối bộ đếm Geiger của họ với Arduino chỉ để tìm ra điều gì đó không ổn. Mặc dù bộ đếm Geiger của bạn có vẻ như không hoạt động như được mô tả trong phần Tự làm mà bạn đang làm theo khi bạn kết nối bộ đếm Geiger với Arduino.
Trong phần Có thể hướng dẫn này, tôi sẽ trình bày cách khắc phục một số trục trặc này.
Nhớ lại; lắp ráp và viết mã Arduino từng bước một, nếu bạn đi thẳng đến một dự án đã hoàn thành và có một dây hoặc dòng mã bị thiếu, bạn có thể mất mãi mãi để tìm ra vấn đề.
Bước 1: Công cụ và bộ phận
Hộp nguyên mẫu Tôi đã sử dụng một hộp kẹo Ferrero Rocher.
Breadboard nhỏ
LCD 16x2
Bo mạch Arduino ether a UNO hoặc Nano
Điện trở 220 Ω
Điện trở điều chỉnh nồi 10 kΩ.
Bộ đếm Geiger DIY
Dây nhảy
Đầu nối hoặc dây nịt pin
Máy hiện sóng
Kìm mũi tốt
Tuốc nơ vít tiêu chuẩn nhỏ
Bước 2: Lắp ráp bộ đếm Geiger của bạn
Bất kỳ thiệt hại nào đối với Ống Geiger của bạn; và bộ đếm Geiger của bạn sẽ không hoạt động, vì vậy hãy sử dụng nắp acrylic bảo vệ để tránh làm hỏng ống Geiger của bạn.
Tài liệu hướng dẫn này là về cách tôi sửa chữa cùng một bộ đếm Geiger với một ống Geiger bị hỏng và lắp nắp acrylic bảo vệ để tránh bị vỡ trong tương lai.
www.instructables.com/id/Repairing-a-DIY-G…
Bước 3: Kiểm tra bằng điện bộ đếm Geiger
Đầu tiên sử dụng điện áp phù hợp với nguồn điện; dây USB cung cấp 5 volt DC ngay từ máy tính của bạn, tuy nhiên giá đỡ 3 pin AA dành cho pin kiềm 1,5 volt tạo ra tổng điện áp là 4,5 volt. Nếu bạn sử dụng pin NI-Cd hoặc NI-MH có thể sạc lại 1,2 volt, bạn sẽ cần một giá đỡ pin 4 AA cho tổng điện áp là 4,8 volt. Nếu bạn sử dụng ít hơn 4,5 vôn, bộ đếm Geiger có thể không hoạt động như bình thường.
Có rất ít mạch trên đầu ra của bộ đếm Geiger; Vì vậy, miễn là loa phát ra âm thanh tích tắc và đèn LED nhấp nháy, bạn sẽ nhận được tín hiệu trên chân VIN.
Để chắc chắn về tín hiệu đầu ra; kết nối máy hiện sóng với đầu ra bằng cách nối mặt dương của đầu dò máy hiện sóng với VIN và mặt âm của đầu dò máy hiện sóng với mặt đất.
Thay vì chỉ chờ bức xạ nền để kích hoạt bộ đếm Geiger, tôi đã sử dụng americium-241 từ buồng ion của máy dò khói để tăng phản ứng của bộ đếm Geiger. Đầu ra của bộ đếm Geiger bắt đầu ở +3 volt và giảm xuống 0 volt mỗi khi ống Geiger phản ứng với các hạt alpha và trở về +3 volt một lúc sau đó. Đây là tín hiệu bạn sẽ ghi bằng Arduino.
Bước 4: Đấu dây
Có hai cách để bạn có thể kết nối bộ đếm Geiger với Arduino và máy tính của bạn.
Kết nối GND trên Arduino với GND trên bộ đếm Geiger.
Kết nối 5V trên Arduino với 5V trên bộ đếm Geiger.
Kết nối số VIN trên bộ đếm Geiger với D2 trên Arduino.
Với nguồn điện độc lập kết nối với bộ đếm Geiger.
Kết nối GND trên Arduino với GND trên bộ đếm Geiger.
Kết nối số VIN trên bộ đếm Geiger với D2 trên Arduino.
Kết nối Arduino với máy tính của bạn.
Bước 5: Mã
Mở Arduino IDE và tải mã.
// Sketch này đếm số xung một phút.
// Kết nối GND trên Arduino với GND trên bộ đếm Geiger.
// Kết nối 5V trên Arduino với 5V trên bộ đếm Geiger.
// Kết nối số VIN trên bộ đếm Geiger với D2 trên Arduino.
đếm dài không dấu; // biến cho các sự kiện GM Tube
unsigned long trước đóMillis; // biến để đo thời gian
void xung () {// dipanggil setiap ada sinyal FALLING di pin 2
số đếm ++;
}
#define LOG_PERIOD 60000 // tỷ lệ đếm
void setup () {// setup
số đếm = 0;
Serial.begin (9600);
pinMode (2, INPUT);
mountInterrupt (digitalPinToInterrupt (2), xung động, FALLING); // xác định ngắt bên ngoài
Serial.println ("Bộ đếm bắt đầu");
}
void loop () {// chu trình chính
unsigned long currentMillis = millis ();
if (currentMillis - beforeMillis> LOG_PERIOD) {
beforeMillis = currentMillis;
Serial.println (số lượng);
số đếm = 0;
}
}
Trong Công cụ, chọn Arduino hoặc bảng khác mà bạn đang sử dụng.
Trong Tools, chọn Port và Com
Tải lên mã.
Sau khi mã được tải lên trong Tools, hãy chọn Serial Monitor và xem bộ đếm Geiger của bạn hoạt động.
Tìm kiếm trục trặc. Điều duy nhất về mã này là nó hơi tẻ nhạt, bạn phải đợi 1 phút cho mỗi lần đếm.
Bước 6: Serial.println Vs Serial.print
Đây là một trong những trục trặc đầu tiên tôi tìm thấy trong mã; vì vậy hãy xem nó trong mã của bạn, “Serial.println (cpm);” và “Serial.print (cpm);”.
Serial.println (cpm); sẽ in mỗi số đếm trên dòng riêng của nó.
Serial.print (cpm); sẽ trông giống như một số lớn in mỗi số đếm trên cùng một dòng khiến không thể phân biệt số đếm là bao nhiêu.
Bước 7: Đo bức xạ nền J305
Đầu tiên là đo bức xạ phông, bức xạ tự nhiên đã tồn tại một cách tự nhiên. Con số được liệt kê là CPM (đếm mỗi phút), là tổng số hạt phóng xạ đo được mỗi phút.
Tổng số trung bình trong nền J305 là 15,6 CPM.
Bước 8: Đo bức xạ cảm biến khói J305
Không có gì lạ khi máy đếm Geiger liên tục cung cấp cho bạn cùng một số đếm, vì vậy hãy kiểm tra nó bằng nguồn bức xạ. Tôi đã sử dụng phép đo bức xạ từ Americium một buồng ion từ máy dò khói. Cảm biến khói sử dụng Americium làm nguồn hạt alpha ion hóa các hạt khói trong không khí. Tôi đã tháo nắp kim loại trên cảm biến để các hạt alpha và beta có thể đi đến ống Geiger cùng với các hạt gamma.
Nếu mọi thứ đều ổn thì số lượng sẽ thay đổi.
Americium-241 từ một thiết bị phát hiện khói, số lượng ion trung bình trong buồng là 519 CPM.
Bước 9: SBM-20
Bản phác thảo Arduino này là phiên bản sửa đổi được viết bởi Alex Boguslavsky.
Sketch này đếm số lượng xung trong 15 giây và chuyển nó thành số đếm mỗi phút làm cho nó ít tẻ nhạt hơn.
Mã Tôi đã thêm “Serial.println (" Bắt đầu bộ đếm ");".
Mã tôi đã thay đổi; “Serial.print (cpm);” thành “Serial.println (cpm);”.
“#Define LOG_PERIOD 15000”; đặt thời gian đếm thành 15 giây, tôi đã đổi thành “#define LOG_PERIOD 5000” hoặc 5 giây. Tôi không tìm thấy sự khác biệt đáng kể nào về mức trung bình giữa việc đếm trong 1 phút hoặc 15 giây và 5 giây.
#bao gồm
#define LOG_PERIOD 15000 // Khoảng thời gian ghi nhật ký tính bằng mili giây, giá trị được đề xuất 15000-60000.
#define MAX_PERIOD 60000 // Khoảng thời gian ghi nhật ký tối đa mà không sửa đổi bản phác thảo này
đếm dài không dấu; // biến cho các sự kiện GM Tube
cpm dài không dấu; // biến cho CPM
số nhân int không dấu; // biến để tính toán CPM trong bản phác thảo này
unsigned long trước đóMillis; // biến để đo thời gian
void tube_impulse () {// quy trình con để ghi lại các sự kiện từ Geiger Kit
số đếm ++;
}
void setup () {// setup subprocedure
số đếm = 0;
cpm = 0;
số nhân = MAX_PERIOD / LOG_PERIOD; // tính toán hệ số, phụ thuộc vào chu kỳ nhật ký của bạn
Serial.begin (9600);
mountInterrupt (0, tube_impulse, FALLING); // xác định ngắt bên ngoài
Serial.println ("Bộ đếm bắt đầu"); // mã tôi đã thêm
}
void loop () {// chu trình chính
unsigned long currentMillis = millis ();
if (currentMillis - beforeMillis> LOG_PERIOD) {
beforeMillis = currentMillis;
cpm = số đếm * số nhân;
Serial.println (cpm); // mã tôi đã thay đổi
số đếm = 0;
}
}
Tổng số trung bình nền SBM-20 là 23,4 CPM.
Bước 10: Đấu dây bộ đếm Geiger với màn hình LCD
Kết nối LCD:
Chân LCD K sang GND
LCD A chân điện trở 220 Ω thành Vcc
Chân LCD D7 sang chân kỹ thuật số 3
Chân LCD D6 đến chân kỹ thuật số 5
Chân LCD D5 sang chân kỹ thuật số 6
Chân LCD D4 đến chân kỹ thuật số 7
LCD Bật ghim sang chân kỹ thuật số 8
LCD R / W chân tiếp đất
Chân LCD RS đến chân kỹ thuật số 9
Chân LCD VO để điều chỉnh nồi 10 kΩ
Pin Vcc LCD sang Vcc
Pin Vdd LCD sang GND
Điện trở điều chỉnh nồi 10 kΩ.
Vcc, Vo, Vdd
Máy đo bức xạ
VIN đến chân số 2
5 V đến + 5V
GND xuống đất
Bước 11: Bộ đếm Geiger với màn hình LCD
// bao gồm mã thư viện:
#bao gồm
#bao gồm
#define LOG_PERIOD 15000 // Khoảng thời gian ghi nhật ký tính bằng mili giây, giá trị được đề xuất 15000-60000.
#define MAX_PERIOD 60000 // Khoảng thời gian ghi nhật ký tối đa mà không sửa đổi bản phác thảo này
#define PERIOD 60000.0 // (60 giây) khoảng thời gian đo một phút
CNT dài chưa ký biến động; // biến để đếm các ngắt từ liều kế
đếm dài không dấu; // biến cho các sự kiện GM Tube
cpm dài không dấu; // biến cho CPM
số nhân int không dấu; // biến để tính toán CPM trong bản phác thảo này
unsigned long trước đóMillis; // biến để đo thời gian
dispPeriod dài không dấu; // biến để đo thời gian
CPM dài không dấu; // biến để đo CPM
// khởi tạo thư viện với số lượng các chân giao diện
Màn hình LCD LiquidCrystal (9, 8, 7, 6, 5, 3);
void setup () {// setup
lcd.begin (16, 2);
CNT = 0;
CPM = 0;
dispPeriod = 0;
lcd.setCursor (0, 0);
lcd.print ("RH Electronics");
lcd.setCursor (0, 1);
lcd.print ("Bộ đếm Geiger");
chậm trễ (2000);
cleanDisplay ();
mountInterrupt (0, GetEvent, FALLING); // Sự kiện trên pin 2
}
void loop () {
lcd.setCursor (0, 0); // in văn bản và CNT trên màn hình LCD
lcd.print ("CPM:");
lcd.setCursor (0, 1);
lcd.print ("CNT:");
lcd.setCursor (5, 1);
lcd.print (CNT);
if (millis ()> = dispPeriod + PERIOD) {// Nếu hết một phút
cleanDisplay (); // Xóa màn hình LCD
// Làm điều gì đó về các sự kiện CNT đã tích lũy….
lcd.setCursor (5, 0);
CPM = CNT;
lcd.print (CPM); // Hiển thị CPM
CNT = 0;
dispPeriod = millis ();
}
}
void GetEvent () {// Nhận sự kiện từ thiết bị
CNT ++;
}
void cleanDisplay () {// Xóa quy trình LCD
lcd.clear ();
lcd.setCursor (0, 0);
lcd.setCursor (0, 0);
}
Bước 12: Tập tin
Tải xuống và cài đặt các tệp này vào Arduino của bạn.
Đặt mỗi tệp.ino vào một thư mục có cùng tên.
Đề xuất:
Máy ảnh hồng ngoại hình ảnh nhiệt tự làm: 3 bước (có hình ảnh)
Máy ảnh hồng ngoại hình ảnh nhiệt tự làm: Xin chào! Tôi luôn tìm kiếm các Dự án mới cho các bài học vật lý của mình. Hai năm trước, tôi đã xem một báo cáo về cảm biến nhiệt MLX90614 từ Melexis. Loại tốt nhất chỉ với 5 ° FOV (trường nhìn) sẽ phù hợp với máy ảnh nhiệt tự chế
Tự làm cảm biến hình ảnh và máy ảnh kỹ thuật số: 14 bước (có hình ảnh)
Tự làm cảm biến hình ảnh và máy ảnh kỹ thuật số: Có rất nhiều hướng dẫn trực tuyến về cách xây dựng máy ảnh phim của riêng bạn, nhưng tôi không nghĩ rằng có bất kỳ hướng dẫn nào về việc xây dựng cảm biến hình ảnh của riêng bạn! Cảm biến hình ảnh có sẵn từ rất nhiều công ty trực tuyến và việc sử dụng chúng sẽ giúp thiết kế
Tự làm bộ đếm Geiger với ESP8266 và màn hình cảm ứng: 4 bước (có hình ảnh)
Bộ đếm Geiger TỰ LÀM Với ESP8266 và Màn hình cảm ứng: CẬP NHẬT: PHIÊN BẢN MỚI VÀ CẢI TIẾN VỚI WIFI VÀ CÁC TÍNH NĂNG BỔ SUNG KHÁC TẠI ĐÂY Tôi đã thiết kế và chế tạo Bộ đếm Geiger - một thiết bị có thể phát hiện bức xạ ion hóa và cảnh báo người dùng về mức bức xạ xung quanh nguy hiểm với tất cả- quá quen thuộc khi nhấp không
Arduino Uno: Hình ảnh động bitmap trên Tấm chắn hiển thị màn hình cảm ứng TFT ILI9341 Với Visuino: 12 bước (có Hình ảnh)
Arduino Uno: Ảnh động bitmap trên Tấm chắn hiển thị màn hình cảm ứng TFT ILI9341 Với Tấm chắn màn hình cảm ứng TFT dựa trên Visuino: ILI9341 là Tấm chắn hiển thị chi phí thấp rất phổ biến cho Arduino. Visuino đã hỗ trợ chúng trong một thời gian khá dài, nhưng tôi chưa bao giờ có cơ hội viết Hướng dẫn về cách sử dụng chúng. Tuy nhiên, gần đây có rất ít người hỏi
Ánh sáng video thân mật / Ánh sáng chụp ảnh cầm tay: 7 bước (với hình ảnh)
Ánh sáng video thân mật / Ánh sáng chụp ảnh cầm tay: Tôi biết bạn đang nghĩ gì. Bằng cách " thân mật, " Ý tôi là chiếu sáng cận cảnh trong các tình huống ánh sáng khó - không nhất thiết dành cho " các tình huống thân mật. &Quot; (Tuy nhiên, nó cũng có thể được sử dụng cho việc đó …) Là một nhà quay phim thành phố New York - hoặc