Stationeers: Система предупреждения о шторме

Я разработал систему оповещения о приближении шторма с красочным/пафосным оповещением. В данном руководстве я подробно опишу что нужно сделать и приложу копию своего кода для микропроцессора.

 

Что нам нужно?

1. Метеостанция
2. Провода
3. Сокет
4. Микропроцессор
5. Компьютер
6. Материнская плата для программирования
7. ЖК дисплей 2штуки
8. Мигающая лампочка
9. Громкоговоритель

Как выглядит схема?

Все очень просто, соединяем все друг с другом. На данном скриншоте показан принцип соединения, когда “НАПРЯЖЕНИЕ” и “ЛОГИКА” идет по одному кабелю. Естественно, если хотите максимальный перфекционизм, то можете “ЛОГИКУ” проложить отдельно и “НАПРЯЖЕНИЕ” отдельно, будьте внимательны!

Естественно это все подключаем в метеостанцию

Важная и не очевидная подстава! После того, как соберете всю схему, обязательно проверьте, включена ли метеостанция! Она может выключится, когда вы прокладывали кабель и при прокладке кабеля мог произойти разрыв цепи!

Что по коду и как это все работает?

Опишу принцип работы нашей системы.
Метеостанция имеет несколько режимов работы:
0 – шторма нет
1 – шторм приближается
2 – шторм идет

Соответственно я соединил режимы работы метеостанции с ЖК дисплеями, Громкоговорителями и Мигающей лампой.

У громкоговорителя есть КУУУУЧА режимов работы, которые можно использовать. Он может воспроизводить 12 различных сигналов тревоги, три мелодии и 30 голосовых сообщений. С каждым режимом работы вы можете ознакомится лично на ВИКИ[stationeers.fandom.com]

Что я сделал?
Я подключил два ЖК дисплея. Когда шторма нет, они показывают что шторма нет))) Очевидно же)))
Когда шторм приближается ЖК дисплей показывает это
И начинается магия, а именно:
1. Включается таймер и начинается обратный отсчет
2. Включается мигающаяся лампочка
3. Громкоговоритель включает несколько голосовых оповещений:
(громкоговоритель) 3.1. Внимание начинается шторм
(громкоговоритель) 3.2. Включается полет валькирии (моя любимая часть)

Когда на таймере остается несколько секунд

У громкоговорителя включается другой скрипт и он начинает отсчитывать последние секунды, а ЖК дисплей начинает последний отсчет в 5 секунд.

И потом начинается шторм

ЖК дисплеи становятся красного цвета, громкоговоритель включает сирену, и мигающая лампочка продолжает работу.

Обратите внимание что верхний дисплей это таймер а нижний это режимы работы метеостанции, которые я описал выше!

Конечно при любом инциденте и на любой стадии можно изменить как цвет дисплеев, так и поменять голосовые оповещения на громкоговорителе.

Кот Да Винчи

define MeteoStation 1997212478
define display2 -53151617
define lamp -1535893860
define speaker -828056979

define dispTime2 -53151617

alias MeteoStation d0
alias Display d1
alias dispTime2 d2
alias Lamp d3
alias speaker d4

alias on r4
move on 1
move r5 0

storm:
l r1 d0 Mode
s d1 Setting r1
l r2 d0 NextWeatherEventTime
s d2 Setting r2
beqz r1 nostorm
beq r1 1 stormcoming
beq r1 2 stormnow
yield
j storm

nostorm:
s d1 Color 2
s d2 Color 7
s d3 On 0
s d4 On 0
j storm

stormcoming:
s d2 Color 5
s d1 Color 5
s d3 On on
s d4 On on
s d4 Volume 100
bne r5 7 testone
blt r2 7 coultdown
j storm

testone:
s d4 Mode 16
sleep 3
s d4 Mode 18
sleep 3
s d4 Mode 7
l r5 d4 Mode
j storm

stormnow:
s d2 Color 4
s d1 Color 4
s d3 On on
s d4 On on
s d4 Volume 100
s d4 Mode 12
move r5 0
j storm

wait:
l r1 d0 Mode
beq r1 1 wait
bne r1 1 storm

coultdown:
s d2 Setting 5
s d4 Mode 33
sleep 1
s d2 Setting 4
s d4 Mode 32
sleep 1
s d2 Setting 3
s d4 Mode 31
sleep 1
s d2 Setting 2
s d4 Mode 30
sleep 1
s d2 Setting 1
s d4 Mode 29
sleep 1
j wait

Пояснение кода

Не буду подробно описывать логику, кто шарит, тот шарит. А кто не шарит, скажу просто. В коде описано 7 тегов, по которым происходят переходы каждый цикл.

(обвел красным – это теги)

И ТАК…

Если ты хочешь поменять звуки на громкоговорителе, то тебе нужно внести изменения, в канал сокета D4, так как D4 – это громкоговоритель
Например:
s d4 Volume 100 значит установить на громкоговоритель максимальную громкостью

или другой пример:

s d4 Mode 12 значит установить на громкоговоритель звук Alarm10

(как я и говорил выше, всю спецификацию громкоговорителя можно прочитать в ВИКИ[stationeers.fandom.com]

Подведение итогов

Данный код я проверил несколько раз, все работает. Имейте ввиду, если вы вносите изменения в логику циклов, то я не гарантирую что скрипт не сломается. Будьте очень внимательны, если будете что-то менять.

И самое главное, по данному скрипту описана работа только для:

  • 2 ЖК дисплея
  • 1 громкоговоритель
  • 1 мигающая лампа

Если данное руководство будет востребовано, то я допилю код и он будет работать с любым количеством устройств. Хоть 50 громкоговорителей или 200 мигающих ламп и тысяча дисплеев (образно говоря).

От AlexVJ

Be the first to comment

Leave a Reply

Your email address will not be published.


*