Перейти к публикации

OpenComputers: Крутая дверь на keypad из OpenSecurity


feod0r

Рекомендованные сообщения

c2d4a69eb5a9.jpg
Итак, дверь. Дверь на управлении компьютером. Что это такое? 
Это обычная дверь на поршнях,построенная на самой быстрой схеме. Уже неплохо, правда? Но открывать ее мы сможем только введя пароль в номеронабиратель. 

Глава 1: дверь


Я уже говорил, что это самая быстрая поршневая дверь? Давайте же ее построим. 
Когда на управляющую полосу красного камня снизу поступает сигнал красного камня, красный факел, стоящий у поршня, тухнет. Все просто. Можно поставить перед дверью нажимную плиту. Но вместо ее мы будем использовать красный камень из мода OpenComputers. 
cc10b96fde12.png0cec98e410cc.png

 

Глава 2: Аппаратное обеспечение


К адаптеру подключаем Keypad. Таких схем нужно две. По обе стороны стене. Попутно узнаем адреса Keypad. 
9c8b137bd01c.png02b31bdb99a1.png
Подключаем все примерно таким образом: 
d40039e8a3e1.png5bed55768954.pngeed7f0fed10f.png

 

Глава 3: Программное обеспечение


Идем по ссылке, и получаем код: http://pastebin.com/WmqgAkFY 

0265dbc948fe.jpg
Сразу же изменяем адреса наших номеронабирателей. Не отходя от кассы изменяем код, по желанию, сервисные сообщения, выводимые на мини-экранчик. Далее вставляем код в компьютер, запускаем программу. Программа работает в фоне. Вы можете заниматься остальными делами на компьютере или же запустить еще одну программу(вторую дверь, например). Да, вы к одному серверу можете подключить до 16 дверей. Зная это, можно сделать крутой бункер времен холодной войны. 
Звуки двери пытался сделать похожими на таковые в сериале "LOST". В бункере, если вы не помните, по истечению таймера закрывались двери. На сколько получилось похоже- пишите. 

 

 

Код(для ленивых. версия программы может быть старше той, что указана в сервисе pastebin)

 

 

-- Дверь по цифровой клавиатуре, работающая в фоне.
-- Сделал feod0r
-- Отдельное спасибо lLufy за помощь в использовании двух нампадов одновременно
 
--Базовые настройки кодового замка
local locked = "Закрыто" -- слово, которое будет отображаться при закрытой двери
local keyWord = "753"    -- пароль, который необходимо ввести
local opened = "Открыто" -- слово, которое будет отображаться при открытой двери
local wrong = "неверно"  -- слово, которое будет отображаться при непрвильном вводе пароля
local input = ""         -- переменная для хранения цифрового ввода STRING
 
--подключаемые библиотеки
local computer = require("computer") --пускай будет, чтобы пищал
local event = require("event") --API для эвентов
local component = require("component") --API для работы с компонентами
--local keypad = component.os_keypad --блок клавиш
 
--Внимание! Необходимо сменить адреса номеронаберателей!
local keypad = component.proxy(component.get("072")) -- первый номеронабератель
local keypad2 = component.proxy(component.get("aed"))-- второй номеронабератель
local red = component.redstone --блок красной карты
 
-- кто делал
print("by feod0r")
keypad.setDisplay("feod0r",1)
os.sleep(1.5)
 
--инициализация кнопок первого номеронобератиеля
keypad.setDisplay(locked,4)
keypad.setEventName("pressed")
keypad.setKey(12,"Ок",2)
keypad.setKey(11,"Зак",4)
keypad.setKey(10,"Оч",4)
 
--инициализация кнопок второго номеронобератиеля
keypad2.setDisplay(locked,4)
keypad2.setEventName("pressed2")
keypad2.setKey(12,"Ок",2)
keypad2.setKey(11,"Зак",4)
keypad2.setKey(10,"Оч",4)
 
