Advertisement
Guest User

Untitled

a guest
Jul 27th, 2017
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.18 KB | None | 0 0
  1. #include <SoftwareSerial.h>
  2. #include <SevSeg.h>
  3.  
  4. unsigned long time;
  5. unsigned long T0;
  6. unsigned long T1;
  7. SevSeg myDisplay;
  8.  
  9. int degisimsayaci=0;
  10.  
  11.  
  12. unsigned long timer;
  13. int deciSecond = 0;
  14. int diffrent=0;
  15.  
  16. SoftwareSerial mySerial(10, 11); // RX, TX
  17.  
  18. void setup() {
  19.   // Open serial communications and wait for port to open:
  20.   Serial.begin(57600);
  21.   int displayType = COMMON_ANODE; //Your display is either common cathode or common anode
  22.  
  23.   int digit1 = 10; //Pin 12 on my 4 digit display
  24.   int digit2 = 13;//Pin 9 on my 4 digit display
  25.   int digit3 = 14; //Pin 8 on my 4 digit display
  26.   int digit4 = 4; //Pin 6 on my 4 digit display
  27.  
  28.   //Declare what pins are connected to the segments
  29.   int segA = 11; //Pin 11 on my 4 digit display
  30.   int segB = 15; //Pin 7 on my 4 digit display
  31.   int segC = 6; //Pin 4 on my 4 digit display
  32.   int segD = 8; //Pin 2 on my 4 digit display
  33.   int segE = 9; //Pin 1 on my 4 digit display
  34.   int segF = 12; //Pin 10 on my 4 digit display
  35.   int segG = 5; //Pin 5 on my 4 digit display
  36.   int segDP= 7; //Pin 3 on my 4 digit display
  37.    
  38.   int numberOfDigits = 4; //Do you have a 1, 2 or 4 digit display?
  39.  
  40.   myDisplay.Begin(displayType, numberOfDigits, digit1, digit2, digit3, digit4, segA, segB, segC, segD, segE, segF, segG, segDP);
  41.  
  42.   myDisplay.SetBrightness(85);    //Set the display to 100% brightness level
  43.  
  44.  
  45.   for(int i=0; i<500; i++){
  46.     myDisplay.DisplayString("8888", 4);
  47.   delay(3);
  48.   }
  49.     myDisplay.SetBrightness(1);
  50.    
  51.   timer = millis();
  52.   while (!Serial) {
  53.     ; // wait for serial port to connect. Needed for native USB port only
  54.   }
  55.  
  56.  
  57.   attachInterrupt(0, SetInt0, HIGH);
  58.   attachInterrupt(1, SetInt1, HIGH);
  59.  
  60.   Serial.println("Goodnight moon!");
  61.  
  62.   // set the data rate for the SoftwareSerial port
  63. }
  64.  
  65. void loop() { // run over and over
  66.   if((T1/1000)-(T0/1000) != diffrent){
  67.    myDisplay.SetBrightness(60);
  68.   if(T1>T0)
  69.   diffrent=(T1/1000)-(T0/1000);
  70.   else
  71.   diffrent=(T0/1000)-(T1/1000);
  72.  
  73.  
  74.   degisimsayaci = 0;
  75.   }
  76.   else
  77.   {
  78.     Serial.println("Ayni girdi sayac artirildi");
  79.     degisimsayaci++;
  80.  
  81.   if(degisimsayaci>350){
  82.           Serial.println("Girildi");
  83.  
  84.       Serial.println(degisimsayaci);
  85.       myDisplay.SetBrightness(1);
  86.     degisimsayaci = 0;
  87.     diffrent=0;
  88.     T1=0;
  89.     T0=0;
  90.   }
  91.   }
  92.  
  93.  
  94.  
  95.  
  96.   //Serial.println(T1/1000);
  97.  // Serial.println(T0/1000);
  98.   Serial.println(diffrent);
  99.     char tempString[10]; //Used for sprintf
  100.    //Used for sprintf
  101.    if(10 <diffrent <999) {
  102.   sprintf(tempString, "%4d", diffrent); //Convert deciSecond into a string that is right adjusted
  103.   myDisplay.DisplayString(tempString, 4);
  104.   }
  105.  
  106.   else if( diffrent==0)
  107.   {
  108.   myDisplay.DisplayString(" -- ", 0);
  109.  
  110.   }
  111.   else if{ diffrent > 0 && diffrent <    10)
  112.   {
  113.   sprintf(tempString, "%3d", diffrent);
  114.   myDisplay.DisplayString(tempString, 4);
  115.   }
  116.   //Produce an output on the display
  117.    //(numberToDisplay, decimal point location in binary number [4 means the third digit])
  118.   delay(5);
  119.  
  120. }
  121.  
  122.  
  123.  
  124.  
  125. void SetInt0()
  126.   {
  127.      // Serial.println("0. Int");
  128.       T0= micros();
  129.   }
  130.  
  131.   void SetInt1()
  132.   {
  133.      // Serial.println("1. Int");
  134.       T1= micros();
  135.   }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement