Advertisement
CdoubleOK

Battery Monitor

Mar 31st, 2023 (edited)
264
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.86 KB | None | 0 0
  1. local modem = peripheral.find("modem")
  2. local monitor = peripheral.find("monitor")
  3.  
  4. local levels = {
  5.   [0] = {percent = "0%", bgColor = colors.red, textColor = colors.white},
  6.   [1] = {percent = "5%", bgColor = colors.red, textColor = colors.white},
  7.   [2] = {percent = "10%", bgColor = colors.red, textColor = colors.white},
  8.   [3] = {percent = "20%", bgColor = colors.red, textColor = colors.white},
  9.   [4] = {percent = "25%", bgColor = colors.red, textColor = colors.white},
  10.   [5] = {percent = "30%", bgColor = colors.yellow, textColor = colors.black},
  11.   [6] = {percent = "40%", bgColor = colors.yellow, textColor = colors.black},
  12.   [7] = {percent = "50%", bgColor = colors.yellow, textColor = colors.black},
  13.   [8] = {percent = "55%", bgColor = colors.yellow, textColor = colors.black},
  14.   [9] = {percent = "60%", bgColor = colors.green, textColor = colors.white},
  15.   [10] = {percent = "70%", bgColor = colors.green, textColor = colors.white},
  16.   [11] = {percent = "75%", bgColor = colors.green, textColor = colors.white},
  17.   [12] = {percent = "80%", bgColor = colors.green, textColor = colors.white},
  18.   [13] = {percent = "90%", bgColor = colors.green, textColor = colors.white},
  19.   [14] = {percent = "95%", bgColor = colors.green, textColor = colors.white},
  20.   [15] = {percent = "100%", bgColor = colors.green, textColor = colors.white},
  21. }
  22.  
  23.  
  24. term.clear()
  25. term.setCursorPos(1, 1)
  26. print("Running...")
  27.  
  28. while not rs.getInput("front")
  29. do
  30.   local level = rs.getAnalogInput("back")
  31.   local batteryLevel = levels[level]
  32.    
  33.   term.setCursorPos(1, 3)
  34.   term.clearLine()
  35.    
  36.   modem.transmit(4, 5, batteryLevel.percent)
  37.   monitor.clear()
  38.   monitor.setCursorPos(1, 1)
  39.   monitor.write("Battery")
  40.   monitor.setCursorPos(3, 3)
  41.   monitor.setBackgroundColor(batteryLevel.bgColor)
  42.   monitor.setTextColor(batteryLevel.textColor)
  43.   monitor.write(batteryLevel.percent)
  44.   sleep(1)
  45. end
  46.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement