Étape 2: Écrire le code
Vous pouvez télécharger IDE Arduino arduino.cc
Il s’inspire de C/Java.
Voici le code que j’ai utilisé :
/ * 1602 LCD 4 chiffres code commandé par joystick
*/
définir la variable pour stocker les chiffres choisis et exposés de position du curseur
int cursorPos ;
int creuser [4] ;
inclure la bibliothèque LCD
#include < LiquidCrystal.h >
initier des goupilles de lcd
Innovente lcd (12, 11, 5, 4, 3, 2) ;
fonction de réglage principal s’exécute une fois
void setup() {}
affichage à cristaux liquides d’installation
LCD.Begin (16, 2) ;
LCD.Print ("mot de passe:") ;
lcd.setCursor(6,1) ;
LCD.Print("0000") ;
LCD.Cursor() ;
lcd.noBlink() ;
lcd.setCursor(6,1) ;
valeurs des variables définies
cursorPos = 0 ;
pour (int i = 0; i < = 3; i ++) {}
Dig [i] = 0 ;
}
clignotement LED à bord
digitalWrite (13, faible) ;
Delay(500) ;
digitalWrite (13, HIGH) ;
}
code de la boucle s’exécute continuellement pendant Arduino a pouvoir
void loop() {}
Si (digitalRead(13) == HIGH) {}
même si (digitalRead(13) == HIGH) {//anything dans cette boucle s’exécute jusqu'à ce que vous appuyez sur le joystick dans
int sensorX = analogRead(A0) ; obtenir des lectures pour x, mouvement de l’axe y
Sensorielle int = analogRead(A1) ;
flotteur angleX = sensorX * (180,0 / 1023.0) ; convertir la valeur d’angle
flotteur angleY = sensoriel * (180,0 / 1023.0) ;
Si {(angleX > 100)
moveRight() ;
Delay(500) ;
} ElseIf (angleX < 70) {}
moveLeft() ;
Delay(500) ;
} else {}
Si {(angleY > 105)
Decrease(cursorPos) ;
Delay(250) ;
} ElseIf (angleY < 75) {}
Increase(cursorPos) ;
Delay(250) ;
}
}
}
}
Cela s’exécute une fois que le bouton est presses
checkCode() ;
Delay(2000) ;
Setup() ;
}
void moveRight() {}
Si (cursorPos == 3) {}
lcd.setCursor (6, 1) ;
cursorPos = 0 ;
} else {}
int a = cursorPos + 7 ;
lcd.setCursor (a, 1) ;
cursorPos = cursorPos + 1 ;
}
}
void moveLeft() {}
Si (cursorPos == 0) {}
lcd.setCursor (9, 1) ;
cursorPos = 3 ;
} else {}
int b = cursorPos + 5 ;
lcd.setCursor (b, 1) ;
cursorPos = cursorPos - 1 ;
}
}
Sub augmentation (int cursorPos) {}
Si (creuser [cursorPos] == 9) {}
creuser [cursorPos] = 0 ;
} else {}
creuser [cursorPos] = creuser [cursorPos] + 1 ;
}
int c = cursorPos + 6 ;
lcd.setCursor (c, 1) ;
LCD.Print(DIG[cursorPos]) ;
lcd.setCursor (c, 1) ;
}
Sub diminution (int cursorPos) {}
Si (creuser [cursorPos] == 0) {}
creuser [cursorPos] = 9 ;
} else {}
creuser [cursorPos] = creuser [cursorPos] - 1 ;
}
int c = cursorPos + 6 ;
lcd.setCursor (c, 1) ;
LCD.Print(DIG[cursorPos]) ;
lcd.setCursor (c, 1) ;
}
changer cette partie de votre propre code d’accès
J’ai choisi 1234...
void checkCode() {}
Si (creuser [0] == 1 & & creuser [1] == 2 & & creuser [2] == 3 & & creuser [3] == 4) {//Change '1', '2', '3', 4' sur cette ligne!!!
lcd.setCursor(4,1) ;
LCD.Print("correct!") ;
} else {}
lcd.setCursor(5,1) ;
LCD.Print("Wrong!") ;
}
}