# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # THE SOFTWARE. from time import sleep from panandtilt import Panandtilt from laser import Laser head = Panandtilt(5, 150, 6, 150) head.servo_reset_position point = Laser(8) point.on() for x in range(0, 100): print head.pan_current_position print head.tilt_current_position head.pan_left(1) sleep(0.01) for x in range(0, 100): print head.pan_current_position print head.tilt_current_position head.pan_right(1) sleep(0.01) for x in range(0, 100): print head.pan_current_position
from laser import Laser laser = Laser() laser.on()
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # THE SOFTWARE. from time import sleep from panandtilt import Panandtilt from laser import Laser head = Panandtilt(5, 150, 6, 150) head.servo_reset_position point = Laser (8) point.on() for x in range(0,100): print head.pan_current_position print head.tilt_current_position head.pan_left(1) sleep(0.01) for x in range(0,100): print head.pan_current_position print head.tilt_current_position head.pan_right(1) sleep(0.01) for x in range(0,100): print head.pan_current_position
class Square: def __init__(self): print "Set mode BCM" config = json.load(open("config.json")) GPIO.setmode(GPIO.BCM) self.motorX = Motor(config["motor_x"]["pins"]) self.motorX.name = "X" self.motorX.delay = config["motor_x"]["delay"] self.motorX.steps_by_mm = config["motor_x"]["steps_by_mm"] self.motorY = Motor(config["motor_y"]["pins"]) self.motorY.name = "Y" self.motorY.delay = config["motor_y"]["delay"] self.motorY.steps_by_mm = config["motor_y"]["steps_by_mm"] self.laser = Laser(config["laser"]["pin"]) def start(self): size = 10 self.laser.on() self.move(self.motorY, Motor.RIGHT, size) self.move(self.motorX, Motor.RIGHT, size) self.move(self.motorY, Motor.LEFT, size) self.move(self.motorX, Motor.LEFT, size) self.laser.off() self.motorX.off() self.motorY.off() def move(self, motor, direction, size): print "motor %s %d %d" % (motor.name, direction, size * motor.steps_by_mm) for x in range(0, int(size * motor.steps_by_mm)): motor.moveTo(direction) def cleanUp(self): GPIO.cleanup()