Advertisement
gPiOBox

Further Project - Copy Me - Rpi

Nov 29th, 2017
497
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 4.27 KB | None | 0 0
  1. """
  2. filename:gpio_rpi_copyme.py
  3. Further Project - Copy Me
  4. written by Trevor Olsson
  5. © GPIO Support Services LTD MMXVII
  6. More info here: https://www.gpio.co.uk/copy-me/
  7. """
  8. from gpiozero import LED, Button
  9. import time
  10. from random import randint
  11. import os
  12. import sys
  13. import serial
  14.  
  15. count = 0
  16. Shopping = ""
  17. Btn = 0
  18. Bool = False
  19. Clickeyness = 0.1
  20. score = 0
  21. Round = 0
  22.  
  23. filename = "Scores.txt"
  24.  
  25. LED1 = LED(17)
  26.  
  27. LED2 = LED(18)
  28. LED3 = LED(27)
  29. LED4 = LED(22)
  30.  
  31. Btn1 = Button(4,pull_up=False)
  32. Btn2 = Button(14,pull_up=False)
  33. Btn3 = Button(15,pull_up=False)
  34. Btn4 = Button(25,pull_up=False)
  35.  
  36. serPort = serial.Serial("/dev/ttyACM0", 115200, timeout=1) # open serial port
  37. serPort.write(b"     ")
  38. time.sleep(1)
  39. serPort.write(b"-XXXX")
  40. time.sleep(1)
  41. serPort.write(b"X-XXX")
  42. time.sleep(1)
  43. serPort.write(b"XX-  ")
  44. time.sleep(1)
  45. serPort.write(b"XXX- ")
  46. time.sleep(1)
  47. serPort.write(b"XXXX-")
  48. time.sleep(1)
  49. serPort.write(b"start")
  50. time.sleep(1)
  51. serPort.write(b"     ")
  52.  
  53. def exitMe():
  54.     serPort.close()
  55.     sys.exit()
  56.  
  57. while count < 143 or Bool == False:
  58.     RandomNum = randint(1, 4)
  59.     Shopping = Shopping + str(RandomNum)
  60.        
  61.     count = count + 1
  62.    
  63.     for letter in Shopping:
  64.         if letter == "1":
  65.             LED1.on()
  66.             time.sleep(1)
  67.             LED1.off()
  68.             time.sleep(0.1)
  69.         elif letter == "2":
  70.             LED2.on()
  71.             time.sleep(1)
  72.             LED2.off()
  73.             time.sleep(0.1)
  74.         elif letter == "3":
  75.             LED3.on()
  76.             time.sleep(1)
  77.             LED3.off()
  78.             time.sleep(0.1)
  79.         elif letter == "4":
  80.             LED4.on()
  81.             time.sleep(1)
  82.             LED4.off()
  83.             time.sleep(0.1)
  84.         else:
  85.             LED1.on()
  86.             LED2.on()
  87.             LED3.on()
  88.             LED4.on()
  89.             time.sleep(1)
  90.             LED1.off()
  91.             LED2.off()
  92.             LED3.off()
  93.             LED4.off()
  94.     time.sleep(Clickeyness)
  95.     for letter in Shopping:
  96.         hello = True
  97.         print(letter)
  98.         while hello:
  99.             ##time.sleep(Clickeyness)
  100.            
  101.             if Btn1.is_pressed:
  102.                 Btn = 1
  103.                 hello = False
  104.                 while Btn1.is_pressed:
  105.                     time.sleep(0.1)
  106.             elif Btn2.is_pressed:
  107.                 Btn = 2
  108.                 hello = False
  109.                 while Btn2.is_pressed:
  110.                     time.sleep(0.1)
  111.             elif Btn3.is_pressed:
  112.                 Btn = 3
  113.                 hello = False
  114.                 while Btn3.is_pressed:
  115.                     time.sleep(0.1)
  116.             elif Btn4.is_pressed:
  117.                 Btn = 4
  118.                 hello = False
  119.                 while Btn4.is_pressed:
  120.                     time.sleep(0.1)
  121.          
  122.  
  123. #        print("if: "+str(Btn))
  124. #        print("if: "+str(letter))
  125.         if Btn != int(letter):
  126.             print("You Loose")
  127.             print(Btn, ":", letter)
  128.             Bool = True
  129.             print("Your score is " + str(score) + "!!!!")
  130.            
  131.             o = 0
  132.             data = [" "," "," "," "," "]
  133.             out = ""
  134.             serPort.write(b"-    ")
  135.             time.sleep(1)
  136.             serPort.write(b"X-   ")
  137.             time.sleep(1)
  138.             serPort.write(b"XX-  ")
  139.             time.sleep(1)
  140.             serPort.write(b"XXX- ")
  141.             time.sleep(1)
  142.             serPort.write(b"XXXX-")
  143.             time.sleep(1)
  144.             serPort.write(b"loser")
  145.             for char in str(score):
  146.                 data[o] = str(char)
  147.                 print("Char: " + str(char) + " Count: " + str(o))
  148.                 o = o+1
  149.             for cha in data:
  150.                 out = out+cha
  151.             serPort.write(str.encode(str(out)))
  152.             Btn = 0
  153.            
  154.             exitMe()
  155.         else:
  156.             count = count + 1
  157.             print("Next Round")
  158. #           score = score + count^2
  159.             print("Your score is " + str(score) + "!!!!")
  160.            
  161.             Btn = 0
  162.     Round = Round + 1
  163.     score = score + Round ** 2
  164.     o = 0
  165.     data = [" "," "," "," "," "]
  166.     out = ""
  167.     for char in str(score):
  168.         data[o] = str(char)
  169.         o = o+1
  170.     for cha in data:
  171.         out = out+cha
  172.     serPort.write(str.encode(str(out)))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement