Paso 4: programa de
Copia pega el siguiente código en el programa de Arduino:Nota: Necesita tener el RX y TX desconectado de la Arduino a programar
Para programar un Arduino Mini Pro con un Arduino UNO siga este enlace
Contador Geiger
Eric Bookless
//
Introducción
//
Utiliza un contador de Geiger de Sparkfun para medir la radiación y la convierte en cuentas
por minuto. Las cuentas calculadas por minuto se muestra en una pantalla LCD.
Cada cuenta está registrada con una señal audible y visual mediante el uso de un
altavoz piezoeléctrico y un LED.
//
Configuración:
//
-Conecte el LED y piezo altavoz a los pines 9 y 8 respectivamente
-Fijar los pines RX, GND y VDD de la pantalla a los pines 2, GND y VCC en
el Arduino.
-Fije el contador Geiger a la fuente de poder pines VCC y GND y conecte el
Pin de TX al pin RX en Arduino
//
#include < SoftwareSerial.h >
int i;
int cuenta;
int edad = -1;
int comprobar;
flotador de CPM;
flotan ahora;
tiempo de flotación;
int comienzo;
piezoeléctrico de int = 8;
int led = 9;
char OnesString [10];
char DecimalString [10];
char TimerString [10];
MySerial SoftwareSerial (3, 2);
void setup() {}
pinMode (piezo, salida);
pinMode (led, salida);
Serial.Begin(9600);
mySerial.begin(9600);
Delay(500);
mySerial.write(254); mover el cursor al principio de la primera línea
mySerial.write(128);
mySerial.write(""); borrar pantalla
mySerial.write("");
}
void loop() {}
i = 0;
cuenta = 0;
Start = millis();
mientras (i < 30) {}
digitalWrite (led, baja);
digitalWrite (piezo, LOW);
Si (Serial.available() > 0) {/ / si información disponible
comprobar = Serial.read(); Leer entrada serial
Si (control > 0) {}
cuenta ++; Si es un contador de visitas, incremento
digitalWrite (piezo, HIGH); Hace sount audible cuando hay un golpe
digitalWrite (led, alto); Parpadea el LED cuando hay un golpe
}
}
i = millis();
i = i - start;
i = i / 1000;
sprintf (TimerString, "% 2d", 30-i);
mySerial.write(254); cursor a la posición 7 en segunda línea
mySerial.write(192);
mySerial.write(TimerString);
}
CPM = count * 2;
viejo = cuenta; Restablece la instrucción 'if'
int cpm = CPM;
int temp = CPM * 1000;
int decimal = % temp (cpm * 1000);
sprintf (OnesString, "% 3d", cpm);
mySerial.write(254); Pantallas CPM
mySerial.write(128);
mySerial.write ("CPM:");
mySerial.write(OnesString);
}