Advertisement
v12345vtm

klopvoordeur

Mar 24th, 2017
149
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.93 KB | None | 0 0
  1.  
  2. String versie = "klopvoordeur.ino";
  3.  
  4. int leddag = 13; //
  5. int tel =0;
  6.  
  7.  
  8. void pciSetup(byte pin)
  9. {
  10. *digitalPinToPCMSK(pin) |= bit (digitalPinToPCMSKbit(pin)); // enable pin
  11. PCIFR |= bit (digitalPinToPCICRbit(pin)); // clear any outstanding interrupt
  12. PCICR |= bit (digitalPinToPCICRbit(pin)); // enable interrupt for the group
  13. }
  14.  
  15. // Use one Routine to handle each group
  16.  
  17.  
  18.  
  19. ISR (PCINT1_vect) // handle pin change interrupt for A0 to A5 here
  20. {
  21.  
  22. tel++;
  23. if (digitalRead(A0) == 1) {
  24. Serial.println( "a0 =1" + String(tel ) );
  25.  
  26. digitalWrite(leddag, HIGH);
  27.  
  28. }
  29.  
  30. if (digitalRead(A0) == 0) {
  31. Serial.println( "a0 =0" + String(tel ) );
  32.  
  33. digitalWrite(leddag, LOW);
  34.  
  35. }
  36.  
  37. }
  38.  
  39. ISR(TIMER1_COMPA_vect) { //timer1 interrupt 1Hz toggles pin 13 (LED)
  40. //generates pulse wave of frequency 1Hz/2 = 0.5kHz (takes two cycles for full wave- toggle high then toggle low)
  41.  
  42. }/////einde timerinterupt timer1
  43.  
  44. void setup() {
  45. int i;
  46.  
  47. Serial.begin(115200);
  48. delay(1000);
  49. Serial.println (versie);
  50.  
  51. for (i = A0; i <= A5; i++)
  52. digitalWrite(i, HIGH);
  53. pinMode(13, OUTPUT); //
  54.  
  55. // enable interrupt for pin...
  56. // pciSetup(7);
  57. // pciSetup(8);
  58. // pciSetup(9);
  59. pciSetup(A0);
  60.  
  61.  
  62. cli();//stop interrupts
  63.  
  64.  
  65. //set timer1 interrupt at 1Hz
  66. TCCR1A = 0;// set entire TCCR1A register to 0
  67. TCCR1B = 0;// same for TCCR1B
  68. TCNT1 = 0;//initialize counter value to 0
  69. // set compare match register for 1hz increments
  70. OCR1A = 15624;// = (16*10^6) / (1*1024) - 1 (must be <65536)
  71. // OCR1A = 500;//debug vith
  72. // turn on CTC mode
  73. TCCR1B |= (1 << WGM12);
  74. // Set CS12 and CS10 bits for 1024 prescaler
  75. TCCR1B |= (1 << CS12) | (1 << CS10);
  76. // enable timer compare interrupt
  77. TIMSK1 |= (1 << OCIE1A);
  78.  
  79. sei();//allow interrupts
  80.  
  81. }
  82.  
  83. ///////////////////////MAINLOOP//////////////////////
  84. void loop() {
  85.  
  86.  
  87. }//EINDE MAINLOOP////////////////////////
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement