Psst.. new poll here.
Psst.. new forums here.
Microsoft is blocking us again (TY IP Reputation!) so just use oauth login instead. :)
Paste
Pasted as Plain Text by MIDItheKID ( 12 years ago )
import RPi.GPIO as GPIO
import time
from time import sleep
import math
import sys
import decimal
GPIO.setmode(GPIO.BCM)
GPIO.setup(7, GPIO.IN)
GPIO.setup(0, GPIO.OUT)
GPIO.setup(1, GPIO.OUT)
GPIO.setup(4, GPIO.OUT)
GPIO.setup(17, GPIO.OUT)
GPIO.setup(21, GPIO.OUT)
GPIO.setup(22, GPIO.OUT)
GPIO.setup(10, GPIO.OUT)
GPIO.setup(9, GPIO.OUT)
GPIO.setup(15, GPIO.OUT)
GPIO.setup(18, GPIO.OUT)
GPIO.setup(14, GPIO.OUT)
GPIO.setup(11, GPIO.OUT)
GPIO.setup(23, GPIO.OUT)
GPIO.setup(25, GPIO.OUT)
GPIO.setup(24, GPIO.OUT)
GPIO.setup(8, GPIO.OUT)
# Set "circ" to circumference of wheel
circ = 6
pass1 = 1
pass2 = 1
inwait = str()
SecPerClick = 1
stopcount = 1
firstdig = 0
sec
MPH = 0
lessthan10 = False
def display(firstdig,secondig,lessthan10):
# Check to see if the speed is less than 10 MPH
if (lessthan10 == True):
GPIO.output(9, False)
elif (lessthan10 == False):
GPIO.output(9, True)
# Turn off all lights except decimal
GPIO.output(1, True)
GPIO.output(4, True)
GPIO.output(17, True)
GPIO.output(0, True)
GPIO.output(21, True)
GPIO.output(22, True)
GPIO.output(10, True)
GPIO.output(14, True)
GPIO.output(15, True)
GPIO.output(18, True)
GPIO.output(11, True)
GPIO.output(23, True)
GPIO.output(25, True)
GPIO.output(24, True)
GPIO.output(8, True)
# Turn on lights for first digit
if (firstdig == 0):
GPIO.output(1, True)
GPIO.output(4, True)
GPIO.output(17, True)
GPIO.output(10, True)
GPIO.output(22, True)
GPIO.output(21, True)
GPIO.output(0, True)
elif (firstdig == 1):
GPIO.output(17, False)
GPIO.output(10, False)
elif (firstdig == 2):
GPIO.output(4, False)
GPIO.output(17, False)
GPIO.output(0, False)
GPIO.output(21, False)
GPIO.output(22, False)
elif (firstdig == 3):
GPIO.output(4, False)
GPIO.output(17, False)
GPIO.output(0, False)
GPIO.output(10, False)
GPIO.output(22, False)
elif (firstdig == 4):
GPIO.output(1, False)
GPIO.output(17, False)
GPIO.output(0, False)
GPIO.output(10, False)
elif (firstdig == 5):
GPIO.output(4, False)
GPIO.output(1, False)
GPIO.output(0, False)
GPIO.output(10, False)
GPIO.output(22, False)
elif (firstdig == 6):
GPIO.output(4, False)
GPIO.output(1, False)
GPIO.output(0, False)
GPIO.output(10, False)
GPIO.output(22, False)
GPIO.output(21, False)
elif (firstdig == 7):
GPIO.output(4, False)
GPIO.output(17, False)
GPIO.output(10, False)
elif (firstdig == 8):
GPIO.output(4, False)
GPIO.output(1, False)
GPIO.output(17, False)
GPIO.output(0, False)
GPIO.output(10, False)
GPIO.output(22, False)
GPIO.output(21, False)
elif (firstdig == 9):
GPIO.output(4, False)
GPIO.output(17, False)
GPIO.output(0, False)
GPIO.output(1, False)
GPIO.output(10, False)
GPIO.output(22, False)
# Turn on lights for second digit
if (sec 0):
GPIO.output(14, False)
GPIO.output(15, False)
GPIO.output(18, False)
GPIO.output(25, False)
GPIO.output(24, False)
GPIO.output(23, False)
elif (sec 1):
GPIO.output(18, False)
GPIO.output(25, False)
elif (sec 2):
GPIO.output(15, False)
GPIO.output(18, False)
GPIO.output(24, False)
GPIO.output(23, False)
GPIO.output(11, False)
elif (sec 3):
GPIO.output(15, False)
GPIO.output(18, False)
GPIO.output(25, False)
GPIO.output(24, False)
GPIO.output(11, False)
elif (sec 4):
GPIO.output(14, False)
GPIO.output(18, False)
GPIO.output(25, False)
GPIO.output(11, False)
elif (sec 5):
GPIO.output(14, False)
GPIO.output(15, False)
GPIO.output(25, False)
GPIO.output(24, False)
GPIO.output(11, False)
elif (sec 6):
GPIO.output(14, False)
GPIO.output(15, False)
GPIO.output(25, False)
GPIO.output(24, False)
GPIO.output(23, False)
GPIO.output(11, False)
elif (sec 7):
GPIO.output(15, False)
GPIO.output(18, False)
GPIO.output(25, False)
elif (sec 8):
GPIO.output(14, False)
GPIO.output(15, False)
GPIO.output(18, False)
GPIO.output(25, False)
GPIO.output(24, False)
GPIO.output(23, False)
GPIO.output(11, False)
elif (sec 9):
GPIO.output(14, False)
GPIO.output(15, False)
GPIO.output(18, False)
GPIO.output(25, False)
GPIO.output(24, False)
GPIO.output(11, False)
while True:
inputValue = GPIO.input(7)
if (inputValue == True):
stopcount = 1
if ( 1):
pass1 = time.time()
time.sleep(.1)
if ( 2):
pass2 = time.time()
- 2
time.sleep(.1)
if ( 0):
SecPerClick = (pass2 - pass1)
RotPerMi = 5280 / circ
SecPerMi = SecPerClick * RotPerMi
MPH = 3600 / SecPerMi
MPH = decimal.Decimal(MPH)
print(round(MPH,1))
if (MPH < 10):
if (MPH == 0):
lessthan10 = False
else:
lessthan10 = True
MPHround = round(MPH,2)
firstdig = int(MPHround)
dec = MPHround - firstdig
sec * 10)
else:
lessthan10 = False
firstdig = int(MPH/10)
sec - (firstdig * 10)
+ 1
if (inputValue == False and stopcount < 200):
stopcount = stopcount + 1
if (stopcount == 200):
firstdig = 0
sec
lessthan10 = False
MPH = 0
print(round(MPH,2))
display(firstdig,secondig,lessthan10)
time.sleep(.01)
Revise this Paste