Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- """
- filename:gpio_rpi_copyme.py
- Further Project - Copy Me
- written by Trevor Olsson
- © GPIO Support Services LTD MMXVII
- More info here: https://www.gpio.co.uk/copy-me/
- """
- from gpiozero import LED, Button
- import time
- from random import randint
- import os
- import sys
- import serial
- count = 0
- Shopping = ""
- Btn = 0
- Bool = False
- Clickeyness = 0.1
- score = 0
- Round = 0
- filename = "Scores.txt"
- LED1 = LED(17)
- LED2 = LED(18)
- LED3 = LED(27)
- LED4 = LED(22)
- Btn1 = Button(4,pull_up=False)
- Btn2 = Button(14,pull_up=False)
- Btn3 = Button(15,pull_up=False)
- Btn4 = Button(25,pull_up=False)
- serPort = serial.Serial("/dev/ttyACM0", 115200, timeout=1) # open serial port
- serPort.write(b" ")
- time.sleep(1)
- serPort.write(b"-XXXX")
- time.sleep(1)
- serPort.write(b"X-XXX")
- time.sleep(1)
- serPort.write(b"XX- ")
- time.sleep(1)
- serPort.write(b"XXX- ")
- time.sleep(1)
- serPort.write(b"XXXX-")
- time.sleep(1)
- serPort.write(b"start")
- time.sleep(1)
- serPort.write(b" ")
- def exitMe():
- serPort.close()
- sys.exit()
- while count < 143 or Bool == False:
- RandomNum = randint(1, 4)
- Shopping = Shopping + str(RandomNum)
- count = count + 1
- for letter in Shopping:
- if letter == "1":
- LED1.on()
- time.sleep(1)
- LED1.off()
- time.sleep(0.1)
- elif letter == "2":
- LED2.on()
- time.sleep(1)
- LED2.off()
- time.sleep(0.1)
- elif letter == "3":
- LED3.on()
- time.sleep(1)
- LED3.off()
- time.sleep(0.1)
- elif letter == "4":
- LED4.on()
- time.sleep(1)
- LED4.off()
- time.sleep(0.1)
- else:
- LED1.on()
- LED2.on()
- LED3.on()
- LED4.on()
- time.sleep(1)
- LED1.off()
- LED2.off()
- LED3.off()
- LED4.off()
- time.sleep(Clickeyness)
- for letter in Shopping:
- hello = True
- print(letter)
- while hello:
- ##time.sleep(Clickeyness)
- if Btn1.is_pressed:
- Btn = 1
- hello = False
- while Btn1.is_pressed:
- time.sleep(0.1)
- elif Btn2.is_pressed:
- Btn = 2
- hello = False
- while Btn2.is_pressed:
- time.sleep(0.1)
- elif Btn3.is_pressed:
- Btn = 3
- hello = False
- while Btn3.is_pressed:
- time.sleep(0.1)
- elif Btn4.is_pressed:
- Btn = 4
- hello = False
- while Btn4.is_pressed:
- time.sleep(0.1)
- # print("if: "+str(Btn))
- # print("if: "+str(letter))
- if Btn != int(letter):
- print("You Loose")
- print(Btn, ":", letter)
- Bool = True
- print("Your score is " + str(score) + "!!!!")
- o = 0
- data = [" "," "," "," "," "]
- out = ""
- serPort.write(b"- ")
- time.sleep(1)
- serPort.write(b"X- ")
- time.sleep(1)
- serPort.write(b"XX- ")
- time.sleep(1)
- serPort.write(b"XXX- ")
- time.sleep(1)
- serPort.write(b"XXXX-")
- time.sleep(1)
- serPort.write(b"loser")
- for char in str(score):
- data[o] = str(char)
- print("Char: " + str(char) + " Count: " + str(o))
- o = o+1
- for cha in data:
- out = out+cha
- serPort.write(str.encode(str(out)))
- Btn = 0
- exitMe()
- else:
- count = count + 1
- print("Next Round")
- # score = score + count^2
- print("Your score is " + str(score) + "!!!!")
- Btn = 0
- Round = Round + 1
- score = score + Round ** 2
- o = 0
- data = [" "," "," "," "," "]
- out = ""
- for char in str(score):
- data[o] = str(char)
- o = o+1
- for cha in data:
- out = out+cha
- serPort.write(str.encode(str(out)))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement