Advertisement
Guest User

Untitled

a guest
Dec 7th, 2016
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.33 KB | None | 0 0
  1. #include "Timer.h"
  2. Timer t;
  3. byte D[4]; //Što se prikazuje na kojem pokaznik
  4.  
  5. void setup() {
  6. for(int i=2; i<14; i++){
  7. pinMode(i, OUTPUT);
  8. }
  9. t.every(1, prikaz); //Svake 1ms poziva funkciju upali
  10. t.every(1000,sekunda);
  11. for (int i=0;i<4; i++){
  12. digitalWrite(i+2, HIGH); //Gasi sva 4 displaya //pinovi 2,3,4,5
  13. }
  14. }
  15.  
  16.  
  17. void loop() {
  18. t.update();
  19. }
  20. void sekunda(){
  21. D[3]++;
  22. if(D[3]>9){
  23. D[3]=0;
  24. D[2]=D[1]+1;
  25. if(D[2]>9){
  26. D[2]=0;
  27. D[1]++;
  28. if(D[1]>9){
  29. D[1]=0;
  30. D[0]++;
  31. if(D[0]>9){
  32. D[0]=0;
  33. }
  34. }
  35. }
  36. }
  37. }
  38. int d=0; //d=0...3
  39. void prikaz(){
  40. digitalWrite(d+2, HIGH); //Ugasi sljedeći display
  41. d++;
  42. if(d>3){
  43. d=0;
  44. }
  45. ispis(D[d]);
  46. digitalWrite(d+2, LOW); //Upali sljedeći display
  47. }
  48. void ispis(byte x){
  49. switch(x){
  50. case 0: x=0b11000000; break;
  51. case 1: x=0b11111001; break;
  52. case 2: x=0b10100100; break;
  53. case 3: x=0b10110000; break;
  54. case 4: x=0b10011001; break;
  55. case 5: x=0b10010010; break;
  56. case 6: x=0b10000010; break;
  57. case 7: x=0b11111000; break;
  58. case 8: x=0b10000000; break;
  59. case 9: x=0b10010000; break;
  60. default:break;
  61. }
  62. for(int i=0;i<8;i++){
  63. digitalWrite(i+6,x&(1<<i));
  64. }
  65. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement