Advertisement
DuckStrom

Computercraft Microturbine Controller

Feb 14th, 2016
167
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.09 KB | None | 0 0
  1. --EyeDeck's microturbine RF generator controller
  2.  
  3. ecu = peripheral.find("EngineController")
  4. cell = peripheral.find("powered_tile")
  5. maxPower = cell.getMaxEnergyStored() * 0.975
  6. minPower = cell.getMaxEnergyStored() * 0.025
  7.  
  8. function getState()
  9.   local f = fs.open("state","r")
  10.   local b = tonumber(f.readAll())
  11.   f.close()
  12.   return (b == 1)
  13. end
  14.  
  15. function setState(b)
  16.   state = (b == 1)
  17.   local f = fs.open("state","w")
  18.   f.write(b)
  19.   f.close()
  20. end
  21.  
  22. state = getState()
  23.  
  24. if (state == true) then
  25.   print("Computer starting, microturbine running.")
  26. else
  27.   print("Computer starting, microturbine off.")
  28. end
  29.  
  30. while true do
  31.   power = cell.getEnergyStored()
  32.  
  33.   if (state == true) then --turbine currently on
  34.     if (power > maxPower) then --enough power, turbine off
  35.       print("Power high, turbine powering off.")
  36.       ecu.setECU(0)
  37.       setState(0)
  38.     end
  39.   else --turbine currently off
  40.     if (power < minPower) then --not enough power, turbine on
  41.       print("Power low, starting turbine.")
  42.       ecu.setECU(4)
  43.       setState(1)
  44.     end
  45.   end
  46.  
  47.   sleep(60)
  48. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement