Stap 6: Monteren van de definitieve code en compileren!
We hadden onze zesde zintuig computer instellen als een webserver en bewerkt het zesde zintuig-programma te schrijven van een enkel teken naar een tekstbestand dat was op de webserver en dat bestand via de Raspberry Pi om te lezen de waarden als input voor de controle van de auto.
Het tekstbestand bevatte gewoon één van vijf tekens op basis van de huidige positie van elk van de vier gekleurde markers:
1, 2, 3, 4, 0
De Python code op de Raspberry Pi (of C-code op een Arduino) leest het karakter van het webbestand en decodeert het in de passende maatregelen voor de auto.
Sixth Sense Code vindt u op onze git repository:
https://github.eecs.WSU.edu/mblaisde/TPAHRC
Dit is de Python-code voor de Raspberry Pi die alles samen bindt.
Plak dit in een python-bestand en voer.
#Hardware Hackathon
#Code 1
#14/11/15 #Ground -> pin 20 grijs
#5V -> pin 2 #3.3 -> pin 1
de gegevens #receive #! / usr/bin/env python
urllib.request importeren
afdrukken ("Pi Home server met!")
forwardPin = 17 # GPIO pin3 wit
backwardPin = 23 # pin paars 5
leftPin = 27 #pin 13-grijs
rightPin = 22 #pin 15 rood
importeren van tijd slaap van RPi importeren GPIO als importeren
# zet onze mode GPIO.setmode(GPIO. BCM)
def Setup:
GPIO.setup (forwardPin, GPIO. UIT)
GPIO.setup (backwardPin, GPIO. UIT)
GPIO.setup (leftPin, GPIO. UIT)
GPIO.setup (rightPin, GPIO. UIT)
def loop:
Response=urllib.Request.urlopen ('http://192.168.1.114/WriteLines.txt')
HTML=Str(Response.Read()) [2:-1]
HTML = html.split("\\r\\n") [: -1]
Print(HTML)
Print(HTML[0])
Als (html [0] == "1"):
# Verplaatsen Forwards
GPIO.output (forwardPin, True)
time.Sleep(.75)
GPIO.output (forwardPin, False)
afdrukken ("HTML-1")
Elif (html [0] == "2"):
# Terugwaartse
GPIO.output (backwardPin, True)
time.Sleep(.75)
GPIO.output (backwardPin, False)
afdrukken ("HTML-2")
Elif (html [0] == "3"):
#/ / Linksaf
GPIO.output (forwardPin, True)
GPIO.output (leftPin, True)
time.Sleep(.75)
GPIO.output (forwardPin, False)
GPIO.output (leftPin, False)
afdrukken ("HTML 3 links")
Elif (html [0] == "4"):
#/ / Sla rechtsaf
GPIO.output (forwardPin, True)
GPIO.output (rightPin, True)
time.Sleep(.75)
GPIO.output (forwardPin, False)
GPIO.output (rightPin, False)
afdrukken ("HTML 4")
def main():
GPIO.setwarnings(False)
Setup
while(1):
loop
time.Sleep(.1)
Main()