Stap 7: Het python programma en USB-opslag.
Voordat ik uitleg de bits van het programma zijn waarde gewoon kijken hoe ben ik de controle van de Raspberry PI. Om te beginnen wil ik de raspberry PI headless uitgevoerd, dus dat is geen toetsenbordmuis of monitor. Dus voordat ik dit bereiken kon ik heb de stekker in een USB WiFi dongle en configureren van de draadloze wachtwoord zodat het verbindt met mijn WiFi. vervolgens wanneer mij tampon ter de PSU de raspberry pi zal schoen opwaarts en ik kan verbinding mee maken via mijn windows-computer met behulp van putty.
- Sluit de voeding met ventilator en laat de PI boot up.
- Open de webpagina van de router met behulp van adres in de webbrowser. 192.168.1.1 is van mij (op windows).
- Instellen welke aansluitingen u hebt en maak een notitie van de PI's nummer uitwerken.
- Open Putty en type in het nummer en sluit.
- Inloggen met pi als naam en framboos als wachtwoord.
- Vervolgens navigeert u naar het juiste bestand en start het programma met behulp van "sudo python stepper01.py"
- Controleer werkt het door te kijken naar het eerste park en vervolgens het nemen van foto's.
En zo verder.
Het programma uitgelegd
1) ingesteld op de invoer en de GPIO pinnen en de richting.
importeren van math
importeren van tijd importeren datetime als dt
importeren van RPi.GPIO als GPIO
importeren van os importeren sys
# Dit programma uit te voeren
# open terminal en nagigate naar de map en typ vervolgens "sudo python stepper01.py"
# Dit wordt het programma uitgevoerd
GPIO.setmode (GPIO. BCM)
GPIO.setwarnings(False)
GPIO.setup (4, GPIO. UIT)
GPIO.setup (17, GPIO. UIT)
GPIO.setup (27, GPIO. UIT)
GPIO.setup (22, GPIO. UIT)
GPIO.setup (26, GPIO. UIT)
GPIO.setup (19, GPIO. UIT)
GPIO.setup (10, GPIO. IN)2) start hoofdprogramma (routine)
Zorg ervoor dat de lichten zijn uitgeschakeld. initalise de teller Controleer de USB-stick en terug omhoog stappenmotor naar park.
GPIO.output (26, False)
GPIO.output (19, False)
F = 0
checkMedia()
checkSlot()
Beginnen belangrijkste routine.
3) log de begintijd, inschakelen van de verlichting, check USB-stick, motor telkens 25 fotograferen, verplaatsen.
terwijl juist:
startTime = time.time()
GPIO.output (26, True)
time.Sleep(1)
GPIO.output (19, True)
time.Sleep(1)
checkMedia()
voor B in bereik (0, 25):
voor x in range(0,2):
Rotate(0,1,0,0)
Rotate(0,0,1,0)
Rotate(0,0,0,1)
Rotate(1,0,0,0)
takePicture(B)
4) vervolgens increment de foto bestand naam teller, keren omhoog en park, de lichten uit te schakelen, werken uit de vertragingstijd en slapen tot de volgende foto's.
F = F + 1
checkSlot()
GPIO.output (26, False)
time.Sleep(1)
GPIO.output (19, False)
time.Sleep(1)
endTime = time.time()
totalTime = eindtijd - startTime
delayTime = 600 - totalTime
#15 minuten zou 900
#10 minuten zou 600
time.Sleep(delayTime)
5) nu laat kijken naar de stepper motor sectie...
def rotate(ln1,ln2,ln3,ln4):
AllZero()
Als ln1 == 1:
GPIO.output (4, True)
anders:
GPIO.output (4, False)
Als ln2 == 1:
GPIO.output (17, True)
anders:
GPIO.output (17, False)
Als ln3 == 1:
GPIO.output (22, True)
anders:
GPIO.output (22, False)
Als ln4 == 1:
GPIO.output (27, True)
anders:
GPIO.output (27, False)
timeSleep1()
AllZero()
6) Dit is het gedeelte dat parken van de tabel.
def checkSlot():
g = 1
terwijl g == 1:
Rotate(1,0,0,0)
als GPIO.input (10) == 0:
resetStart()
g = 0
terugkeer
Rotate(0,0,0,1)
als GPIO.input (10) == 0:
resetStart()
g = 0
terugkeer
Rotate(0,0,1,0)
als GPIO.input (10) == 0:
resetStart()
g = 0
terugkeer
Rotate(0,1,0,0)
als GPIO.input (10) == 0:
resetStart()
g = 0
terugkeer
7) Dit is het laatste gedeelte om naar te kijken. Het hele programma is in de bestanden.
def takePicture(fileNumber):
y = str(F)
bestandsnaam = ("pic_")+str(B)+("_")+y+(".jpg")
Print (bestandsnaam)
partA=("/media/pi/KINGSTON/Photos/Photo")
partB=str(B)
OS.chdir (partA + partB)
opdracht = ("sudo raspistill -t 200 - n -o")
OS.System (command + filename)
OS.chdir("/Home/Pi")