angga_funkadelic

Motorola GM Remote Channel Steering

Nov 9th, 2014
905
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 19.18 KB | None | 0 0
  1. /*
  2. ####################################
  3. Motorola GM Remote Channel Steering
  4. by Angga S Arly
  5. www.ngoprekradio.com
  6. 2014
  7. ####################################
  8. */
  9.  
  10. #include <EEPROM.h> // loding librari eeprom
  11. const int BCDPin1 = 4;
  12. const int BCDPin2 = 3;
  13. const int BCDPin3 = 2;
  14. const int BCDPin4 = 1;
  15. const int BCDPinX = 0;
  16. // state BCD dari MT8870
  17. int BCDState1 = 0;
  18. int BCDState2 = 0;
  19. int BCDState3 = 0;
  20. int BCDState4 = 0;
  21. int BCDStateX = 0;
  22. // state hasil decode ke desimal
  23. int S0 = 0;
  24. int S1 = 0;
  25. int S2 = 0;
  26. int S3 = 0;
  27. int S4 = 0;
  28. int S5 = 0;
  29. int S6 = 0;
  30. int S7 = 0;
  31. int S8 = 0;
  32. int S9 = 0;
  33. int SB0 = 0; // bintang
  34. int SP0 = 0; // pager
  35.  
  36. // konci kombinasi
  37. int D1 = 0;
  38. int D2 = 0;
  39. int D3 = 0;
  40. int D4 = 0;
  41. int D5 = 0;
  42. int D6 = 0;
  43. int D7 = 0;
  44.  
  45. int U1 = 0;
  46. int V1 = 0;
  47. int W1 = 0;
  48. int X1 = 0;
  49. int Y1 = 0;
  50. int Z1 = 0;
  51.  
  52.  
  53. // alokasi pin output / relay
  54. const int LedPin1 =  5;
  55. const int LedPin2 =  6;
  56. const int LedPin3 =  7;
  57. const int LedPin4 =  8;
  58. const int LedPin5 =  9;
  59. const int LedPin6 =  10;
  60. const int LedPin7 =  11;
  61. const int LedPin8 =  12;
  62. const int LedPin9 =  13;
  63.  
  64. // loding eeprom
  65. int baca = 0;
  66. int bacaR1 = 0;
  67. int bacaR2 = 0;
  68.  
  69. void setup() {
  70.   //alokasi pin input ( BCD )
  71.   pinMode(BCDPin1, INPUT);  
  72.   pinMode(BCDPin2, INPUT);
  73.   pinMode(BCDPin3, INPUT);
  74.   pinMode(BCDPin4, INPUT);
  75.   pinMode(BCDPinX, INPUT);  
  76.   // alokasi pin output ( Relay )
  77.   pinMode(LedPin1, OUTPUT);
  78.   pinMode(LedPin2, OUTPUT);
  79.   pinMode(LedPin3, OUTPUT);
  80.   pinMode(LedPin4, OUTPUT);
  81.   pinMode(LedPin5, OUTPUT);
  82.   pinMode(LedPin6, OUTPUT);
  83.   pinMode(LedPin7, OUTPUT);
  84.   pinMode(LedPin8, OUTPUT);
  85.   pinMode(LedPin9, OUTPUT);
  86.   bacaeeprom();
  87. }
  88.  
  89. void bacaeeprom() {
  90.   baca = EEPROM.read(100);
  91.   if ( baca == 1 ) {
  92.     ch01();
  93.   }
  94.   if ( baca == 2 ) {
  95.     ch02();
  96.   }
  97.   if ( baca == 3 ) {
  98.     ch03();
  99.   }
  100.   if ( baca == 4 ) {
  101.     ch04();
  102.   }
  103.   if ( baca == 5 ) {
  104.     ch05();
  105.   }
  106.   if ( baca == 6 ) {
  107.     ch06();
  108.   }
  109.   if ( baca == 7 ) {
  110.     ch07();
  111.   }
  112.   if ( baca == 8 ) {
  113.     ch08();
  114.   }
  115.   if ( baca == 9 ) {
  116.     ch09();
  117.   }
  118.   if ( baca == 10 ) {
  119.     ch10();
  120.   }
  121.   if ( baca == 11 ) {
  122.     ch11();
  123.   }
  124.   if ( baca == 12 ) {
  125.     ch12();
  126.   }
  127.   if ( baca == 13 ) {
  128.     ch13();
  129.   }
  130.   if ( baca == 14 ) {
  131.     ch14();
  132.   }
  133.   if ( baca == 15 ) {
  134.     ch15();
  135.   }
  136.   if ( baca == 16 ) {
  137.     ch16();
  138.   }
  139.   if ( baca == 17 ) {
  140.     ch17();
  141.   }
  142.   if ( baca == 18 ) {
  143.     ch18();
  144.   }
  145.   if ( baca == 19 ) {
  146.     ch19();
  147.   }
  148.   if ( baca == 20 ) {
  149.     ch20();
  150.   }
  151.   if ( baca == 21 ) {
  152.     ch21();
  153.   }
  154.   if ( baca == 22 ) {
  155.     ch22();
  156.   }
  157.   if ( baca == 23 ) {
  158.     ch23();
  159.   }
  160.   if ( baca == 24 ) {
  161.     ch24();
  162.   }
  163.   if ( baca == 25 ) {
  164.     ch25();
  165.   }
  166.   if ( baca == 26 ) {
  167.     ch26();
  168.   }
  169.   if ( baca == 27 ) {
  170.     ch27();
  171.   }
  172.   if ( baca == 28 ) {
  173.     ch28();
  174.   }
  175.   if ( baca == 29 ) {
  176.     ch29();
  177.   }
  178.   if ( baca == 30 ) {
  179.     ch30();
  180.   }
  181.   if ( baca == 31 ) {
  182.     ch31();
  183.   }
  184.  
  185.   bacaR1 = EEPROM.read(41);
  186.   bacaR2 = EEPROM.read(51);
  187.   if ( bacaR1 == 1 ) { R1on(); }
  188.   if ( bacaR1 == 0 ) { R1off(); }
  189.   if ( bacaR2 == 1 ) { R2on(); }
  190.   if ( bacaR2 == 0 ) { R2off(); }
  191.  
  192.  
  193. } // END baca eeprom
  194.  
  195.  
  196. void cekinput() {
  197.  
  198.     BCDState1 = digitalRead(BCDPin1);
  199.     BCDState2 = digitalRead(BCDPin2);
  200.     BCDState3 = digitalRead(BCDPin3);
  201.     BCDState4 = digitalRead(BCDPin4);
  202.     BCDStateX = digitalRead(BCDPinX);
  203.  
  204.    
  205.   if (BCDStateX == HIGH) {
  206.         // detek 0    
  207.         if (BCDState1 == LOW) {
  208.           if (BCDState2 == HIGH) {
  209.             if (BCDState3 == LOW) {
  210.               if (BCDState4 == HIGH) {
  211.                 S0 = 1;
  212.                
  213.                
  214.               }
  215.             }
  216.           }
  217.         }
  218.  
  219.         // detek 1
  220.         if (BCDState1 == HIGH) {
  221.           if (BCDState2 == LOW) {
  222.             if (BCDState3 == LOW) {
  223.               if (BCDState4 == LOW) {
  224.                 S1 = 1;
  225.                
  226.               }
  227.             }
  228.           }
  229.         }
  230.        
  231.         // detek 2
  232.         if (BCDState1 == LOW) {
  233.           if (BCDState2 == HIGH) {
  234.             if (BCDState3 == LOW) {
  235.               if (BCDState4 == LOW) {
  236.                 S2 = 1;
  237.                
  238.               }
  239.             }
  240.           }
  241.         }
  242.        
  243.         // detek 3
  244.         if (BCDState1 == HIGH) {
  245.           if (BCDState2 == HIGH) {
  246.             if (BCDState3 == LOW) {
  247.               if (BCDState4 == LOW) {
  248.                 S3 = 1;
  249.                
  250.               }
  251.             }
  252.           }
  253.         }
  254.        
  255.         // detek 4
  256.         if (BCDState1 == LOW) {
  257.           if (BCDState2 == LOW) {
  258.             if (BCDState3 == HIGH) {
  259.               if (BCDState4 == LOW) {
  260.                 S4 = 1;
  261.                
  262.               }
  263.             }
  264.           }
  265.         }
  266.        
  267.         // detek 5
  268.         if (BCDState1 == HIGH) {
  269.           if (BCDState2 == LOW) {
  270.             if (BCDState3 == HIGH) {
  271.               if (BCDState4 == LOW) {
  272.                 S5 = 1;
  273.                
  274.               }
  275.             }
  276.           }
  277.         }
  278.        
  279.         // detek 6
  280.         if (BCDState1 == LOW) {
  281.           if (BCDState2 == HIGH) {
  282.             if (BCDState3 == HIGH) {
  283.               if (BCDState4 == LOW) {
  284.                 S6 = 1;
  285.                
  286.               }
  287.             }
  288.           }
  289.         }
  290.        
  291.         // detek 7
  292.         if (BCDState1 == HIGH) {
  293.           if (BCDState2 == HIGH) {
  294.             if (BCDState3 == HIGH) {
  295.               if (BCDState4 == LOW) {
  296.                 S7 = 1;
  297.                
  298.               }
  299.             }
  300.           }
  301.         }
  302.        
  303.         // detek 8
  304.         if (BCDState1 == LOW) {
  305.           if (BCDState2 == LOW) {
  306.             if (BCDState3 == LOW) {
  307.               if (BCDState4 == HIGH) {
  308.                 S8 = 1;
  309.                
  310.               }
  311.             }
  312.           }
  313.         }
  314.        
  315.         // detek 9
  316.         if (BCDState1 == HIGH) {
  317.           if (BCDState2 == LOW) {
  318.             if (BCDState3 == LOW) {
  319.               if (BCDState4 == HIGH) {
  320.                 S9 = 1;
  321.                
  322.               }
  323.             }
  324.           }
  325.         }
  326.        
  327.         // detek *
  328.         if (BCDState1 == HIGH) {
  329.           if (BCDState2 == HIGH) {
  330.             if (BCDState3 == LOW) {
  331.               if (BCDState4 == HIGH) {
  332.                 SB0 = 1;
  333.                
  334.               }
  335.             }
  336.           }
  337.         }
  338.        
  339.         // detek #
  340.         if (BCDState1 == LOW) {
  341.           if (BCDState2 == LOW) {
  342.             if (BCDState3 == HIGH) {
  343.               if (BCDState4 == HIGH) {
  344.                 SP0 = 1;
  345.                
  346.               }
  347.             }
  348.           }
  349.         }
  350.  }
  351. } // END cekinput
  352.  
  353.  
  354. // password 347
  355. void cekkombinasi() {
  356.   if ( S3 == 1 ) {
  357.     D1 = 1;
  358.   }
  359.  
  360.   if ( D1 == 1 ) {
  361.     if ( S4  == 1 ) {
  362.       D2 = 1;
  363.     }
  364.   }
  365.  
  366.   if ( D2 == 1 ) {
  367.     if ( S7 == 1 ) {
  368.       D3 = 1;
  369.     }
  370.   }
  371.  
  372. // selain angka password reset aja cong  
  373.  
  374.  
  375.   if ( S4 == 1 ) {
  376.     if ( D1 == 0 ) {
  377.       resetkombinasi();
  378.     }
  379.   }
  380.  
  381.   if ( S7 == 1 ) {
  382.     if ( D2 == 0 ) {
  383.       resetkombinasi();
  384.     }
  385.   }
  386.  
  387. // lanjuutt
  388.  
  389.   if ( SP0 == 1 ) {
  390.     if ( D3 == 0 ) {
  391.       resetkombinasi();
  392.     }
  393.   }
  394.  
  395.   if ( SB0 == 1 ) {
  396.     if ( D3 == 0 ) {
  397.       resetkombinasi();
  398.     }
  399.   }
  400.  
  401.   if ( S0 == 1 ) {
  402.     if ( D3 == 0 ) {
  403.       resetkombinasi();
  404.     }
  405.   }
  406.  
  407.   if ( S1 == 1 ) {
  408.     if ( D3 == 0 ) {
  409.       resetkombinasi();
  410.     }
  411.   }
  412.  
  413.   if ( S2 == 1 ) {
  414.     if ( D3 == 0 ) {
  415.       resetkombinasi();
  416.     }
  417.   }
  418.  
  419.   // yang mengandung angka password disable ajah yaksz
  420.  
  421.   //if ( S3 == 1 ) {
  422.   //  if ( D3 == 0 ) {
  423.   //    resetkombinasi();
  424.   //  }
  425.   //}
  426.  
  427.   //if ( S4 == 1 ) {
  428.   //  if ( D3 == 0 ) {
  429.   //    resetkombinasi();
  430.   //  }
  431.   //}
  432.  
  433.   if ( S5 == 1 ) {
  434.     if ( D3 == 0 ) {
  435.       resetkombinasi();
  436.     }
  437.   }
  438.  
  439.   if ( S6 == 1 ) {
  440.     if ( D3 == 0 ) {
  441.       resetkombinasi();
  442.     }
  443.   }
  444.  
  445.   //if ( S7 == 1 ) {
  446.   //  if ( D3 == 0 ) {
  447.   //    resetkombinasi();
  448.   //  }
  449.   //}
  450.  
  451.   if ( S8 == 1 ) {
  452.     if ( D3 == 0 ) {
  453.       resetkombinasi();
  454.     }
  455.   }
  456.  
  457.   if ( S9 == 1 ) {
  458.     if ( D3 == 0 ) {
  459.       resetkombinasi();
  460.     }
  461.   }
  462. } //END cekkombinasi
  463.  
  464. void cek6digit() {
  465.   if ( D3 == 1 ) {
  466.     if ( S0 == 1 ) {
  467.       U1 = 1;
  468.       //resetinput();
  469.       delay(300);
  470.     }
  471.   }
  472.  
  473.  
  474. if ( D3 == 1 ) {
  475.     if ( S1 == 1 ) {
  476.       V1 = 1;
  477.       //resetinput();
  478.       delay(300);
  479.     }
  480.   }
  481.  
  482.  
  483. if ( D3 == 1 ) {
  484.     if ( S2 == 1 ) {
  485.       W1 = 1;
  486.       //resetinput();
  487.       delay(300);
  488.     }
  489.   }
  490.  
  491.   if ( D3 == 1 ) {
  492.     if ( S3 == 1 ) {
  493.       X1 = 1;
  494.       //resetinput();
  495.       delay(300);
  496.     }
  497.   }
  498.  
  499.   if ( D3 == 1 ) {
  500.     if ( S4 == 1 ) {
  501.       Y1 = 1;
  502.       //resetinput();
  503.       delay(300);
  504.     }
  505.   }
  506.  
  507.   if ( D3 == 1 ) {
  508.     if ( S5 == 1 ) {
  509.       Z1 = 1;
  510.       //resetinput();
  511.       delay(300);
  512.     }
  513.   }
  514.  
  515.  
  516. resetinput();
  517. } // END cek 3 digit
  518.  
  519. void channelselect() {
  520.    // kepala 0
  521.    if ( U1 == 1 ) {
  522.      if      ( S1 == 1 ) { klir(); ch01(); EEPROM.write(100,1); resetsemuah(); }
  523.      else if ( S2 == 1 ) { klir(); ch02(); EEPROM.write(100,2); resetsemuah(); }
  524.      else if ( S3 == 1 ) { klir(); ch03(); EEPROM.write(100,3); resetsemuah(); }
  525.      else if ( S4 == 1 ) { klir(); ch04(); EEPROM.write(100,4); resetsemuah(); }
  526.      else if ( S5 == 1 ) { klir(); ch05(); EEPROM.write(100,5); resetsemuah(); }
  527.      else if ( S6 == 1 ) { klir(); ch06(); EEPROM.write(100,6); resetsemuah(); }
  528.      else if ( S7 == 1 ) { klir(); ch07(); EEPROM.write(100,7); resetsemuah(); }
  529.      else if ( S8 == 1 ) { klir(); ch08(); EEPROM.write(100,8); resetsemuah(); }
  530.      else if ( S9 == 1 ) { klir(); ch09(); EEPROM.write(100,9); resetsemuah(); }
  531.    } // END kepala 0
  532.    
  533. // kepala 1
  534.    if ( V1 == 1 ) {
  535.      if      ( S0 == 1 ) { klir(); ch10(); EEPROM.write(100,10); resetsemuah(); }
  536.      else if ( S1 == 1 ) { klir(); ch11(); EEPROM.write(100,11); resetsemuah(); }
  537.      else if ( S2 == 1 ) { klir(); ch12(); EEPROM.write(100,12); resetsemuah(); }
  538.      else if ( S3 == 1 ) { klir(); ch13(); EEPROM.write(100,13); resetsemuah(); }
  539.      else if ( S4 == 1 ) { klir(); ch14(); EEPROM.write(100,14); resetsemuah(); }
  540.      else if ( S5 == 1 ) { klir(); ch15(); EEPROM.write(100,15); resetsemuah(); }
  541.      else if ( S6 == 1 ) { klir(); ch16(); EEPROM.write(100,16); resetsemuah(); }
  542.      else if ( S7 == 1 ) { klir(); ch17(); EEPROM.write(100,17); resetsemuah(); }
  543.      else if ( S8 == 1 ) { klir(); ch18(); EEPROM.write(100,18); resetsemuah(); }
  544.      else if ( S9 == 1 ) { klir(); ch19(); EEPROM.write(100,19); resetsemuah(); }
  545.    } // END kepala 1
  546.      
  547.      
  548. // kepala 2
  549.    if ( W1 == 1 ) {
  550.      if      ( S0 == 1 ) { klir(); ch20(); EEPROM.write(100,20); resetsemuah(); }
  551.      else if ( S1 == 1 ) { klir(); ch21(); EEPROM.write(100,21); resetsemuah(); }
  552.      else if ( S2 == 1 ) { klir(); ch22(); EEPROM.write(100,22); resetsemuah(); }
  553.      else if ( S3 == 1 ) { klir(); ch23(); EEPROM.write(100,23); resetsemuah(); }
  554.      else if ( S4 == 1 ) { klir(); ch24(); EEPROM.write(100,24); resetsemuah(); }
  555.      else if ( S5 == 1 ) { klir(); ch25(); EEPROM.write(100,25); resetsemuah(); }
  556.      else if ( S6 == 1 ) { klir(); ch26(); EEPROM.write(100,26); resetsemuah(); }
  557.      else if ( S7 == 1 ) { klir(); ch27(); EEPROM.write(100,27); resetsemuah(); }
  558.      else if ( S8 == 1 ) { klir(); ch28(); EEPROM.write(100,28); resetsemuah(); }
  559.      else if ( S9 == 1 ) { klir(); ch29(); EEPROM.write(100,29); resetsemuah(); }
  560.    } // END kepala 2
  561.      
  562. // kepala 3
  563.    if ( X1 == 1 ) {
  564.      if      ( S0 == 1 ) { klir(); ch30(); EEPROM.write(100,30); resetsemuah(); }
  565.      else if ( S1 == 1 ) { klir(); ch31(); EEPROM.write(100,31); resetsemuah(); }
  566.    } // END kepala 3
  567.    
  568. // kepala 4
  569.    if ( Y1 == 1 ) {
  570.      if      ( S0 == 1 ) {  R1off(); EEPROM.write(41,0); resetsemuah(); }
  571.      else if ( S1 == 1 ) {  R1on();  EEPROM.write(41,1); resetsemuah(); }
  572.    } // END kepala 4
  573. // kepala 5
  574.    if ( Z1 == 1 ) {
  575.      if      ( S0 == 1 ) {  R2off(); EEPROM.write(51,0); resetsemuah(); }
  576.      else if ( S1 == 1 ) {  R2on();  EEPROM.write(51,1); resetsemuah(); }
  577.    } // END kepala 4      
  578.      
  579.  
  580. } // END channel select
  581.  
  582. // Relay 1 & 2
  583. void R1on() { digitalWrite(LedPin7, HIGH); }
  584. void R1off() { digitalWrite(LedPin7, LOW); }
  585. void R2on() { digitalWrite(LedPin8, HIGH); }
  586. void R2off() { digitalWrite(LedPin8, LOW); }
  587.  
  588. void ch01() {
  589.   digitalWrite(LedPin1, HIGH);
  590.   digitalWrite(LedPin2, LOW);
  591.   digitalWrite(LedPin3, LOW);
  592.   digitalWrite(LedPin4, LOW);
  593.   digitalWrite(LedPin5, LOW);
  594. }
  595.  
  596. void ch02() {
  597.   digitalWrite(LedPin1, LOW);
  598.   digitalWrite(LedPin2, HIGH);
  599.   digitalWrite(LedPin3, LOW);
  600.   digitalWrite(LedPin4, LOW);
  601.   digitalWrite(LedPin5, LOW);
  602. }
  603.  
  604. void ch03() {
  605.   digitalWrite(LedPin1, HIGH);
  606.   digitalWrite(LedPin2, HIGH);
  607.   digitalWrite(LedPin3, LOW);
  608.   digitalWrite(LedPin4, LOW);
  609.   digitalWrite(LedPin5, LOW);
  610. }
  611.  
  612. void ch04() {
  613.   digitalWrite(LedPin1, LOW);
  614.   digitalWrite(LedPin2, LOW);
  615.   digitalWrite(LedPin3, HIGH);
  616.   digitalWrite(LedPin4, LOW);
  617.   digitalWrite(LedPin5, LOW);
  618. }
  619.  
  620. void ch05() {
  621.   digitalWrite(LedPin1, HIGH);
  622.   digitalWrite(LedPin2, LOW);
  623.   digitalWrite(LedPin3, HIGH);
  624.   digitalWrite(LedPin4, LOW);
  625.   digitalWrite(LedPin5, LOW);
  626. }
  627.  
  628. void ch06() {
  629.   digitalWrite(LedPin1, LOW);
  630.   digitalWrite(LedPin2, HIGH);
  631.   digitalWrite(LedPin3, HIGH);
  632.   digitalWrite(LedPin4, LOW);
  633.   digitalWrite(LedPin5, LOW);
  634. }
  635.  
  636. void ch07() {
  637.   digitalWrite(LedPin1, HIGH);
  638.   digitalWrite(LedPin2, HIGH);
  639.   digitalWrite(LedPin3, HIGH);
  640.   digitalWrite(LedPin4, LOW);
  641.   digitalWrite(LedPin5, LOW);
  642. }
  643.  
  644. void ch08() {
  645.   digitalWrite(LedPin1, LOW);
  646.   digitalWrite(LedPin2, LOW);
  647.   digitalWrite(LedPin3, LOW);
  648.   digitalWrite(LedPin4, HIGH);
  649.   digitalWrite(LedPin5, LOW);
  650. }
  651.  
  652. void ch09() {
  653.   digitalWrite(LedPin1, HIGH);
  654.   digitalWrite(LedPin2, LOW);
  655.   digitalWrite(LedPin3, LOW);
  656.   digitalWrite(LedPin4, HIGH);
  657.   digitalWrite(LedPin5, LOW);
  658. }
  659.  
  660. void ch10() {
  661.   digitalWrite(LedPin1, LOW);
  662.   digitalWrite(LedPin2, HIGH);
  663.   digitalWrite(LedPin3, LOW);
  664.   digitalWrite(LedPin4, HIGH);
  665.   digitalWrite(LedPin5, LOW);
  666. }
  667.  
  668. void ch11() {
  669.   digitalWrite(LedPin1, HIGH);
  670.   digitalWrite(LedPin2, HIGH);
  671.   digitalWrite(LedPin3, LOW);
  672.   digitalWrite(LedPin4, HIGH);
  673.   digitalWrite(LedPin5, LOW);
  674. }
  675.  
  676. void ch12() {
  677.   digitalWrite(LedPin1, LOW);
  678.   digitalWrite(LedPin2, LOW);
  679.   digitalWrite(LedPin3, HIGH);
  680.   digitalWrite(LedPin4, HIGH);
  681.   digitalWrite(LedPin5, LOW);
  682. }
  683.  
  684. void ch13() {
  685.   digitalWrite(LedPin1, HIGH);
  686.   digitalWrite(LedPin2, LOW);
  687.   digitalWrite(LedPin3, HIGH);
  688.   digitalWrite(LedPin4, HIGH);
  689.   digitalWrite(LedPin5, LOW);
  690. }
  691.  
  692. void ch14() {
  693.   digitalWrite(LedPin1, LOW);
  694.   digitalWrite(LedPin2, HIGH);
  695.   digitalWrite(LedPin3, HIGH);
  696.   digitalWrite(LedPin4, HIGH);
  697.   digitalWrite(LedPin5, LOW);
  698. }
  699.  
  700. void ch15() {
  701.   digitalWrite(LedPin1, HIGH);
  702.   digitalWrite(LedPin2, HIGH);
  703.   digitalWrite(LedPin3, HIGH);
  704.   digitalWrite(LedPin4, HIGH);
  705.   digitalWrite(LedPin5, LOW);
  706. }
  707.  
  708.  
  709. void ch16() {
  710.   digitalWrite(LedPin1, LOW);
  711.   digitalWrite(LedPin2, LOW);
  712.   digitalWrite(LedPin3, LOW);
  713.   digitalWrite(LedPin4, LOW);
  714.   digitalWrite(LedPin5, HIGH);
  715. }
  716.  
  717. void ch17() {
  718.   digitalWrite(LedPin1, HIGH);
  719.   digitalWrite(LedPin2, LOW);
  720.   digitalWrite(LedPin3, LOW);
  721.   digitalWrite(LedPin4, LOW);
  722.   digitalWrite(LedPin5, HIGH);
  723. }
  724.  
  725. void ch18() {
  726.   digitalWrite(LedPin1, LOW);
  727.   digitalWrite(LedPin2, HIGH);
  728.   digitalWrite(LedPin3, LOW);
  729.   digitalWrite(LedPin4, LOW);
  730.   digitalWrite(LedPin5, HIGH);
  731. }
  732.  
  733. void ch19() {
  734.   digitalWrite(LedPin1, HIGH);
  735.   digitalWrite(LedPin2, HIGH);
  736.   digitalWrite(LedPin3, LOW);
  737.   digitalWrite(LedPin4, LOW);
  738.   digitalWrite(LedPin5, HIGH);
  739. }
  740.  
  741. void ch20() {
  742.   digitalWrite(LedPin1, LOW);
  743.   digitalWrite(LedPin2, LOW);
  744.   digitalWrite(LedPin3, HIGH);
  745.   digitalWrite(LedPin4, LOW);
  746.   digitalWrite(LedPin5, HIGH);
  747. }
  748.  
  749. void ch21() {
  750.   digitalWrite(LedPin1, HIGH);
  751.   digitalWrite(LedPin2, LOW);
  752.   digitalWrite(LedPin3, HIGH);
  753.   digitalWrite(LedPin4, LOW);
  754.   digitalWrite(LedPin5, HIGH);
  755. }
  756.  
  757. void ch22() {
  758.   digitalWrite(LedPin1, LOW);
  759.   digitalWrite(LedPin2, HIGH);
  760.   digitalWrite(LedPin3, HIGH);
  761.   digitalWrite(LedPin4, LOW);
  762.   digitalWrite(LedPin5, HIGH);
  763. }
  764.  
  765. void ch23() {
  766.   digitalWrite(LedPin1, HIGH);
  767.   digitalWrite(LedPin2, HIGH);
  768.   digitalWrite(LedPin3, HIGH);
  769.   digitalWrite(LedPin4, LOW);
  770.   digitalWrite(LedPin5, HIGH);
  771. }
  772.  
  773. void ch24() {
  774.   digitalWrite(LedPin1, LOW);
  775.   digitalWrite(LedPin2, LOW);
  776.   digitalWrite(LedPin3, LOW);
  777.   digitalWrite(LedPin4, HIGH);
  778.   digitalWrite(LedPin5, HIGH);
  779. }
  780.  
  781. void ch25() {
  782.   digitalWrite(LedPin1, HIGH);
  783.   digitalWrite(LedPin2, LOW);
  784.   digitalWrite(LedPin3, LOW);
  785.   digitalWrite(LedPin4, HIGH);
  786.   digitalWrite(LedPin5, HIGH);
  787. }
  788.  
  789. void ch26() {
  790.   digitalWrite(LedPin1, LOW);
  791.   digitalWrite(LedPin2, HIGH);
  792.   digitalWrite(LedPin3, LOW);
  793.   digitalWrite(LedPin4, HIGH);
  794.   digitalWrite(LedPin5, HIGH);
  795. }
  796.  
  797. void ch27() {
  798.   digitalWrite(LedPin1, HIGH);
  799.   digitalWrite(LedPin2, HIGH);
  800.   digitalWrite(LedPin3, LOW);
  801.   digitalWrite(LedPin4, HIGH);
  802.   digitalWrite(LedPin5, HIGH);
  803. }
  804.  
  805. void ch28() {
  806.   digitalWrite(LedPin1, LOW);
  807.   digitalWrite(LedPin2, LOW);
  808.   digitalWrite(LedPin3, HIGH);
  809.   digitalWrite(LedPin4, HIGH);
  810.   digitalWrite(LedPin5, HIGH);
  811. }
  812.  
  813. void ch29() {
  814.   digitalWrite(LedPin1, HIGH);
  815.   digitalWrite(LedPin2, LOW);
  816.   digitalWrite(LedPin3, HIGH);
  817.   digitalWrite(LedPin4, HIGH);
  818.   digitalWrite(LedPin5, HIGH);
  819. }
  820.  
  821. void ch30() {
  822.   digitalWrite(LedPin1, LOW);
  823.   digitalWrite(LedPin2, HIGH);
  824.   digitalWrite(LedPin3, HIGH);
  825.   digitalWrite(LedPin4, HIGH);
  826.   digitalWrite(LedPin5, HIGH);
  827. }
  828.  
  829. void ch31() {
  830.   digitalWrite(LedPin1, HIGH);
  831.   digitalWrite(LedPin2, HIGH);
  832.   digitalWrite(LedPin3, HIGH);
  833.   digitalWrite(LedPin4, HIGH);
  834.   digitalWrite(LedPin5, HIGH);
  835. }
  836.  
  837. void klir() {
  838.   digitalWrite(LedPin1, LOW);
  839.   digitalWrite(LedPin2, LOW);
  840.   digitalWrite(LedPin3, LOW);
  841.   digitalWrite(LedPin4, LOW);
  842.   digitalWrite(LedPin5, LOW);
  843. }
  844. void resetinput() {
  845.   S1 = 0;
  846.   S2 = 0;
  847.   S3 = 0;
  848.   S4 = 0;
  849.   S5 = 0;
  850.   S6 = 0;
  851.   S7 = 0;
  852.   S8 = 0;
  853.   S9 = 0;
  854.   SB0 = 0;
  855.   S0 = 0;
  856.   SP0 = 0;
  857. } // END resetinput
  858.  
  859.  
  860. void resetkombinasi() {  
  861.   D1 = 0;
  862.   D2 = 0;  
  863.   D3 = 0;
  864.   D4 = 0;
  865.   D5 = 0;
  866.   D6 = 0;
  867.   D7 = 0;
  868. } // END resetkombinasi
  869.  
  870. void resetkombinasi2() {
  871.   U1 = 0;
  872.   V1 = 0;
  873.   W1 = 0;
  874.   X1 = 0;
  875.   Y1 = 0;
  876.   Z1 = 0;
  877. }
  878.  
  879.  
  880. void remotedetect() {
  881. if ( D1 == 1 ) {digitalWrite(LedPin6, HIGH);}
  882. else if ( D1 == 0 ) {digitalWrite(LedPin6, LOW);}
  883. } // END remote detect
  884.  
  885. void resetsemuah() {
  886.   resetkombinasi();
  887.   resetkombinasi2();
  888.   resetinput();
  889. }
  890.  
  891. void loop(){
  892.  
  893.   // cek masukan angka dari DTMF
  894.   cekinput();
  895.   if ( SB0 || SP0 == 1 ) { resetsemuah(); }
  896.   // cek dulu D3 kalo on jangan cek lagi
  897.   if ( D3 == 1 ) {}
  898.   else {cekkombinasi();}
  899.   // cek dulu 6 digit kalo on jangan cek lagi
  900.   if      ( U1 == 1 ) {}
  901.   else if ( V1 == 1 ) {}
  902.   else if ( W1 == 1 ) {}
  903.   else if ( X1 == 1 ) {}
  904.   else if ( Y1 == 1 ) {}
  905.   else if ( Z1 == 1 ) {}
  906.   else    {cek6digit();}
  907.   // lanjut pilih channel
  908.   channelselect();
  909.   // reset variable inputan angka2
  910.   resetinput();
  911.   // running led logging sementaun
  912.   remotedetect();
  913.   delay(10);
  914. } // END loop
Advertisement
Add Comment
Please, Sign In to add comment