thelittlewozniak

Untitled

Jan 17th, 2019
367
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 6.33 KB | None | 0 0
  1. int col[] = {A3 ,A2 ,A1 ,A0 };
  2. int row[] = {13 ,12 ,11,10 };
  3. int bDo
  4. wn[16];
  5. int bClick[16];
  6. int nbr = 0,nbr1 = 0,nbr2 = 0,nrb3=0,nbrbon=1,nbrbon1=2,nbrbon2=3,nbrbon3=4;
  7. int inside=0;
  8. void setup() {
  9.   // put your setup code here, to run once:
  10.   int i,j;
  11.   for (i=0;i<4;i++){
  12.   pinMode(row[i],OUTPUT);
  13.   digitalWrite(row[i],HIGH);
  14.   pinMode(col[i],INPUT);
  15.   digitalWrite(col[i],HIGH);
  16.   Serial.begin(9600); // temp
  17.   }
  18.  
  19.  
  20. }
  21.  
  22. void loop() {
  23.   // put your main code here, to run repeatedly:
  24.   //led verte
  25.   int i;
  26.   keybScan();
  27.   for(i=0;i<12;i++){
  28.   if(bClick[i]){
  29.     if(i == 0){
  30.       if (nbr==0){
  31.         nbr=7;
  32.       }
  33.       if(nbr!=0 && nbr1==0){
  34.         nbr1=7;
  35.       }
  36.       if(nbr!=0 && nbr1!=0 && nbr2==0){
  37.         nbr2=7;
  38.       }
  39.       else{
  40.         nbr3=7;
  41.       }
  42.     }
  43.     else if(i == 1){
  44.       if (nbr==0){
  45.         nbr=4;
  46.       }
  47.       if(nbr!=0 && nbr1==0){
  48.         nbr1=4;
  49.       }
  50.       if(nbr!=0 && nbr1!=0 && nbr2==0){
  51.         nbr2=4;
  52.       }
  53.       else{
  54.         nbr3=4;
  55.       }
  56.     }
  57.     else if(i == 2){
  58.       if (nbr==0){
  59.         nbr=1;
  60.       }
  61.       if(nbr!=0 && nbr1==0){
  62.         nbr1=1;
  63.       }
  64.       if(nbr!=0 && nbr1!=0 && nbr2==0){
  65.         nbr2=1;
  66.       }
  67.       else{
  68.         nbr3=1;
  69.       }
  70.     }
  71.     else if(i == 4){
  72.       if (nbr==0){
  73.         nbr=8;
  74.       }
  75.       if(nbr!=0 && nbr1==0){
  76.         nbr1=8;
  77.       }
  78.       if(nbr!=0 && nbr1!=0 && nbr2==0){
  79.         nbr2=8;
  80.       }
  81.       else{
  82.         nbr3=8;
  83.       }
  84.     }
  85.     else if(i == 5){
  86.       if (nbr==0){
  87.         nbr=5;
  88.       }
  89.       if(nbr!=0 && nbr1==0){
  90.         nbr1=5;
  91.       }
  92.       if(nbr!=0 && nbr1!=0 && nbr2==0){
  93.         nbr2=5;
  94.       }
  95.       else{
  96.         nbr3=5;
  97.       }
  98.     }
  99.     else if(i == 6){
  100.        if (nbr==0){
  101.         nbr=2;
  102.       }
  103.       if(nbr!=0 && nbr1==0){
  104.         nbr1=2;
  105.       }
  106.       if(nbr!=0 && nbr1!=0 && nbr2==0){
  107.         nbr2=2;
  108.       }
  109.       else{
  110.         nbr3=2;
  111.       }
  112.     }
  113.     else if(i == 7){
  114.        if (nbr==0){
  115.         nbr=0;
  116.       }
  117.       if(nbr!=0 && nbr1==0){
  118.         nbr1=0;
  119.       }
  120.       if(nbr!=0 && nbr1!=0 && nbr2==0){
  121.         nbr2=0;
  122.       }
  123.       else{
  124.         nbr3=0;
  125.       }
  126.     }
  127.     else if(i == 8){
  128.       if (nbr==0){
  129.         nbr=9;
  130.       }
  131.       if(nbr!=0 && nbr1==0){
  132.         nbr1=9;
  133.       }
  134.       if(nbr!=0 && nbr1!=0 && nbr2==0){
  135.         nbr2=9;
  136.       }
  137.       else{
  138.         nbr3=9;
  139.       }
  140.     }
  141.     else if(i == 9){
  142.       if (nbr==0){
  143.         nbr=6;
  144.       }
  145.       if(nbr!=0 && nbr1==0){
  146.         nbr1=6;
  147.       }
  148.       if(nbr!=0 && nbr1!=0 && nbr2==0){
  149.         nbr2=6;
  150.       }
  151.       else{
  152.         nbr3=6;
  153.       }
  154.   }
  155.   else if(i == 10){
  156.       if (nbr==0){
  157.         nbr=3;
  158.       }
  159.       if(nbr!=0 && nbr1==0){
  160.         nbr1=3;
  161.       }
  162.       if(nbr!=0 && nbr1!=0 && nbr2==0){
  163.         nbr2=3;
  164.       }
  165.       else{
  166.         nbr3=3;
  167.       }
  168.     }
  169.     else if(i == 11){
  170.       if(inside==1){
  171.         for(int k=0;k<4;k++){
  172.           keybScan();
  173.         for(int j=0;j<12;j++){
  174.           if(bClick[i]){
  175.             switch(j){
  176.             case 0:
  177.             if(k==0){
  178.               nbrbon=7;
  179.             }
  180.             else if(k==1){
  181.               nbrbon1=7;
  182.             }
  183.             else if(k==2){
  184.               nbrbon2=7;
  185.             }
  186.             else{
  187.               nbrbon3=7;
  188.             }
  189.             break;
  190.             case 1:
  191.             if(k==0){
  192.               nbrbon=4;
  193.             }
  194.             else if(k==1){
  195.               nbrbon1=4;
  196.             }
  197.             else if(k==2){
  198.               nbrbon2=4;
  199.             }
  200.             else{
  201.               nbrbon3=4;
  202.             }
  203.             break;
  204.             case 2:
  205.             if(k==0){
  206.               nbrbon=1;
  207.             }
  208.             else if(k==1){
  209.               nbrbon1=1;
  210.             }
  211.             else if(k==2){
  212.               nbrbon2=1;
  213.             }
  214.             else{
  215.               nbrbon3=1;
  216.             }
  217.             break;
  218.             case 4:
  219.             if(k==0){
  220.               nbrbon=8;
  221.             }
  222.             else if(k==1){
  223.               nbrbon1=8;
  224.             }
  225.             else if(k==2){
  226.               nbrbon2=8;
  227.             }
  228.             else{
  229.               nbrbon3=8;
  230.             }
  231.             break;
  232.             case 5:
  233.             if(k==0){
  234.               nbrbon=5;
  235.             }
  236.             else if(k==1){
  237.               nbrbon1=5;
  238.             }
  239.             else if(k==2){
  240.               nbrbon2=5;
  241.             }
  242.             else{
  243.               nbrbon3=5;
  244.             }
  245.             break;
  246.             case 6:
  247.             if(k==0){
  248.               nbrbon=2;
  249.             }
  250.             else if(k==1){
  251.               nbrbon1=2;
  252.             }
  253.             else if(k==2){
  254.               nbrbon2=2;
  255.             }
  256.             else{
  257.               nbrbon3=2;
  258.             }
  259.             break;
  260.             case 7:
  261.             if(k==0){
  262.               nbrbon=0;
  263.             }
  264.             else if(k==1){
  265.               nbrbon1=0;
  266.             }
  267.             else if(k==2){
  268.               nbrbon2=0;
  269.             }
  270.             else{
  271.               nbrbon3=0;
  272.             }
  273.             break;
  274.             case 8:
  275.             if(k==0){
  276.               nbrbon=9;
  277.             }
  278.             else if(k==1){
  279.               nbrbon1=9;
  280.             }
  281.             else if(k==2){
  282.               nbrbon2=9;
  283.             }
  284.             else{
  285.               nbrbon3=9;
  286.             }
  287.             break;
  288.             case 9:
  289.             if(k==0){
  290.               nbrbon=6;
  291.             }
  292.             else if(k==1){
  293.               nbrbon1=6;
  294.             }
  295.             else if(k==2){
  296.               nbrbon2=6;
  297.             }
  298.             else{
  299.               nbrbon3=6;
  300.             }
  301.             break;
  302.             case 10:
  303.             if(k==0){
  304.               nbrbon=3;
  305.             }
  306.             else if(k==1){
  307.               nbrbon1=3;
  308.             }
  309.             else if(k==2){
  310.               nbrbon2=3;
  311.             }
  312.             else{
  313.               nbrbon3=3;
  314.             }
  315.             break;
  316.           }
  317.           }
  318.         }
  319.         }
  320.       }
  321.     }
  322.     else if(i==3){
  323.       if(inside==1){
  324.         inside=0;
  325.         nbr=0;br1=0;nbr2=0;nbr3=0;
  326.       }
  327.       else if(nbr==nbrbon && nbr1==nbrbon1 && nbr2==nbrbon2 && nbr3==nbrbon3){
  328.         inside=1;
  329.         //led bleu + led verte clignote
  330.       }
  331.       else{
  332.         //led rouge pdt 5 secondes
  333.       }
  334.      
  335.     }
  336.   }
  337.   }
  338. }
  339.  
  340. void keybScan(){
  341.   int i,j,b;
  342.   for(i=0;i<4;i++){
  343.   digitalWrite(row[i],LOW);
  344.   for(j=0;j<4;j++){
  345.     b = digitalRead(col[j]);
  346.     bClick[i*4+j] = 0;
  347.     if(!b && bDown[i*4+j]){
  348.       bClick[i*4+j]=1;
  349.   }
  350.   bDown[i*4+j] = b;
  351.   }
  352.   digitalWrite(row[i],HIGH);
  353.   }
  354. }
Advertisement
Add Comment
Please, Sign In to add comment