У меня есть устройство, которое измеряет радиацию, используя Elegoo Uno (торговая марка Arduino) и радиационный монитор RM-60 от Aware Electronics.У меня это работало почти полтора года как часть высокогорного аэростата в моем университете.Я в настоящее время пересматриваю это, поскольку теперь я хочу понять и очистить мой код.
Установка идет следующим образом: RM-60 имеет четыре провода.Желтый и черный выходят на землю, красный - на мои 5 В, а зеленый - на мой выход (дополнительную документацию можно найти в Интернете).
У меня есть пин-код, подключенный к цифре 2. Я прочитал онлайн-штырьки 2& 3 может использовать attachInterrputs для Uno.Но по любой причине установка моего pinMode () в 2 не будет работать.Я обнаружил, что когда я установил свой вывод на 8, с моим фактическим проводом, подключенным к цифровому 2, я могу прочитать его хорошо.
Это то, что я запутался.Я почувствовал, что, узнав, как работают эти материалы, я все делаю правильно.Но это не работает.Так почему же, когда мой вывод установлен на 8, устройство работает правильно?Если я делаю это неправильно (или неэффективно), какие советы или советы вы можете дать мне о том, как оптимизировать / исправить это?
У меня есть мой предыдущий код, скомпилированный и протестированный почти два года назад.Это работает как есть, но я просто не понимаю, почему.Я искал в Интернете подобные проекты, так как несколько аэростатов по всему миру использовали RM-60 для измерения радиации.После их расположения контактов и программы у меня не получилось.
//this is taking just the necessary lines to run the geigercounter.
//using geigerPin 8, it works. But why not when I change this to 2, where my
//wire actually is?
int count;
int geigerPin = 8;
int testVar = 0;
void setup() {
Serial.begin(9600);
pinMode(geigerPin, OUTPUT);
attachInterrupt(0, test, RISING);
}
void loop() {
// put your main code here, to run repeatedly:
Serial.println(count * 6);
count = 0;
delay(10000);
}
void test() {
count++;
}
Данные считываются обратно на последовательный монитор каждые 10 секунд.Возвращаемый результат должен быть счетом в течение десяти секунд, умноженным на 6, чтобы получить отсчет в минуту.