Около двух лет я живу в Петербурге. По мостовым и набережным города я гуляю и того больше, а местную легенду о том, что гранитные камни на них, радиоактивны настолько, что петербуржцы готовят на них шаверму, я слышу чуть ли не с самого рождения. Так ли они фонят на самом деле? В городе, вообще, можно найти хоть сколько-нибудь значимый уровень гамма-излучения? Чтобы это проверить, сегодня я покажу как за полчаса собрать дозиметр, с которым мы выясним, насколько городские легенды правдивы и что с этим делать. Давайте возьмем стеклянную трубку, через которую продета металлическая проволока. Теперь закачаем в эту трубку какой-нибудь инертный газ вместо воздуха и запаяем ее  так, чтобы конец проволоки торчал наружу, но трубка оставалась герметичной. Обернем эту трубку фольгой и подадим на нее и проволоку высокое напряжение постоянного тока. 230 вольт будет достаточно. После того, как напряжение подано, внутри трубки появится поле высокой напряженности, но из-за того что наш инертный газ (и стекло, кстати, тоже) - неплохой диэлектрик, ток никуда не потечет. Подождем, пока наш импровизированный конденсатор вдруг не начнет периодически пробивать, вопреки предположению из предыдущего абзаца. Причем, пробой будет происходить стабильно и ритмично. Когда фотон, который несет в себе достаточно энергии, пролетает через трубку, он передает ее газу внутри. Этот газ, после небольшой цепной реакции, на мгновение ионизируется и становится проводником. Ток, который больше ничего не сдерживает, начинает течь от проволоки к фольге, а напряжение между ними падает. Когда фотон перестает воздействовать на атомы газа, тот снова становится диэлектриком и ток течь перестает. И так, пока либо в трубке не закончится газ, либо вокруг нее фотоны. Именно так, уже без малого 100 лет, работает счетчик Гейгера-Мюллера, сделать который можно даже в гараже, если у вас есть трубка, фольга, электричество, и чуть-чуть инертного газа. Но это еще не дозиметр. Такой прибор всего лишь реагирует на каждую пролетевшую сквозь него частицу, а дозиметр показывает накопленную дозу радиации. Проще говоря, количество частиц, которые пролетели через него за единицу времени, в пересчете на какие-то понятные величины.  Чтобы дозиметр получился, нужно добавить к тому что мы сделали детектор пробоя и сумматор разрядов, реализовать подсчет скользящего среднего с алгоритмом обработки выбросов, привести показания к нужной шкале и нарисовать их на дисплее. Моя задача в том, чтобы выяснить, как там дела с гранитом у Медного Всадника, а не собрать еще один плохо сделанный DC-DC преобразователь напряжения вокруг очередной трубки СБМ из New Old Stock запасов из карманов Родины. Поэтому я пошел и купил готовый счетчик Гейгера, который уже умеет делать все подсчеты и коррекцию, и отдает нормализованные данные в I2C.  Теперь остается только быстренько прикрутить его к какому-нибудь контроллеру и прогуляться по улицам. Откровенно говоря, я бы и этим не стал заниматься, попадись мне готовый дозиметр с Wi-Fi и толковым веб-интерфейсом по вменяемой цене В качестве контроллера я взял ESP-8266 в виде отладочной платки NodeMCU. Он позволит мне сэкономить на дисплее, завязав все отображение данных и управление на простеньком web-интерфейсе, а его радиоактивная неустойчивость не является для меня проблемой: если вдруг выяснится что мой дозиметр отказал из-за высокого уровня гамма-излучения, сломанный дозиметр будет не самой главной моей проблемой. Про сборку рассказывать особо нечего: берем готовый модуль и прикручиваем его к другому готовому модулю, после чего пишем код на готовых библиотеках и смотрим на данные из браузера. Хорошая новость в том, что я не умру от радиации. Плохая - в том, что пользоваться этим прототипом можно только пока он лежит на столе. Наш дозиметр должен быть портативным, компактным и максимально простым. Поэтому ни дисплея, ни клавиш управления у него не будет, их заменит веб-интерфейс. Единственное требование к корпусу, это наличие каких-то отверстий. И то, не для того, чтобы трубка лучше воспринимала фотоны, которые и без дырок отлично пролетят через пластиковую стенку, а банально для охлаждения контроллера. После того, как корпус распечатан, упаковываем в него начинку и идем смотреть на набережные. Прикладываем коробочку к камню  и ждем положенные 8 минут. Это время нужно, потому что модуль со счетчиком Гейгера возвращает в качестве результатов измерения два параметра:  Интенсивность излучения (мкР/ч) c алгоритмом сильного усреднения, для точного измерения излучения за большой промежуток времени (500с). Интенсивность излучения (мкР/ч) c алгоритмом регистрации локальных источников и загрязнений с динамическим диапазоном времени расчета. Поскольку у нас MVP дозиметра, UI умеет показывать только данные с сильным усреднением и, если не выждать нужное время, данные не сойдутся с реальностью. Можно успеть выпить стаканчик кофе. Итак, миф не подтвержден, но и не разрушен.  С одной стороны, гранит действительно фонит, и это хорошо заметно на графике. Измерения начинают попадать в желтую зону сразу после того как дозиметр оказался на камне. С другой - фон не только попадает в допустимые значения, но и вообще считается безопасным, поскольку не превышает 60 мкР/ч. Ниже карта с местами, где я отметил значения, которые удалось измерить. Короче говоря, хоть сколько-нибудь опасного для человека фона я не нашел, сколько ни старался. Причем, циферки на желтом фоне я смог получить только вплотную приложив дозиметр к граниту. Уже в полуметре от них фон возвращается к привычным зеленым значениям. А вот что меня удивило, так это уровень фона в метро. Там он немного ниже, чем в среднем на поверхности. Первое, что сделало мои замеры сложнее, это необходимость стоять по 8 минут на одной точке на весеннем ветру, поэтому на UI дозиметра я добавил переключатель между режимами измерения. Второе - это сохранение измерений. До сих пор дозиметр никак не хранил показания, кроме как на экране пользователя, а кинуть коробку в рюкзак и пройтись по улицам хотелось. Поэтому я добавил буфер значений, который позволит записывать раз в пять минут и хранить результаты измерений в энергонезависимой памяти контроллера, а при загрузке странички, показывать их на том же графике. Получившийся дозиметр, как ему и положено, измеряет радиацию. У меня нет поверенного дозиметра, чтобы сверить их показания, как нет и стабильного источника гамма-излучения, чтобы проверить, действительно ли показания верны. Поэтому, все что мне остается, это верить показаниям и считать что они правдивы. Кроме этого, дозиметр умеет выступать в качестве точки доступа WiFi или работать в уже готовой сети. Чтобы посмотреть показания счетчика, достаточно пройти по ссылке http://ymeter.local внутри локальной сети После того, как страничка откроется, на ней будут текущие показания радиоактивного фона и график измерений за последние несколько часов с отрезками по пять минут, после чего раз в секунду будет отрисовываться новое полученное от трубки значение Чтобы настроить работу дозиметра в сети, придется сходить по адресу к которой можно подключаться по адресу http://ymeter.local:8080/ Разумеется, большую часть времени, счетчик радиации стоит дома на полочке и показывает домашний умеренный фон. И, поскольку дома я держу настроенный Home Assistant, сложно было удержаться от еще одной интеграции.   - platform: rest    resource: http://192.168.0.63/statistic    name: Y Sensor    unit_of_measurement: " uR/h"    value_template: "{{ value_json['staticIntensity'] }}"  Ниже я оставлю набор ссылок на все, что может потребоваться, чтобы собрать такое же устройство у себя дома Готовый счетчик Гейгера-Мюллера от RadSense (не реклама). Node MCU. STL модельки корпуса. Исходный код прошивки вместе с UI. Библиотечка от авторов модуля для быстрого прикручивания его к AVR/ARM контроллерам. Я действительно написал прошивку не в Arduino IDE, а в Platform.IO, которая позволяет получить все то же самое, но использует другой компилятор и может интегрироваться в Clion или VsCode. Но код, который получился в итоге, отлично может быть скомпилирован и из Arduino IDE, куда его придется перенести. Конечно, я мог пойти и купить готовый дозиметр любого класса точности, даже поверенный и сертифицированный. Моей задачей было прогуляться по городу и хорошо провести время за развенчиванием милой городской легенды, и я очень люблю DIY. А еще, хобби - это увлекательно.  Разработчик