Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Хэллоуин приближается. Пугание, безопасное хэллоуиновское пугание, людям оно нравится. C# и Netduino тоже нравится.
Давайте объединим всё вместе…
Хэллоуин – пневматический выпрыгивающий скелет
Это мой первый проект на Netduino. Я собрал выпрыгивающий скелет и управлял им с помощью старого оборудования X10. Можно увидеть эту стадию в действии на этом видео. Но мне хотелось добавить сверкающие глаза на светодиодах и, возможно, некоторые звуки. Для этого я выписал Netduino+ пару недель назад.
Пока у меня есть следующие рабочие функции:
- Настройка Netduino для работы в качестве веб-сервера. Ничего особенного, одна страница с единственной кнопкой, запускающей цикл выпрыгивания. Я собирался использовать планшет Android в Хэллоуин чтобы пугать проходящих мимо людей.
- Цикл включает следующие шаги
- A. Подача сигнала внешней плате с реле используя линию цифрового ввода/вывода #2 в течении 2 секунд. Внешняя плата с реле подает переменное напряжение 24 В на автоматический клапан. Клапан позволяет сжатому воздуху от компрессора попасть в модифицированное устройство для закрывания двери.
- B. Мигание светодиодными глазами используя линии цифрового ввода/вывода #0 и #1 в течении 8 секунд.
- C. Я планировал добавить подсветку скелета и проигрывание записи смеха.
- Каждую минуту, когда цикл не работает, глаза мерцают с несколькими разными режимами.
На этом видео можно наблюдать мерцающие глаза.
Небольшой фрагмент кода:
private static void PopupSkeletonThreadFunction()
{
DateTime beginTime = DateTime.Now;
DateTime endAirActionTime = DateTime.Now;
DateTime endTime = DateTime.Now;
while (true)
{
if (m_BeginPopupSkeletonCycle)
{
m_PopupCycleRunning = true;
m_BeginPopupSkeletonCycle = false;
beginTime = DateTime.Now;
endTime = beginTime.AddSeconds(8);
endAirActionTime = beginTime.AddSeconds(2);
airAction.Write(false);
}
if (DateTime.Now <= endTime)
{
EyesAlternateFlash(500);
if (DateTime.Now >= endAirActionTime)
{
airAction.Write(true);
}
}
else
{
m_PopupCycleRunning = false;
Thread.Sleep(500);
}
}
}
Если вы ищете прикольный проект для Хэллоуина…(или может быть этот натолкнет вас на размышления, как и меня. Что если добавить в такой проект Kinect для Windows SDK…хм…)
Вот несколько ссылок, которые могут оказаться интересными: