The Laser is currently off (turn on)
import RPi.GPIO as GPIO
class Laser:
def __init__(self):
self.refresh()
def refresh(self):
GPIO.setmode(GPIO.BCM)
self.pins = {
27 : {'name' : 'Laser', 'state' : GPIO.LOW}
}
for pin in self.pins:
GPIO.setup(pin, GPIO.OUT)
self.pins[pin]['state'] = GPIO.input(pin)
self.templateData = {
'pins' : self.pins
}
return (self.templateData)
def setPin(self,changePin,action):
GPIO.setmode(GPIO.BCM)
GPIO.setup(changePin, GPIO.OUT)
if action == "on":
GPIO.output(changePin, GPIO.LOW)
if action == "off":
GPIO.output(changePin, GPIO.HIGH)
if action == "toggle":
# Read the pin and set it to whatever it isn't (that is, toggle it):
GPIO.output(changePin, not GPIO.input(changePin))
self.refresh()
return (self.templateData)
def moveXY(self,x,y):
GPIO_X_SERVO = 4
GPIO_Y_SERVO = 17
GPIO_Laser = 27
GPIO.setmode(GPIO.BCM)
GPIO.setup(GPIO_X_SERVO, GPIO.OUT)
GPIO.setup(GPIO_Y_SERVO, GPIO.OUT)
GPIO.setup(GPIO_Laser, GPIO.OUT)
GPIO.output(GPIO_Laser, GPIO.LOW)
try:
x_servo = GPIO.PWM(GPIO_X_SERVO, 50)
y_servo = GPIO.PWM(GPIO_Y_SERVO, 50)
#2.5 is 0 degree 7.5 is 90 degree and 12.5 is 180 degree
x_servo.start(x)
y_servo.start(y)
time.sleep(1) # give the servos a chance to move
finally:
GPIO.setup(GPIO_Laser, GPIO.OUT)
GPIO.output(GPIO_Laser, GPIO.LOW)
return ()
file .html (V 0.1 laser on/off)
{% for pin in pins %}
<li>
<p>The {{ pins[pin].name }}
{% if pins[pin].state ==false %}
is currently on (<a href="/RaspberryPi/LaserPointer.html//off">turn off</a>)
{% else %} is
currently off (<a href="/RaspberryPi/LaserPointer.html//on">turn on</a>)
{% endif %}
</p>
</li>
{% endfor %}
class Books(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(140))
x_coordinate = db.Column(db.Integer, default=0)
y_coordinate = db.Column(db.Integer, default=0)