--обработчик нажатий на кнопки
function passwd(name, adress, key, button )
    --print( name, adress, key, button ) отладочная информация, пускай будет
   
    if key == 10 then  --если нажата кнопка "очистить"
        input = ""
        computer.beep(600,0.01)
    elseif key == 12 then --если нажата кнопка "Ввод"
        if keyWord == input then --код верный, дверь открывается
            --print(opened)
            keypad.setDisplay(opened,2)
            keypad2.setDisplay(opened,2)
            red.setOutput(1,150)
            input = ""
            computer.beep(1500,0.5)
        else --если введенный код неверный
            keypad.setDisplay(wrong,6)
            keypad2.setDisplay(wrong,6)
            --print("Неверный код: ",input)
            input = ""
            computer.beep(1000,0.5)
        end
    elseif key == 11 then  -- если нажата кнопка "Закрыть"
        --print(locked)
        keypad.setDisplay(locked,4)
        keypad2.setDisplay(locked,4)
        input = ""
        computer.beep(1500,0.5)
        computer.beep(1000,0.5)
        red.setOutput(1,0)
    else
        input = input..button
        computer.beep(1500,0.01)
    end
end
 
--Запускаем первого демона
if event.listen("pressed",passwd) then
    print("listener первого номеранаберателя запущен")
else
    print("Проблемы при включении слушателя перого номеранаберателя")
end
 
--запускаем второго демона
if event.listen("pressed2",passwd) then
    print("listener второго номеранаберателя запущен")
else
    print("Проблемы при включении слушателя второго номеранаберателя")
end
 
--Сообщение для юзверей.
print("Комьютер свободен. Можно заниматься своими делами, программа двери работает в фоне.")

 

 

Изменено пользователем feod0r
  • good 4
Ссылка на сообщение

смысл, если можно делать дверь с панелью и вайт листом?
схема:
ступил на плиту -> юзер в вайт листе? -> (если да - открыть дверь) (если нет - cтолкнуть поршнем в яму)

  • good 1
Ссылка на сообщение

смысл, если можно делать дверь с панелью и вайт листом?

схема:

ступил на плиту -> юзер в вайт листе? -> (если да - открыть дверь) (если нет - cтолкнуть поршнем в яму)

Параша, можно тупо поставить обычную дверь деревянную в таком случае, и никто её не откроет кроме владельца.

Ссылка на сообщение

Зато никто не сможет сделать такую крутую систему анти модеров в ванише как я... ставишь пим, просишь не вставать на табличке и они обязательно встанут =)

Ссылка на сообщение

Харе вот проги сливать, вам че, заняться нечем?

Наоборот, ништяк что форум оживает, скоро выложим прогу, которая показывает чат (локальный/глобальный) в очках из OpenPeripheral))

Ссылка на сообщение

И где тут душа? Где тут атмосфера? Зачем тогда вообще эти моды? Это же приятно спустится в тайное помещение в своей берлоге, ввести пафосно пароль, под звук из сериала "остаться в живых" она и открывается и закрывается. Это я делал для себя. Как бонусом я делюсь своей поделкой с народом. 

Вот-вот

Ссылка на сообщение

Ты бы мой ник правильно хоть написал бы))
 
 

И где тут душа? Где тут атмосфера? Зачем тогда вообще эти моды? Это же приятно спустится в тайное помещение в своей берлоге, ввести пафосно пароль, под звук из сериала "остаться в живых" она и открывается и закрывается. Это я делал для себя. Как бонусом я делюсь своей поделкой с народом.

С помощью стримера из кампутроникса и правда можно музон из Lost врубить))

Изменено пользователем lLuffy
Ссылка на сообщение

Наоборот, ништяк что форум оживает, скоро выложим прогу, которая показывает чат (локальный/глобальный) в очках из OpenPeripheral))

Проги всегда были илитными, их нужно было самому искать, настраивать или писать. А теперь любой нуб может копипастнуть её.

Ссылка на сообщение

Ты бы мой ник правильно хоть написал бы))

 

 

С помощью стримера из кампутроникса и правда можно музон из Lost врубить))

а как? стример к компу подключаеться или как он работает?

Ссылка на сообщение
  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.

×
×
  • Создать...