Advertisement
Guest User

Untitled

a guest
Feb 9th, 2016
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.86 KB | None | 0 0
  1.  
  2. volatile unsigned long reader1 = 0;
  3.  
  4. volatile int reader1Count = 0;
  5. volatile int overallCount = 0;
  6.  
  7. void reader1One(void) {
  8.   reader1Count++;
  9.   reader1 = reader1 << 1;
  10.   reader1 |= 1;
  11.   Serial.print("1");
  12. }
  13.  
  14. void reader1Zero(void) {
  15.   reader1Count++;
  16.   reader1 = reader1 << 1;
  17.   Serial.print("0");
  18. }
  19.   int beep = 4;
  20.   int red = 5;
  21.   int green = 6;
  22.   int bzz = 10;
  23.  
  24. // funkcja otwierająca krate
  25. int krata(int i)
  26. {
  27.   digitalWrite(bzz, i);    
  28. }
  29.  
  30.  
  31. void setup()
  32. {
  33.   Serial.begin(9600);
  34.   Serial.print("Gotowy");
  35.  
  36.   attachInterrupt(0, reader1Zero, RISING);//DATA0 to pin 2
  37.   attachInterrupt(1, reader1One, RISING); //DATA1 to pin 3
  38.   delay(10);
  39.  
  40.   for(int i = 2; i<4; i++){
  41.     pinMode(i, OUTPUT);
  42.     digitalWrite(i, HIGH);
  43.     digitalWrite(i, LOW);
  44.     pinMode(i, INPUT);
  45.     digitalWrite(i, HIGH);
  46.   }
  47.   delay(10);
  48.  
  49.   reader1 = 0;
  50.   reader1Count = 0;
  51.  
  52.   pinMode(beep, OUTPUT); //pin beepera
  53.   pinMode(red, OUTPUT); //pin czerwonego leda
  54.   pinMode(green, OUTPUT); // pin zielonego leda
  55.   pinMode(bzz, OUTPUT); //pin przekaznika
  56.   digitalWrite(beep, HIGH);  //wylaczenie beepera
  57.   digitalWrite(red, LOW); //wlacenie czerwonego leda
  58.   digitalWrite(green, LOW);  // wlaczenie zielonego leda
  59.  
  60. }
  61.  
  62. void loop()
  63. {
  64.   if(reader1Count >=32){
  65.       int serialNumber=(reader1 >> 1) & 0x3fff;
  66.       int siteCode= (reader1 >> 17) & 0x3ff;
  67.       Serial.print(serialNumber) ;
  68.      reader1 = 0;
  69.      reader1Count = 0;
  70.   }
  71.     if (Serial.available()) {
  72.     int asd = Serial.read();
  73.     if(asd == 49)
  74.     {
  75.         digitalWrite(green, HIGH);
  76.         krata(1);
  77.         delay(1000);
  78.         krata(0);
  79.         digitalWrite(green, LOW);
  80.     } else if(asd == 50){
  81.         digitalWrite(beep, LOW);
  82.         digitalWrite(red, HIGH);
  83.         delay(500);
  84.         digitalWrite(beep, HIGH);  
  85.         digitalWrite(red, LOW);
  86.       }
  87.     }
  88. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement