Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* program 3 led 1 button : dgn 3 mode tekan...
- tekan ke 1 = lampu 1 berkedip - kedip terus
- tekan ke 2 = lampu 1 mati, lampu 2 berkedip - kedip terus
- tekan ke 3 = lampu 2 mati, lampu 3 berkedip - kedip terus
- tekan ke 4 = lampu 3 mati
- */
- int led1 = 12; // nomor pin led
- int led2 = 11; // nomor pin led
- int led3 = 10; // nomor pin led
- // int button1 = A0; // nomor pin push button
- /* ###############################################
- R5(100R) pindahkan, jangan konak ke A0, tapi ke D2
- ############################################### */
- const byte PIN_IRQ = 0; // INT0 / DIP_PIN4 / DIGITAL_PIN2 / PD2
- volatile int pulseCount = 0;
- volatile boolean berbuah = false;
- // int state =0;
- // boolean hidup =0;
- // boolean lasthidup = 0;
- void pulseCounter() { pulseCount++; berbuah = true; }
- void setup() { // untuk menginisialisasi variabel, mode pin, mengatur baud rate serial
- pinMode(led1, OUTPUT); // menginisialisasi pin LED sebagai output
- pinMode(led2, OUTPUT); // menginisialisasi pin LED sebagai output
- pinMode(led3, OUTPUT); // menginisialisasi pin LED sebagai output
- // pinMode(button1, INPUT); // menginisialisasi pin push button sebagai input
- attachInterrupt(PIN_IRQ, pulseCounter, RISING);
- }
- void loop() {
- if(berbuah) {
- berbuah = false;
- switch(pulseCount) {
- case 1: // tekan ke 1 = lampu 1 berkedip - kedip terus
- while(!berbuah) {
- digitalWrite(led1,HIGH);
- delay(500);
- digitalWrite(led1,LOW);
- delay(500);
- }
- digitalWrite(led1,LOW); // make sure exit while led1 mate
- break;
- case 2: // tekan ke 2 = lampu 1 mati, lampu 2 berkedip - kedip terus
- while(!berbuah) {
- digitalWrite(led2,HIGH);
- delay(500);
- digitalWrite(led2,LOW);
- delay(500);
- }
- digitalWrite(led2,LOW); // make sure exit while led2 mate
- break;
- case 3: // tekan ke 3 = lampu 2 mati, lampu 3 berkedip - kedip terus
- while(!berbuah) {
- digitalWrite(led3,HIGH);
- delay(500);
- digitalWrite(led3,LOW);
- delay(500);
- }
- digitalWrite(led3,LOW); // make sure exit while led2 mate
- break;
- case 4: // tekan ke 4 = lampu 3 mati
- pulseCount = 0; // reset counter
- break;
- }
- }
- delay(125);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement