Freigeben über


Быстрая разработка на основе Netduino

Грег Дункан

Недавно получил небольшой кусочек аппаратного удовольствия. Есть что-то при написании кода, взаимодействующего с «реальным миром», что кажется слишком крутым. Тогда, конечно, сложно сбиться с пути, указываемому игрой Fallout (радиоактивные осадки)… clip_image002

Сегодняшнее сообщение пришло от Фабьена Ройера (Fabien Royer) и называется «Создание счетчика Гейгера с выходом в Твиттер на основе Netduino+». Именно, чирикающий счетчик Гейгера…

ОбъединениесчетчикаГейгерасNetduino

В конце концов, я обнаружил, что магазин Electronic Goldmine продает скелетный набор для макетирования детектора радиации по вполне пристойной цене. Сразу, в то время как в интернете множество предложений только по счетчикам Гейгера, и это замечательно!

clip_image004

Мне только оставалось придумать способ подсчета импульсов от датчика. Решение, к которому я пришел, было простым: в набор входит светодиод, который вспыхивает, когда счетчиком Гейгера-Мюллера регистрируется импульс. Если бы я смог снять каждый импульс и сгенерировать прерывание, то было бы легко их подсчитать.

...

Элемент Твиттера…

Соединение с Твиттером

Время от времени, приложение передает данные в Твиттер:

clip_image006

Чтобы добиться этого я использовал библиотеку MicroTweet Мэтта Айзехауэра (Matt Isenhower)…

Складываем все в коробку...

Корпус

Выбранный мною корпус для этого проекта сделан из тонкого светлого дерева, прекрасно подходящего для покраски и украшения. Дно ящика настолько тонкое, что мешает использованию стоек и винтов для безопасности электроники. Я использовал полоски-липучки, которые прекрасно подошли: все части были плотно зафиксированы на своих местах, и в то же время, их можно было легко удалить при необходимости:

clip_image008

clip_image010

Последним штрихом для корпуса стало использование темы игры Fallout 3, любезно предоставленной Bethesda for Fallout New Vegas. Если вы геймер, то, возможно, знакомы со вселенной Fallout, где выживание персонажей зависит от носимых компьютеров, PIP Boy 3000, которые отличает наличие счетчиков Гейгера. Будучи большим энтузиастом Fallout, я отдаю дань игре посредством этого проекта…

Давайте взглянем на код PIP Boy 3000, который размещен как образец на сайте проекта netduino Helpers.

 public static void Main() {

           //Debug.EnableGCMessages(true);

 InitializeLCDScreen();
           InitializeResources();
           
           HelloWasteland();

           var geigerCounter = new GeigerCounter(Pins.GPIO_PIN_D7, Stats);
           geigerCounter.Start();

           while (true) {
               Thread.Sleep(1000);

               Trace.Print("Rnd=" + geigerCounter.GetRandomNumber().ToString());

               if(_updateLCD){
                   _updateLCD = false;
                   WriteLCD(LcdCommandClearScreen + _cpm10Seconds);
               }

               if(_updateTwitter) {
                   _updateTwitter = false;

                   if (_cpmPreviousAverage != _cpmAverage) {
                       _cpmPreviousAverage = _cpmAverage;

                       Text.Clear();
                       Text.Add(GetUtcTimestamp());
                       Text.Add(",Lat=" + _latitude);
                       Text.Add(",Long=" + _longitude);
                       Text.Add(",Rnd=" + geigerCounter.GetRandomNumber());
                       Text.Add(",AverageCPM(Hour)=" + _cpmAverage);

                       TwitterStatusUpdate(Text);
                   }
               }
           }
       }

Вам понравится название метода HelloWasteLand (Здравствуй, пустошь)

clip_image012

Кстати, если я не говорил о проекте netduino Helpers, то должен это сделать. Этот проект, возможно, заслуживает отдельного сообщения, но в свое время. Если вы разрабатываете на базе Netduino, то должны познакомиться с ним.

Вот сам Helper;

clip_image014

И снимок включенных примеров;

clip_image016

И наконец, это еще один замечательный пример объединения реального и виртуального миров с помощью Net и Netduino...

Несколько ссылок, которые могут быть интересны: