Hand-held Lottery Number Generator and Temperature and Humidity Meter

This unit shows the actual temperature and humidity level after it booted up. The first two digits on the display represent the humidity, and the second two digits shows the temperate readings. If someone starts shaking the unit it will generate two random decimal numbers. The unit will pick random decimal numbers from the 1 to 90 range in default. The range can be changed with touch buttons. If someone touches one of the buttons, the display shows two decimal numbers. The first is the minimum value of the range and the second number is the maximum value.

Button 1 increases the first digit of the display (the min. value increase with 10).

Button 2 increases the second digit of the display (the min. value increase with 1).

Button 3 increases the third digit of the display (the max. value increase with 10).

Button 4 increases the fourth digit of the display (the max. value increase with 1).

The unit is powered by two AAA batteries. The internal voltage is regulated up 5 V. It has a built in accelerometer which detecting if the unit is moving.

Step 1: PCB and Components

Manufacture the PCB board according gerber files.Or simply build it on a proto board.

Attachments

Step 2: Assembly PCB and the Components 1.

Steps:

1. Soldering PIN-s on booth side.

2. Install switch. (prototype had small drills, corrected in v12 )

3. Install DHT 11 temperature and humidity sensor. (prototype had only 3 connection because it was planned to use with DHT 22, corrected in v12 booth DHT11 and DHT22 can be used, resistors should decide )

4. Fix battery holder with two screw and solder connection. (prototype had polarity problem, and small drills, corrected in v12 )

Step 3: Assembly PCB and the Components 2.

Upload the attached software.

For uploading or changing the code download and install Arduino Software.

Use a Crius FTDI Basic Breakout 5V USB to TTL 6-Pin Module (other downloader could also work), to connect the PC to the Arduino.

I used the following libraries thanks for them, before using check their licencing:

PCB Contest

Safe and Secure Challenge

Faux-Real Contest

5 Discussions

I like this!!! I would also add some mixture of the seed being derived from XORing accelerometer shakes deltaT's ( more then one axis), temp, humidity, and the analog read A0: is that just an A/D read of the open pin? Does it change radically from successive reads? Very cool and well done!

Please never take my comments as trolling. I try to only comment on stuff I really like. I was a HW/SW designer for a large point of sale company and we had to generate true random seeds for certain aspects of the terminals. One method used did checksums over volatile memory or registers prior to being initialized. Some ideas used dynamic memory that was temporarily refreshed then tested during charge fade. I just wanted to help to improve seeding for lottery chaos happiness.