Camera Equipped RC car using sixth sense (6 / 6 steg)
Steg 6: Montera final koden och kompilera!
Vi hade vår sjätte sinne dator setup som en webbserver och modifierade den sjätte sinne programmet att skriva ett tecken till en textfil som var på webbservern och öppnar filen via Raspberry Pi att läsa värdena som insatsvaror för bil kontroll.
Textfilen som finns helt enkelt en av fem tecken baserat på den aktuella positionen för var och en av de fyra färgade markörerna:
1, 2, 3, 4, 0
Python-koden på Pi-hallon (eller C kod på en Arduino) läser karaktär från fil och avkodar det in lämpliga åtgärder för bilen.
Sjätte sinne koden finns på våra git-förrådet:
https://github.EECS.WSU.edu/mblaisde/TPAHRC
Detta är Python kod för Raspberry Pi som binder allt samman.
Klistra in detta i en python fil och kör.
#Hardware Hackathon
#Code 1
#14/11/15 #Ground -> stift 20 grå
#5V -> stift 2 #3.3 -> stift 1
#receive data #! / usr/bin/env python
importera urllib.request
skriva ut ("Pi Home server kör!")
forwardPin = 17 # GPIO pin3 vit
backwardPin = 23 # stift 5 lila
leftPin = 27 #pin 13 grå
rightPin = 22 #pin 15 röd
från att importera sömn från RPi import GPIO importera tid
# Ställ in våra GPIO.setmode(GPIO. BCM)
def setup():
GPIO.setup (forwardPin, GPIO. OUT)
GPIO.setup (backwardPin, GPIO. OUT)
GPIO.setup (leftPin, GPIO. OUT)
GPIO.setup (rightPin, GPIO. OUT)
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])
om (html [0] == "1"):
# Flytta framåt
GPIO.output (forwardPin, sant)
Time.Sleep(.75)
GPIO.output (forwardPin, falskt)
skriva ut ("HTML-1")
Elif (html [0] == "2"):
# Flytta bakåt
GPIO.output (backwardPin, sant)
Time.Sleep(.75)
GPIO.output (backwardPin, falskt)
skriva ut ("HTML-2")
Elif (html [0] == "3"):
#/ / Sväng vänster
GPIO.output (forwardPin, sant)
GPIO.output (leftPin, sant)
Time.Sleep(.75)
GPIO.output (forwardPin, falskt)
GPIO.output (leftPin, falskt)
skriva ut ("HTML-3 vänster")
Elif (html [0] == "4"):
#/ / Sväng höger
GPIO.output (forwardPin, sant)
GPIO.output (rightPin, sant)
Time.Sleep(.75)
GPIO.output (forwardPin, falskt)
GPIO.output (rightPin, falskt)
skriva ut ("HTML-4")
def main ():
GPIO.setwarnings(False)
Setup()
While(1):
loop()
Time.Sleep(.1)
Main)