Last active
April 19, 2016 07:56
-
-
Save whatnick/74e203998309ec1d7ce9f1328cb1c06d to your computer and use it in GitHub Desktop.
Random number display on 7-segment LED
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
Show random numbers on a 7-segment display | |
from WDT based entropy source | |
https://github.com/taoyuan/Entropy | |
*/ | |
#include <Entropy.h> | |
byte leds[] = {2,3,4,5,14,15,16,17}; | |
//#define leds one | |
byte one[] = {0,6}; | |
byte two[] = {2,7,6,4,3}; | |
byte three[] = {2,7,6,4,0}; | |
byte four[] = {5,4,6,0}; | |
byte five[] = {7,5,4,0,2}; | |
byte six[] = {7,5,4,3,2,0}; | |
byte seven[] = {7,6,0}; | |
byte eight[] = {0,2,3,4,5,6,7}; | |
byte nine[] = {7,6,5,4,0,2}; | |
byte zero[] = {0,2,3,5,7,6,1}; | |
byte* nums[] = {zero,one,two,three,four, | |
five,six,seven,eight, | |
nine}; | |
byte numsize[] = {7,2,5,5,4,5,6,3,7,6}; | |
byte ii = 0; | |
byte num_in = 0; | |
// the setup routine runs once when you press reset: | |
void setup() { | |
Serial.begin(9600); | |
Entropy.initialize(); | |
// initialize the digital pin as an output. | |
for(byte i=0;i<8;i++) | |
{ | |
pinMode(leds[i], OUTPUT); | |
} | |
//Do display test | |
for(ii=0;ii<sizeof(leds);ii++) | |
{ | |
digitalWrite(leds[ii], HIGH); // turn the LEDs off | |
} | |
delay(1000); | |
for(ii=0;ii<sizeof(leds);ii++) | |
{ | |
digitalWrite(leds[ii], LOW); // turn the LEDs off | |
} | |
} | |
// the loop routine runs over and over again forever: | |
void loop() { | |
num_in = Entropy.random(0,9); | |
byte* curnum = nums[num_in]; | |
byte size_n = numsize[num_in]; | |
for(ii=0;ii<size_n;ii++) | |
{ | |
digitalWrite(leds[nums[num_in][ii]], HIGH); // turn the LED on | |
} | |
delay(1000); | |
for(ii=0;ii<sizeof(leds);ii++) | |
{ | |
digitalWrite(leds[ii], LOW); // turn the LEDs off | |
} | |
delay(1000); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment