Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <SoftwareSerial.h>
- #include <SevSeg.h>
- unsigned long time;
- unsigned long T0;
- unsigned long T1;
- SevSeg myDisplay;
- int degisimsayaci=0;
- unsigned long timer;
- int deciSecond = 0;
- int diffrent=0;
- SoftwareSerial mySerial(10, 11); // RX, TX
- void setup() {
- // Open serial communications and wait for port to open:
- Serial.begin(57600);
- int displayType = COMMON_ANODE; //Your display is either common cathode or common anode
- int digit1 = 10; //Pin 12 on my 4 digit display
- int digit2 = 13;//Pin 9 on my 4 digit display
- int digit3 = 14; //Pin 8 on my 4 digit display
- int digit4 = 4; //Pin 6 on my 4 digit display
- //Declare what pins are connected to the segments
- int segA = 11; //Pin 11 on my 4 digit display
- int segB = 15; //Pin 7 on my 4 digit display
- int segC = 6; //Pin 4 on my 4 digit display
- int segD = 8; //Pin 2 on my 4 digit display
- int segE = 9; //Pin 1 on my 4 digit display
- int segF = 12; //Pin 10 on my 4 digit display
- int segG = 5; //Pin 5 on my 4 digit display
- int segDP= 7; //Pin 3 on my 4 digit display
- int numberOfDigits = 4; //Do you have a 1, 2 or 4 digit display?
- myDisplay.Begin(displayType, numberOfDigits, digit1, digit2, digit3, digit4, segA, segB, segC, segD, segE, segF, segG, segDP);
- myDisplay.SetBrightness(85); //Set the display to 100% brightness level
- for(int i=0; i<500; i++){
- myDisplay.DisplayString("8888", 4);
- delay(3);
- }
- myDisplay.SetBrightness(1);
- timer = millis();
- while (!Serial) {
- ; // wait for serial port to connect. Needed for native USB port only
- }
- attachInterrupt(0, SetInt0, HIGH);
- attachInterrupt(1, SetInt1, HIGH);
- Serial.println("Goodnight moon!");
- // set the data rate for the SoftwareSerial port
- }
- void loop() { // run over and over
- if((T1/1000)-(T0/1000) != diffrent){
- myDisplay.SetBrightness(60);
- if(T1>T0)
- diffrent=(T1/1000)-(T0/1000);
- else
- diffrent=(T0/1000)-(T1/1000);
- degisimsayaci = 0;
- }
- else
- {
- Serial.println("Ayni girdi sayac artirildi");
- degisimsayaci++;
- if(degisimsayaci>350){
- Serial.println("Girildi");
- Serial.println(degisimsayaci);
- myDisplay.SetBrightness(1);
- degisimsayaci = 0;
- diffrent=0;
- T1=0;
- T0=0;
- }
- }
- //Serial.println(T1/1000);
- // Serial.println(T0/1000);
- Serial.println(diffrent);
- char tempString[10]; //Used for sprintf
- //Used for sprintf
- if(10 <diffrent <999) {
- sprintf(tempString, "%4d", diffrent); //Convert deciSecond into a string that is right adjusted
- myDisplay.DisplayString(tempString, 4);
- }
- else if( diffrent==0)
- {
- myDisplay.DisplayString(" -- ", 0);
- }
- else if{ diffrent > 0 && diffrent < 10)
- {
- sprintf(tempString, "%3d", diffrent);
- myDisplay.DisplayString(tempString, 4);
- }
- //Produce an output on the display
- //(numberToDisplay, decimal point location in binary number [4 means the third digit])
- delay(5);
- }
- void SetInt0()
- {
- // Serial.println("0. Int");
- T0= micros();
- }
- void SetInt1()
- {
- // Serial.println("1. Int");
- T1= micros();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement