Random Numbers


Closed Thread
Results 1 to 13 of 13

Thread: Random Numbers

Hybrid View

  1. #1
    Join Date
    Feb 2005
    Location
    Holmfirth England
    Posts
    116


    Did you find this post helpful? Yes | No

    Smile

    Thnx for the replies, as you can see i did have a loop like that right at the beginning of the program

    jmp1:
    random temp
    if sw1 = 1 then goto start
    goto jmp1

    I first tried using a similar loop between each number fetching routine, but this meant pressing the button 5 times.

    In the end i have used 2 pics. The first one uses 5 random vars to pause for random ammounts of micro seconds, and acts as the button press, the second one simply counts up until it sees a button press, then i use //9 to get the number from 0 to 8. checks to see if it is zero or has already been chosen & repeats if so.

    In conclusion, the pbp random statement is the least random thing I have ever come across, a mate tells me he had a similar problem with visual basic, so it is not a flaw with PBP. I just wish the lottery used a computer, I might be able to work out the winning numbers.

    Thanks for the help guys

  2. #2


    Did you find this post helpful? Yes | No

    Default

    Try something like this:
    LET X = 0

    JMP1:
    LET X = (X + 1)
    IF X >=9 THEN LET X = 0
    IF SW1 = 1 THEN START
    GOTO JMP1

    YOU WILL GET A RANDOM NUMBER FROM 0 TO 8. IT WILL BE TRULY RANDOM. IT IS POSSIBLE FOR THE NUMBER TO BE THE SAME WITH A SUBSEQUENT PUSH OF THE SWITCH.

  3. #3
    Join Date
    Nov 2003
    Location
    Wellton, U.S.A.
    Posts
    5,924


    Did you find this post helpful? Yes | No

    Default

    Quote Originally Posted by peterdeco1 View Post
    Try something like this:
    LET X = 0

    JMP1:
    LET X = (X + 1)
    IF X >=9 THEN LET X = 0
    IF SW1 = 1 THEN START
    GOTO JMP1

    YOU WILL GET A RANDOM NUMBER FROM 0 TO 8. IT WILL BE TRULY RANDOM. IT IS POSSIBLE FOR THE NUMBER TO BE THE SAME WITH A SUBSEQUENT PUSH OF THE SWITCH.
    Not sure it can be called truly random. Given a certain amount of time the number will always be the same.
    Dave
    Always wear safety glasses while programming.

  4. #4
    Join Date
    Nov 2003
    Location
    Wellton, U.S.A.
    Posts
    5,924


    Did you find this post helpful? Yes | No

    Default

    Dave
    Always wear safety glasses while programming.

  5. #5
    skimask's Avatar
    skimask Guest


    Did you find this post helpful? Yes | No

    Default

    What I usually do when I need to use RANDOM, is to seed it with a 16 bit timer value, and then add a few other variables I've got around and always tie grabbing that random number with some sort of human interaction.
    If you've got an event that relies on human interaction somehow (i.e. button press) and a tight loop somewhere, there ain't no way you're going to get a continuously repeatable result.
    True, RANDOM in PBP isn't all that random, but when you start adding the 'YOU' factor to it, you can get decent results...

  6. #6
    Join Date
    Sep 2006
    Location
    Indiana, USA
    Posts
    72


    Did you find this post helpful? Yes | No

    Default why not use noise?

    Like maybe use a floating pin or some other means for a spare pin to pick up some "static" to generate an interupt or something?. But there again you may only pick up 60Hz (or 50), but i have heard of people doing this to get random randomness

  7. #7


    Did you find this post helpful? Yes | No

    Default

    Like maybe use a floating pin or some other means for a spare pin to pick up some "static"
    This has crossed my mind also ( didnt tryed yet though ).
    I think that you can get decent random results using a spare pin with ADC grabbing nothing but noise.

    You can then get 1 ou 2 bits from that "noise" which i believe it would be pretty random.

  8. #8
    Join Date
    Dec 2005
    Location
    So Cal and loving it
    Posts
    40


    Did you find this post helpful? Yes | No

    Default

    This is untested, but was thinking of trying it someday....

    The theory.
    Leave an analog pin floating and take a voltage measurement to use as the seed for the random number.

    Not sure how mach variation there will be in each of the measurements. The other thing would be to reduce the sample time for the conversion which may give to less accuracy and give better random results.
    Also, if the pin is connected to a wire or long track, it should act as an antenna and increase the variation in the measurements.

    Maybe some of the experts around here will have any ideas if this could work

    Paul
    +-------------------------------------------------------------------+
    | PBP 2.47/2.50 | MCS+ 3.0.0.5 | U2 Prog | Vista x64 | NO SLEEP!!!!!!! |
    +-------------------------------------------------------------------+

Similar Threads

  1. Questions on random numbers and multiplexing LEDs
    By AaronM in forum mel PIC BASIC Pro
    Replies: 1
    Last Post: - 17th June 2009, 04:22
  2. Replies: 4
    Last Post: - 15th April 2009, 01:54
  3. Limite random numbers from 1 to 9
    By Pedro Santos in forum mel PIC BASIC Pro
    Replies: 1
    Last Post: - 15th March 2007, 12:34
  4. 6 random numbers limiting to 49 ?????
    By SuB-ZeRo in forum mel PIC BASIC Pro
    Replies: 5
    Last Post: - 15th June 2005, 23:27
  5. random numbers 1-4
    By tekdavid in forum mel PIC BASIC
    Replies: 3
    Last Post: - 30th March 2005, 11:05

Members who have read this thread : 3

You do not have permission to view the list of names.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts