Paso 7: El programa python y almacenamiento USB.
Antes explico los bits del programa merece la pena sólo mirando cómo estoy controlando la Raspberry PI. Para empezar que quiero ejecutar la frambuesa PI sin cabeza, no es que teclado, ratón ni monitor. así que antes de que pudiera lograrlo he tenido Conecte un dongle USB WiFi y configurar la contraseña por lo que se conecta a mi WiFi. entonces cuando enchufo la fuente de alimentación arrancará la frambuesa pi y me puedo conectar a él a través de mi equipo de windows utilizando putty.
- Conecte la fuente de alimentación y deje que el arranque de la PI para arriba.
- Abra la página web del router con dirección en el navegador web. 192.168.1.1 es el mío (en windows).
- Trabajo qué conexiones tiene y tome nota del número del PI.
- Abre la masilla y escribe el número y conectar.
- Sesión con pi como nombre y frambuesa como contraseña.
- Luego desplácese hasta el archivo correcto y ejecutar el programa usando "sudo python stepper01.py"
- Compruebe que funciona mirando Parque primero y luego tomar fotos.
Y así sucesivamente.
El programa explicando
1) establecer las importaciones y pines GPIO y dirección.
importación matemáticas
importar tiempo import datetime como dt
importación RPi.GPIO como GPIO
Import os import sys
# para ejecutar este programa
# Abrir terminal y nagigate al directorio escriba "sudo python stepper01.py"
# Esto ejecutará el programa
GPIO.setmode (GPIO. BCM)
GPIO.setwarnings(False)
GPIO.setup (4, GPIO. HACIA FUERA)
GPIO.setup (17, GPIO. HACIA FUERA)
GPIO.setup (27, GPIO. HACIA FUERA)
GPIO.setup (22, GPIO. HACIA FUERA)
GPIO.setup (26, GPIO. HACIA FUERA)
GPIO.setup (19, GPIO. HACIA FUERA)
GPIO.setup (10, GPIO. JNJ2) iniciar el programa principal (de rutina)
Asegúrese de que las luces están apagadas. initalise el contador de la memoria usb y reversa motor paso a paso al parque.
GPIO.output (26, False)
GPIO.output (19, False)
F = 0
checkMedia()
checkSlot()
Iniciar rutina principal.
3) registro de la hora de salida, encender luces, Compruebe la memoria USB, 25 fotos, mueva el motor cada vez.
Aunque la verdad:
startTime = time.time()
GPIO.output (26, True)
Time.Sleep(1)
GPIO.output (19, True)
Time.Sleep(1)
checkMedia()
b en el rango (0, 25):
para x en 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) entonces incrementar el contador de nombre de archivo de foto, invertir para arriba y parque, apagar las luces, el tiempo de retardo y dormir hasta las próximas fotos.
F = F + 1
checkSlot()
GPIO.output (26, False)
Time.Sleep(1)
GPIO.output (19, False)
Time.Sleep(1)
endTime = time.time()
totalTime = endTime - startTime
delayTime = 600 - totalTime
#15 minutos sería 900
#10 minutos sería 600
Time.Sleep(delayTime)
5) ahora veamos la sección del motor paso a paso...
DEF rotate(ln1,ln2,ln3,ln4):
AllZero()
Si ln1 == 1:
GPIO.output (4, True)
otra cosa:
GPIO.output (4, False)
Si ln2 == 1:
GPIO.output (17, True)
otra cosa:
GPIO.output (17, False)
Si ln3 == 1:
GPIO.output (22, True)
otra cosa:
GPIO.output (22, False)
Si ln4 == 1:
GPIO.output (27, True)
otra cosa:
GPIO.output (27, False)
timeSleep1()
AllZero()
6) esta es la sección que la mesa de los parques.
DEF checkSlot():
g = 1
mientras g == 1:
Rotate(1,0,0,0)
Si GPIO.input (10) == 0:
resetStart()
g = 0
volver
Rotate(0,0,0,1)
Si GPIO.input (10) == 0:
resetStart()
g = 0
volver
Rotate(0,0,1,0)
Si GPIO.input (10) == 0:
resetStart()
g = 0
volver
Rotate(0,1,0,0)
Si GPIO.input (10) == 0:
resetStart()
g = 0
volver
7) esta es la última sección para mirar. Todo el programa está en los archivos.
DEF takePicture(fileNumber):
y = str(F)
FILENAME = ("pic_")+str(B)+("_")+y+(".jpg")
Imprimir (archivo)
partA=("/media/pi/KINGSTON/Photos/Photo")
partB=str(B)
os.chdir (partA + partB)
comando = ("sudo raspistill -t 200 - n -o")
os.System (comando + nombre de archivo)
os.chdir("/Home/PI")