about
one.principles and practices
two.computer-aided design
three.computer-controlled cutting
four.electronics production
five.3d scanning & printing
six.electronics design
seven.computer-controlled machining
eight.embedded programming
nine.mechanical design
ten.machine design
eleven.input devices
twelve.molding & casting
thirteen.output devices
fourteen.composites
fifteen.networking & communications
sixteen.interface & app. programming
seventeen.applications & implications
eighteen.invention, property & income
Project Development
def init_cam():
w = 640
h = 480
global video = cv2.VideoWriter("bbox_"+time.asctime()[4:-5].replace(' ', '')+".avi", cv2.cv.CV_FOURCC('M','J','P','G'), 30.0,(w, h),True)
global camera = PiCamera()
camera.resolution = (w, h)
camera.framerate = 30
camera.contrast = 100
camera.brightness = 20
global rawCapture = PiRGBArray(camera, size=(w, h)) time.sleep(0.1)
return
## position and controllers
def init_ctrls():
global ut_roll = 1500
global ut_pitch = 1500
global ut_yaw = 1500
global ctrl_roll
globalctrl_pitch
globalctrl_yaw =
return True
def init_detector():
= godsPID.PID(2, 0.1, 1, 640/2)
= godsPID.PID(1, 1.05, 1.05, 480/2)
godsPID.PID(0.91, 0.01, 0.01, math.pi)
## params of blopdetector
params = cv2.SimpleBlobDetector_Params() #params.minThreshold = 100; #params.maxThreshold = 2000; params.filterByArea = True
params.minArea = 5
params.maxArea = 10000 params.filterByCircularity = True params.minCircularity = 0.85 """params.filterByConvexity = True params.minConvexity = 0.87 params.filterByInertia = True params.minInertiaRatio = 0.01"""
detector = cv2.SimpleBlobDetector(params) return
if __name__ == "__main__":
## frame presto
active = False
watch = 1
thresh_thresh = 60
posX = 0
posY = 0
init_pwm()
init_leds()
init_cam()
init_ctrls()
init_detector()
final project
god.