Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const byte PIN_IRQ = 0; // INT0 / DIP_PIN4 / DIGITAL_PIN2 / PD2
- #define LAMP1 3
- #define LAMP2 4
- #define LAMP3 5
- #define LAMP4 6
- #define LAMP5 7
- volatile int pulseCount = 0;
- volatile boolean berbuah = false;
- void pulseCounter() { pulseCount++; berbuah = true; }
- void setup() {
- pinMode(LAMP1, OUTPUT); digitalWrite(LAMP1,LOW);
- pinMode(LAMP2, OUTPUT); digitalWrite(LAMP2,LOW);
- pinMode(LAMP3, OUTPUT); digitalWrite(LAMP3,LOW);
- pinMode(LAMP4, OUTPUT); digitalWrite(LAMP4,LOW);
- pinMode(LAMP5, OUTPUT); digitalWrite(LAMP5,LOW);
- attachInterrupt(PIN_IRQ, pulseCounter, FALLING);
- };
- void loop() {
- if(berbuah) {
- berbuah = false;
- detachInterrupt(PIN_IRQ);
- // yg ini: lampu nyala bergantian dari 1 s/d 5 dan kembali ke 1
- switch(pulseCount) {
- case 1: digitalWrite(LAMP1,HIGH); break;
- case 2: digitalWrite(LAMP1,LOW); digitalWrite(LAMP2,HIGH); break;
- case 3: digitalWrite(LAMP2,LOW); digitalWrite(LAMP3,HIGH); break;
- case 4: digitalWrite(LAMP3,LOW); digitalWrite(LAMP4,HIGH); break;
- case 5: digitalWrite(LAMP4,LOW); digitalWrite(LAMP5,HIGH); break;
- case 6: digitalWrite(LAMP5,LOW); pulseCount=0; break;
- }
- /*
- // yg ini: lampu11 nyala, kmudian lampu2, sampe akhirnya bareng nyala semua
- switch(pulseCount) {
- case 1: digitalWrite(LAMP1,HIGH); break;
- case 2: digitalWrite(LAMP2,HIGH); break;
- case 3: digitalWrite(LAMP3,HIGH); break;
- case 4: digitalWrite(LAMP4,HIGH); break;
- case 5: digitalWrite(LAMP5,HIGH); break;
- case 6: digitalWrite(LAMP1,LOW); digitalWrite(LAMP2,LOW); digitalWrite(LAMP3,LOW);
- digitalWrite(LAMP4,LOW); digitalWrite(LAMP5,LOW); pulseCount=0; break;
- }
- */
- /*
- // yg ini: lampu nyala bergantian dari 1 s/d 5 dan kembali ke 4 3 2 1
- switch(pulseCount) {
- case 1: digitalWrite(LAMP1,HIGH); break;
- case 2: digitalWrite(LAMP1,LOW); digitalWrite(LAMP2,HIGH); break;
- case 3: digitalWrite(LAMP2,LOW); digitalWrite(LAMP3,HIGH); break;
- case 4: digitalWrite(LAMP3,LOW); digitalWrite(LAMP4,HIGH); break;
- case 5: digitalWrite(LAMP4,LOW); digitalWrite(LAMP5,HIGH); break;
- case 6: digitalWrite(LAMP5,LOW); digitalWrite(LAMP4,HIGH); break;
- case 7: digitalWrite(LAMP4,LOW); digitalWrite(LAMP3,HIGH); break;
- case 8: digitalWrite(LAMP3,LOW); digitalWrite(LAMP2,HIGH); break;
- case 9: digitalWrite(LAMP2,LOW); digitalWrite(LAMP1,HIGH); pulseCount=1; break;
- }
- */
- attachInterrupt(PIN_IRQ, pulseCounter, FALLING);
- }
- delay(125);
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement