Advertisement
CdoubleOK

Refined Fuel Tank Monitor

Apr 30th, 2023 (edited)
50
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.20 KB | None | 0 0
  1. local modem = peripheral.find("modem")
  2.  
  3. term.clear()
  4. term.setCursorPos(1,1)
  5. print("Refined Fuel Tanks")
  6. print("-=-=-=-=-=-=-=-=-=-")
  7.  
  8. while rs.getInput("top") == false
  9. do
  10.  
  11. local level1 = rs.getAnalogInput("left")
  12. local level2 = rs.getAnalogInput("right")
  13. local fuelout = rs.getInput("back")
  14.  
  15. local function getTankPercentage(level)
  16.   local tankLevels = {0, 5, 10, 15, 20, 30, 40, 45, 50, 60, 70, 75, 80, 90, 95, 100}
  17.   return tankLevels[level+1]
  18. end
  19.  
  20. term.clearLine()
  21.  
  22.  
  23. print("Tank #1")
  24. local level1Percent = getTankPercentage(level1)
  25. modem.transmit(19,5,level1Percent.."%")
  26. print(level1Percent.."%")
  27.  
  28.  
  29. print("Tank #2")
  30. local level2Percent = getTankPercentage(level2)
  31. modem.transmit(20,5,level2Percent.."%")
  32. print(level2Percent.."%")
  33.  
  34.  
  35. print("Fuel Output")
  36. if fuelout == false
  37. then
  38. modem.transmit(21,5,"Closed")
  39. print("Closed")
  40. end
  41. if fuelout == true
  42. then
  43. modem.transmit(21,5,"Open")
  44. print("Open")
  45. end
  46.  
  47. -- Control Heavy/Light refine
  48. if (level1 <=14) and (level2 <=14)
  49. then
  50. modem.transmit(27,8,"On")
  51. modem.transmit(27,9,"On")
  52. end
  53. if (level1 >=15) and (level2 >=15)
  54. then
  55. modem.transmit(27,8,"Off")
  56. modem.transmit(27,9,"Off")
  57. end
  58.  
  59. sleep(1)
  60. term.setCursorPos(1,3)
  61. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement