Fånga bilden med ultrasonic sensor med arduino (3 / 4 steg)
Steg 3: Python code
Python program används för att få input signalen från sensorn via arduino, så att det kan fånga hindret enligt sensor upptäckt.
#! /usr/bin/env python
importera sys
importera följetong
importera pygame
importera pygame.camera
importera getenv från os
från pygame.locals import *
datetime importera datetime som avskiljare
# Initierar kameran enheten
pygame.Camera.init()
cam = pygame.camera.Camera ("/ dev/video0", (640, 480)) / / här förklara arduino hamnen
home_dir = getenv('HOME')
'''
Justera värdet för denna variabel ange avståndet för sensorn att upptäcka inkräktare
'''
RAD = 300
def capture_image(): ''' startar kameran, fångar bilden, sparar det & amp; amp; amp; amp; amp; stoppar '''
filnamn = home_dir + '/ image_captured/image_' + str(dt.now()) + ".jpg"
cam.start() image = cam.get_image()
pygame.image.Save (bild, filnamn)
cam.stop()
'''
Upprättar en anslutning till Arduino ombord via seriella gränssnitt
'''
arduino_board = följetong. Följetong (sys.argv [1], 9600)
'''
Träder en infite loop som kör tills den får tangentbordet avbryta
'''
samtidigt sant:
om arduino_board.inWaiting() > 0:
data = arduino_board.readline().strip()
försök:
'''
Värdet tas emot via seriella gränssnittet skulle vara sträng, för att bearbeta ytterligare, konverteras den till numerisk datatyp.
'''
data = int(float(data))
om data < = utbud:
capture_image()
skriva ut data
utom BaseException, vara:
'''
Inledningsvis kan styrelsen skicka några strängar som inte är det numeriska värdet, att hantera sådana undantag som det är fångade och ignoreras genom att skriva ut en Undantagsmeddelandet.
'''
skriva ut be.message