RPI.GPIO Help
hakugin.gin at gmail.com
hakugin.gin at gmail.com
Mon Sep 14 08:53:32 EDT 2015
On Sunday, September 13, 2015 at 2:09:11 AM UTC-4, John McKenzie wrote:
> Hello, there.
<snip>
>
> Hakugin, thank you you as well. I took the basic ideas you showed me for
> improvement and used them. The pulse settings variable was not liked by
> the interpreter, so I simplified it. I turned it into a hex value for
> each button press, then in the main loop I inserted the whole line for
> the LED pulse command, but put "pulse_settings" after "hex=" in the
> arguments. This worked.
>
I realized the error with my example after I got home and forgot to update it. The issue was with:
(red=255, green=0, blue=0, repeats=1, duration=2000, steps=50)
I had copied and pasted that and should have removed the "red=", "green=", etc. I'm glad you were able to work it out.
> I added a few green blinks of the LED to indicate the starting and
> stopping of the script. Also, I got the log files score print outs upon
> exit working. Very important, and also importantly, I have it so it stops
> after a certain amount of time. For testing, I have it at 60 seconds, but
> games will be 3600 seconds on average when really being used.
>
> The stopping after a certain amount of time was done in a way that
> apparently technically works, but seems very weird and probably wrong to
> me. You may freak out when you see it. I used an else statement inside a
> while loop and it just feels so strange. At least it works.
>
> Hoping I might be able to make it so I boot the Pi, it loads the script,
> script waits for the user to tell it how long to make a game, game
> starts, scripts ends game at appropriate time, saves dated log file with
> scores, then waits for user to enter new game length to start new game.
> This is probably way to much to hope to accomplish in time. For next year
> for sure though. It would be better for the referees to operate that way.
>
Having the game load when the Pi starts is fairly easy, but I'd recommend searching the official Raspberry Pi forums. Last time I was there I saw quite a few posts on various ways to accomplish this.
As for allowing someone to enter a game time limit you can change your "gamelength" variable assignment to something along the lines of:
gamelength = None
while not isinstance(gamelength, int):
gamelength = raw_input("Please enter a game time limit:\n")
try:
gamelength = int(gamelength) # Converts to integer
except:
print("Invalid entry. Time limit must be a number.\n")
pass # ignore error and allow the loop to start over
I was able to test this code, and you will want to add it before your main game loop.
> Next I will try and integrate wireless communications. If anyone here
> knows Synapse RF modules well, or at all, PLEASE contact me.
>
>
> Here is the code I did up most recently. Again, thanks for all the
> suggestions, code examples, and general help.
>
<snip>
>
> while time.time() < gamestart + gamelength:
>
This is actually how I personally would have accomplished the task of having it end at a specific time. There may be other ways though.
More information about the Python-list
mailing list