Cientificosaficionados.com

Los foros de los científicos aficionados de la red.
Fecha actual Vie Ago 14, 2020 6:58 am

Todos los horarios son UTC [ DST ]




Nuevo tema Responder al tema  [ 4 mensajes ] 
Autor Mensaje
NotaPublicado: Sab Sep 14, 2019 1:38 pm 
Desconectado
Avatar de Usuario

Registrado: Lun Mar 29, 2010 10:47 am
Mensajes: 1969
País: España
Ciudad: Alcorcón Madrid
No hace mucho me compré este detector de partículas beta y gamma:

https://www.banggood.com/Assembled-DIY- ... rehouse=CN

La idea es montarlo en una caja con un LCD, arduino y demás accesorios.

Así es como ha quedado:

https://youtu.be/ELFS8ULrKrA

Este es el programa:

Citar:

#include <LiquidCrystal.h> //LCD Library

volatile unsigned long C0 = 0; //contador clics
unsigned int C[5] = {0, 0, 0, 0, 0}; //array subcontadores
float minutos;
float cpm;
float media; //CPS
byte i = 0;
unsigned long willis; //millis en ese momento

LiquidCrystal lcd(12, 11, 6, 5, 4, 3);

void setup() {
pinMode(2, INPUT); //pin 2 = interrupción 0
pinMode(7, INPUT); //bajo = CPS alto = CPM
attachInterrupt(0, pulso, FALLING); //0 = pin 2
lcd.begin(20, 4);
}

void loop() {
willis = millis();
while (digitalRead(7) == HIGH) {
  lcd.clear();
  lcd.setCursor(0, 0);
  lcd.print("CPM = ");
  minutos = (millis() - willis) / 60000.0;
  cpm = C0 / minutos;
  lcd.print(cpm);
  lcd.setCursor(0, 1);
  lcd.print(cpm / 168.42);
  lcd.print(" uSv/h");
  lcd.setCursor(0, 2);
  lcd.print(cpm / 1.68 , 1);
  lcd.print(" urem/h");
  lcd.setCursor(0, 3);
  lcd.print("Tiempo = ");
  lcd.print(minutos, 0);
  lcd.print(" minutos");
  delay(500);
}

while (digitalRead(7) == LOW) {
    C0 = 0;
    delay (1000);
    C[i] = C0;
    media = (C[0] + C[1] + C[2] + C[3] + C[4]) / 5.0;
    lcd.clear();
    lcd.setCursor(0, 0);
    lcd.print("CPS = ");
    lcd.print(media, 1);
    lcd.setCursor(0, 1);
    lcd.print(media / 2.81);
    lcd.print(" uSv/h");
    lcd.setCursor(0, 2);
    lcd.print(media / 0.028 , 1);
    lcd.print(" urem/h");
    lcd.setCursor(0, 3);
    lcd.print("Media 5 segundos");
    i++;
    if (i == 5) i = 0;

i = 0;
C[1] = 0; C[2] = 0; C[3] = 0; C[4] = 0;
  
}

void pulso() {
C0 ++;
}


_________________
Qué bien y qué pronto, le dijo la tonta al tonto.


Arriba
 Perfil  
 
NotaPublicado: Sab Sep 14, 2019 5:48 pm 
Desconectado
Site Admin
Avatar de Usuario

Registrado: Mié Feb 25, 2004 9:30 am
Mensajes: 3680
Ubicación: Madrid / España
Muy interesante.
salud!!


Arriba
 Perfil  
 
NotaPublicado: Dom Sep 15, 2019 12:18 pm 
Desconectado
Avatar de Usuario

Registrado: Lun Dic 17, 2007 10:59 pm
Mensajes: 2013
Ubicación: Oviedo Asturias
Si señor. Muy bien
Un saludo

_________________
Mi humilde rincon web

http://sites.google.com/site/skygaps/


Arriba
 Perfil  
 
NotaPublicado: Dom Sep 15, 2019 5:44 pm 
Desconectado
Avatar de Usuario

Registrado: Dom Feb 11, 2007 10:16 pm
Mensajes: 4905
Ubicación: Islas Baleares, España
Un proyecto bien realizado hasta en los detalles, lo cual no suele ser frecuente. Enhorabuena.

_________________
La VIDA sólo es energía que ha aprendido a defenderse... (Anilandro)

*** La Web de Anilandro *** http://sites.google.com/site/anilandro


Arriba
 Perfil  
 
Mostrar mensajes previos:  Ordenar por  
Nuevo tema Responder al tema  [ 4 mensajes ] 

Todos los horarios son UTC [ DST ]


¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 4 invitados


No puede abrir nuevos temas en este Foro
No puede responder a temas en este Foro
No puede editar sus mensajes en este Foro
No puede borrar sus mensajes en este Foro

Buscar:
Desarrollado por phpBB® Forum Software © phpBB Group
Traducción al español por Huan Manwë para phpbb-es.com