Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function translate(self, x, y)
- sleep(self.translate(x, y))
- self.stop()
- end
- function rotate(self, x, y)
- sleep(self.rotate(x, y))
- self.stop()
- end
- function signal(color)
- local signal = rs.getBundledOutput("bottom")
- if colors.test(signal, color) then signal = colors.subtract(signal, color)
- else signal = colors.combine(signal, color)
- end
- rs.setBundledOutput("bottom", signal)
- end
- local door = {
- isOpen = false,
- isRunning = false,
- pins = peripheral.wrap("electric_motor_0"),
- arm = peripheral.wrap("electric_motor_1"),
- piston = peripheral.wrap("electric_motor_2"),
- gantry = peripheral.wrap("electric_motor_3")
- }
- function door:__call()
- if self.isOpen then self:close()
- else self:open()
- end
- end
- function door:initialize(isOpen)
- self.isOpen = isOpen
- if isOpen then signal(colors.red)
- else signal(colors.green)
- end
- end
- function door:open()
- if self.isRunning or self.isOpen then return end
- self.isRunning = true
- signal(colors.green)
- signal(colors.brown)
- translate(self.pins, 1, 16)
- rotate(self.arm, 75, 6)
- translate(self.piston, -3, 24)
- signal(colors.white)
- sleep(0.15)
- signal(colors.white)
- translate(self.piston, 3, 20)
- sleep(0.2)
- rotate(self.arm, -75, 6)
- signal(colors.orange)
- sleep(0.1)
- signal(colors.orange)
- translate(self.gantry, 5, 18)
- signal(colors.brown)
- signal(colors.red)
- self.isOpen = true
- self.isRunning = false
- end
- function door:close()
- if self.isRunning or not self.isOpen then return end
- self.isRunning = true
- signal(colors.red)
- signal(colors.brown)
- signal(colors.orange)
- sleep(0.1)
- signal(colors.orange)
- translate(self.gantry, -5, 18)
- rotate(self.arm, 75, 6)
- translate(self.piston, -3, 20)
- translate(self.piston, 3, 24)
- rotate(self.arm, -75, 6)
- translate(self.pins, -1, 16)
- signal(colors.brown)
- signal(colors.green)
- self.isOpen = false
- self.isRunning = false
- end
- return setmetatable(door, door)
Advertisement
Comments
-
- Amazing article, I strongly advise everyone to read as much as possible.
- https://happytoothdentalclinic.com/dental-implants-in-siliguri/
Add Comment
Please, Sign In to add comment
Advertisement