====== 电子筛子 ====== {{ :os:tep:shaizi.gif?nolink |}} ---- 史上最透明电子筛子,代码公开如下: unsigned char number[16] = { //PCDEGFAB 0b01110111, //0 0b01000001, //1 0b00111011, //2 0b01101011, //3 0b01001101, //4 0b01101110, //5 0b01111110, //6 0b01000011, //7 0b01111111, //8 0b01101111, //9 0b00000010, 0b00000001, 0b01000000, 0b00100000, 0b00010000, 0b00000100 }; void dis_num(unsigned char num){ for (int i = 0; i < 8; i++){ digitalWrite(i + 6, !(number[num]&(0x80 >> i))); } } void setup() { // put your setup code here, to run once: randomSeed(analogRead(0)); pinMode(2, INPUT); pinMode(3, INPUT); pinMode(4, INPUT); pinMode(5, INPUT); pinMode(6, OUTPUT); pinMode(7, OUTPUT); pinMode(8, OUTPUT); pinMode(9, OUTPUT); pinMode(10, OUTPUT); pinMode(11, OUTPUT); pinMode(12, OUTPUT); pinMode(13, OUTPUT); } int randNumber = 0; void loop() { if (digitalRead(3) == LOW){ delay(50); if (digitalRead(3) == LOW){ randNumber = random(6)+1; } int j = 0; while (digitalRead(3) == LOW){ dis_num(10+j); delay(50); j++; if (j > 5) j = 0; } dis_num(randNumber); } }