Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "Timer.h"
- Timer t;
- byte D[4]; //Što se prikazuje na kojem pokaznik
- void setup() {
- for(int i=2; i<14; i++){
- pinMode(i, OUTPUT);
- }
- t.every(1, prikaz); //Svake 1ms poziva funkciju upali
- t.every(1000,sekunda);
- for (int i=0;i<4; i++){
- digitalWrite(i+2, HIGH); //Gasi sva 4 displaya //pinovi 2,3,4,5
- }
- }
- void loop() {
- t.update();
- }
- void sekunda(){
- D[3]++;
- if(D[3]>9){
- D[3]=0;
- D[2]=D[1]+1;
- if(D[2]>9){
- D[2]=0;
- D[1]++;
- if(D[1]>9){
- D[1]=0;
- D[0]++;
- if(D[0]>9){
- D[0]=0;
- }
- }
- }
- }
- }
- int d=0; //d=0...3
- void prikaz(){
- digitalWrite(d+2, HIGH); //Ugasi sljedeći display
- d++;
- if(d>3){
- d=0;
- }
- ispis(D[d]);
- digitalWrite(d+2, LOW); //Upali sljedeći display
- }
- void ispis(byte x){
- switch(x){
- case 0: x=0b11000000; break;
- case 1: x=0b11111001; break;
- case 2: x=0b10100100; break;
- case 3: x=0b10110000; break;
- case 4: x=0b10011001; break;
- case 5: x=0b10010010; break;
- case 6: x=0b10000010; break;
- case 7: x=0b11111000; break;
- case 8: x=0b10000000; break;
- case 9: x=0b10010000; break;
- default:break;
- }
- for(int i=0;i<8;i++){
- digitalWrite(i+6,x&(1<<i));
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement