Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- int col[] = {A3 ,A2 ,A1 ,A0 };
- int row[] = {13 ,12 ,11,10 };
- int bDo
- wn[16];
- int bClick[16];
- int nbr = 0,nbr1 = 0,nbr2 = 0,nrb3=0,nbrbon=1,nbrbon1=2,nbrbon2=3,nbrbon3=4;
- int inside=0;
- void setup() {
- // put your setup code here, to run once:
- int i,j;
- for (i=0;i<4;i++){
- pinMode(row[i],OUTPUT);
- digitalWrite(row[i],HIGH);
- pinMode(col[i],INPUT);
- digitalWrite(col[i],HIGH);
- Serial.begin(9600); // temp
- }
- }
- void loop() {
- // put your main code here, to run repeatedly:
- //led verte
- int i;
- keybScan();
- for(i=0;i<12;i++){
- if(bClick[i]){
- if(i == 0){
- if (nbr==0){
- nbr=7;
- }
- if(nbr!=0 && nbr1==0){
- nbr1=7;
- }
- if(nbr!=0 && nbr1!=0 && nbr2==0){
- nbr2=7;
- }
- else{
- nbr3=7;
- }
- }
- else if(i == 1){
- if (nbr==0){
- nbr=4;
- }
- if(nbr!=0 && nbr1==0){
- nbr1=4;
- }
- if(nbr!=0 && nbr1!=0 && nbr2==0){
- nbr2=4;
- }
- else{
- nbr3=4;
- }
- }
- else if(i == 2){
- if (nbr==0){
- nbr=1;
- }
- if(nbr!=0 && nbr1==0){
- nbr1=1;
- }
- if(nbr!=0 && nbr1!=0 && nbr2==0){
- nbr2=1;
- }
- else{
- nbr3=1;
- }
- }
- else if(i == 4){
- if (nbr==0){
- nbr=8;
- }
- if(nbr!=0 && nbr1==0){
- nbr1=8;
- }
- if(nbr!=0 && nbr1!=0 && nbr2==0){
- nbr2=8;
- }
- else{
- nbr3=8;
- }
- }
- else if(i == 5){
- if (nbr==0){
- nbr=5;
- }
- if(nbr!=0 && nbr1==0){
- nbr1=5;
- }
- if(nbr!=0 && nbr1!=0 && nbr2==0){
- nbr2=5;
- }
- else{
- nbr3=5;
- }
- }
- else if(i == 6){
- if (nbr==0){
- nbr=2;
- }
- if(nbr!=0 && nbr1==0){
- nbr1=2;
- }
- if(nbr!=0 && nbr1!=0 && nbr2==0){
- nbr2=2;
- }
- else{
- nbr3=2;
- }
- }
- else if(i == 7){
- if (nbr==0){
- nbr=0;
- }
- if(nbr!=0 && nbr1==0){
- nbr1=0;
- }
- if(nbr!=0 && nbr1!=0 && nbr2==0){
- nbr2=0;
- }
- else{
- nbr3=0;
- }
- }
- else if(i == 8){
- if (nbr==0){
- nbr=9;
- }
- if(nbr!=0 && nbr1==0){
- nbr1=9;
- }
- if(nbr!=0 && nbr1!=0 && nbr2==0){
- nbr2=9;
- }
- else{
- nbr3=9;
- }
- }
- else if(i == 9){
- if (nbr==0){
- nbr=6;
- }
- if(nbr!=0 && nbr1==0){
- nbr1=6;
- }
- if(nbr!=0 && nbr1!=0 && nbr2==0){
- nbr2=6;
- }
- else{
- nbr3=6;
- }
- }
- else if(i == 10){
- if (nbr==0){
- nbr=3;
- }
- if(nbr!=0 && nbr1==0){
- nbr1=3;
- }
- if(nbr!=0 && nbr1!=0 && nbr2==0){
- nbr2=3;
- }
- else{
- nbr3=3;
- }
- }
- else if(i == 11){
- if(inside==1){
- for(int k=0;k<4;k++){
- keybScan();
- for(int j=0;j<12;j++){
- if(bClick[i]){
- switch(j){
- case 0:
- if(k==0){
- nbrbon=7;
- }
- else if(k==1){
- nbrbon1=7;
- }
- else if(k==2){
- nbrbon2=7;
- }
- else{
- nbrbon3=7;
- }
- break;
- case 1:
- if(k==0){
- nbrbon=4;
- }
- else if(k==1){
- nbrbon1=4;
- }
- else if(k==2){
- nbrbon2=4;
- }
- else{
- nbrbon3=4;
- }
- break;
- case 2:
- if(k==0){
- nbrbon=1;
- }
- else if(k==1){
- nbrbon1=1;
- }
- else if(k==2){
- nbrbon2=1;
- }
- else{
- nbrbon3=1;
- }
- break;
- case 4:
- if(k==0){
- nbrbon=8;
- }
- else if(k==1){
- nbrbon1=8;
- }
- else if(k==2){
- nbrbon2=8;
- }
- else{
- nbrbon3=8;
- }
- break;
- case 5:
- if(k==0){
- nbrbon=5;
- }
- else if(k==1){
- nbrbon1=5;
- }
- else if(k==2){
- nbrbon2=5;
- }
- else{
- nbrbon3=5;
- }
- break;
- case 6:
- if(k==0){
- nbrbon=2;
- }
- else if(k==1){
- nbrbon1=2;
- }
- else if(k==2){
- nbrbon2=2;
- }
- else{
- nbrbon3=2;
- }
- break;
- case 7:
- if(k==0){
- nbrbon=0;
- }
- else if(k==1){
- nbrbon1=0;
- }
- else if(k==2){
- nbrbon2=0;
- }
- else{
- nbrbon3=0;
- }
- break;
- case 8:
- if(k==0){
- nbrbon=9;
- }
- else if(k==1){
- nbrbon1=9;
- }
- else if(k==2){
- nbrbon2=9;
- }
- else{
- nbrbon3=9;
- }
- break;
- case 9:
- if(k==0){
- nbrbon=6;
- }
- else if(k==1){
- nbrbon1=6;
- }
- else if(k==2){
- nbrbon2=6;
- }
- else{
- nbrbon3=6;
- }
- break;
- case 10:
- if(k==0){
- nbrbon=3;
- }
- else if(k==1){
- nbrbon1=3;
- }
- else if(k==2){
- nbrbon2=3;
- }
- else{
- nbrbon3=3;
- }
- break;
- }
- }
- }
- }
- }
- }
- else if(i==3){
- if(inside==1){
- inside=0;
- nbr=0;br1=0;nbr2=0;nbr3=0;
- }
- else if(nbr==nbrbon && nbr1==nbrbon1 && nbr2==nbrbon2 && nbr3==nbrbon3){
- inside=1;
- //led bleu + led verte clignote
- }
- else{
- //led rouge pdt 5 secondes
- }
- }
- }
- }
- }
- void keybScan(){
- int i,j,b;
- for(i=0;i<4;i++){
- digitalWrite(row[i],LOW);
- for(j=0;j<4;j++){
- b = digitalRead(col[j]);
- bClick[i*4+j] = 0;
- if(!b && bDown[i*4+j]){
- bClick[i*4+j]=1;
- }
- bDown[i*4+j] = b;
- }
- digitalWrite(row[i],HIGH);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment