Stap 3: Python code
Python programma wordt gebruikt voor het verkrijgen van het ingangssignaal van de sensor via arduino, zodat het obstakel volgens de detectie van de sensor kan vastleggen.
#! /usr/bin/env-python
importeren van sys
seriële importeren
pygame importeren
pygame.camera importeren
importeren van os getenv
vanuit pygame.locals importeren *
datetime datetime importeren als dt
# Het initialiseren van de Camera-apparaat
pygame.camera.init()
Cam = pygame.camera.Camera ("/ dev/video0", (640, 480)) / / hier verklaren de poort van de arduino
home_dir = getenv('HOME')
'''
De waarde van deze variabele in te stellen van de afstand voor de sensor voor het detecteren van indringers aanpassen
'''
BEREIK 300 =
def capture_image(): ''' begint de camera, het beeld vastlegt, bespaart het & amp; amp; amp; amp; amp; stopt '''
file_name = home_dir + str(dt.now()) + '/ image_captured/image_' en '.jpg'
cam.Start() afbeelding = cam.get_image()
pygame.image.Save (image, bestandsnaam)
cam.stop()
'''
Maakt een verbinding met Arduino board via seriële interface
'''
arduino_board = seriële. Serieel (sys.argv [1], 9600)
'''
Treedt een infitelijn-lus die loopt tot de ontvangst van toetsenbord onderbreken
'''
terwijl juist:
Als arduino_board.inWaiting() > 0:
gegevens = arduino_board.readline().strip()
Try:
'''
De waarde ontvangen via seriële interface zou tekenreeks, om verdere proces, het wordt omgezet in numerieke datatype.
'''
gegevens = int(float(data))
Als gegevens < = bereik:
capture_image()
gegevens afdrukken
behalve BaseException, worden:
'''
in eerste instantie kan de Raad van bestuur sturen sommige snaren die niet de numerieke waarde, om een dergelijke uitzondering is gevangen en genegeerd door te drukken op een bericht van de uitzondering.
'''
Afgedrukt van be.message