Перейти к содержимому
serafim

управление реактором IC2 + mfsu

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

Управление реактором IC2 поддерживая заряд в энергохранилище на уровне 97-100 %

 

IC2(1.7.10)     https://pastebin.com/Cd8yFFSw  или  pastebin get Cd8yFFSw r

IC2(1.12.2)     https://pastebin.com/LkNfzaQv    или  pastebin get LkNfzaQv r

 

Обновил старую прогу, где то на форуме было упоминание о ней, но даже я не могу её найти, оставлю здесь.

Чтобы не жечь стерни в пустую, программа следит за уровнем батареи и управляет реактором по мере необходимости.

Есть зашита от перегрева, также если реактор перестал отвечать на запросы ОС (лаг, управляющий блок отвалился, что угодно)

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

Остановить реактор можно нажав любую кнопу по экрану.

 

пример сборки (можно как угодно, главное чтоб адаптер касался реактора и батареи + редстоун подтянуть от пк)

Скрытый текст

xc8hrvH.png

требования

компьютер первого уровня (все компоненты первого уровня)

контроллер красного камня

адаптер

Скрытый текст

FpewhYX.png

схема реактора на 100 eu/t (более чем достаточно для дробилки с печкой)

Скрытый текст

lH8Aqek.png

 

Так как реактор безопасный, то подобное управление можно сделать и без ОС на редстоуне (не идеально но работает)

Скрытый текст

tF8RVW2.png

 

Изменено пользователем serafim

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

@serafim , меня смущает этот кусок кода:

print("пробный запуск")
for i,n in pairs({3,2,4,5,0,1}) do
  red.setOutput(n, 15)
  if reactor.producesEnergy() then
    sideRed = n
    red.setOutput(sideRed, 0)
    print("реактор в стороне "..sideRed)
    os.sleep(1)
    break
  else
    red.setOutput(n, 0)
  end
  if n == 5 then
    print("\n".."реактор не запускается")
    os.exit()
  end
end

Во-первых, непонятно, зачем перебирать элементы массива вместо простого цикла for i=0,5 do. Возможно, здесь важен порядок перебора, но итератор pairs не гарантирует нужного порядка. Но даже если в определённой версии Lua порядок соблюдается, то последние два элемента никогда не будут обработаны, потому что цикл оборвётся по условию n==5.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
1 час назад, eu_tomat сказал:

зачем перебирать элементы массива вместо простого цикла for i=0,5 do

если на монитор подать редстоун сигнал он погаснет, так как он обычно стоит сверху компьютера, то эту сторону проверяем в последнюю очередь

1 час назад, eu_tomat сказал:

итератор pairs не гарантирует нужного порядка

возможно, впрочем так монитор у меня никогда не гас, в отличии от for i=0,5 do

 

ради интереса потыкал pairs и ipairs с пол сотни раз, всё норм порядок соблюдён

for i,n in pairs({3,2,4,5,0,1}) do
  print(i.." "..n)
end

pu9L4UC.png

 

1 час назад, eu_tomat сказал:

цикл оборвётся по условию n==5

да это баг (сторон то 6), исправил уже после как статью выложил

Изменено пользователем serafim

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
30 минут назад, serafim сказал:

ради интереса потыкал pairs и ipairs с пол сотни раз, всё норм порядок соблюдён

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

 

31 минуту назад, serafim сказал:

да это баг (сторон то 6), исправил уже после как статью выложил

Условие n==6 никогда не выполнится.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
3 часа назад, eu_tomat сказал:

Условие n==6 никогда не выполнится

Выполнится если не найдёт реактор,

цикл проходит 6 раз n будет равен 6

Изменено пользователем serafim

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
6 минут назад, eu_tomat сказал:

Условие n==6 никогда не выполнится

да ещё баг :smile44:

вместо n должно быть I

Изменено пользователем serafim

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в тему...

×   Вы вставили отформатированное содержимое.   Удалить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.


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