Table des matières:
- Étape 1: Matériaux
- Étape 2: connexion du clavier 4x4
- Étape 3: alimentez la planche à pain et connectez l'écran LCD
- Étape 4: Connectez l'alimentation et la terre à l'écran LCD
- Étape 5: connexion du potentiomètre
- Étape 6: connexion de l'Arduino à l'écran LCD
- Étape 7: Mettre en œuvre le code
- Étape 8: Résultat
2025 Auteur: John Day | [email protected]. Dernière modifié: 2025-01-13 06:57
Hé, j'ai récemment exploré comment implémenter différents types de code dans un circuit. J'ai trouvé que faire une calculatrice serait un excellent moyen d'implémenter le « cas » et d'autres formes de code que j'avais trouvées intéressantes. J'ai dans le passé fait des calculatrices directement à partir du code, mais faire un circuit pour cela m'a intéressé. Surtout pendant cette période de quarantaine où je suis sur mon ordinateur presque toute la journée. Le projet consiste à implémenter des opérations mathématiques sur un écran LCD.
Étape 1: Matériaux
Pour les circuits:
- ACL 16x2
- Arduino Uno R3
- Clavier 4x4
- Petite planche à pain
- Potentiomètre (250 kΩ)
- Résistance (1kΩ)
- x26 fils de cavalier
Étape 2: connexion du clavier 4x4
Connectez les broches 4 rangées du clavier 4x4 aux broches Arduino 4-7 et connectez les broches 4 colonnes aux broches Arduino 0-3.
Étape 3: alimentez la planche à pain et connectez l'écran LCD
J'ai utilisé une tension d'alimentation de 5 pour la planche à pain. J'ai connecté l'alimentation et la terre à la planche à pain. L'écran LCD est placé sur la planche à pain et placé de manière à ce que toutes ses broches soient connectées à la planche à pain.
Étape 4: Connectez l'alimentation et la terre à l'écran LCD
Il y aura 3 broches de terre nécessaires pour être connectées à l'écran LCD. L'un sera connecté à la terre de l'écran LCD, un autre sera connecté à la LED de l'écran LCD et le dernier sera connecté au RW. Le VCC de l'écran LCD et la led nécessiteront de l'alimentation pour être connectés. Cependant, l'alimentation de la LED nécessitera une résistance connectée dans ce cas, j'ai utilisé une résistance de 1kΩ.
Étape 5: connexion du potentiomètre
Connectez le potentiomètre à la maquette avec 3 colonnes libres. Il aura 3 broches, la colonne qui contient la borne 1 broche aura besoin de terre qui lui sera donnée. La colonne qui contient la broche du terminal 2 aura besoin d'être alimentée. Ensuite, l'essuie-glace aura un fil volant dans sa colonne qui se connecte à VO de l'écran LCD.
Étape 6: connexion de l'Arduino à l'écran LCD
Les broches 8-13 de l'Arduino seront connectées à l'écran LCD. Les broches 8-11 de l'Arduino se connecteront respectivement à D8 (7-4). Ensuite, la broche 12 de l'Arduino se connectera à l'activation de l'écran LCD et la broche 13 de l'Arduino se connectera au registre de l'écran LCD.
Étape 7: Mettre en œuvre le code
Le code sera nécessaire pour utiliser les opérations mathématiques avec le clavier et l'écran LCD. Ce qui suit sera le code que j'ai utilisé, mais plusieurs modifications peuvent encore être mises en œuvre pour le rendre plus propre et meilleur. Alors n'hésitez pas à jouer un peu avec.
#include #include
LiquidCrystal LCD (13, 12, 11, 10, 9, 8);
long premier = 0;
seconde longue = 0;
double total = 0;
int position = 0;
char customKey;
octet const ROWS = 4;
octet const COLS = 4;
char keys[ROWS][COLS] = {
{'1', '2', '3', '/'}, {'4', '5', '6', '*'}, {'7', '8', '9', '-'}, {'C', '0', '=', '+'} };
octet rowPins[ROWS] = {7, 6, 5, 4};
octet colPins[COLS] = {3, 2, 1, 0};
Clavier customKeypad = Keypad(makeKeymap(keys), rowPins, colPins, ROWS, COLS);
void setup(){
lcd.begin (16, 2);
lcd.setCursor(5, 0);
lcd.clear(); }
boucle vide() {
customKey = customKeypad.getKey();
switch(customKey) {
cas '0' … '9':
lcd.setCursor(0, 0);
first = first * 10 + (customKey - '0');
lcd.print(premier);
position++;
Pause;
cas '+':
premier = (total != 0 ? total: premier);
lcd.setCursor(positif, 0);
lcd.print("+");
position++;
deuxième = DeuxièmeNuméro();
total = premier + deuxième;
lcd.setCursor(1, 1);
lcd.print(total);
premier = 0, seconde = 0;
position=0;
Pause;
Cas '-':
premier = (total != 0 ? total: premier);
lcd.setCursor(positif, 0);
lcd.print("-");
position++;
deuxième = DeuxièmeNuméro();
total = premier - deuxième;
lcd.setCursor(1, 1);
lcd.print(total);
premier = 0, seconde = 0;
position=0;
Pause;
Cas '*':
premier = (total != 0 ? total: premier);
lcd.setCursor(positif, 0);
lcd.print("*");
position++;
deuxième = DeuxièmeNuméro();
total = premier * deuxième;
lcd.setCursor(1, 1);
lcd.print(total);
premier = 0, seconde = 0;
position=0;
Pause;
Cas '/':
premier = (total != 0 ? total: premier);
lcd.setCursor(positif, 0);
lcd.print("/");
position++;
deuxième = DeuxièmeNuméro(); lcd.setCursor(1, 1);
seconde == 0 ? lcd.print("Error"): total = (float)premier / (float)second;
lcd.print(total);
premier = 0, seconde = 0;
position=0;
Pause;
cas 'C':
total = 0;
premier = 0;
seconde = 0;
position = 0;
lcd.clear();
Pause; }
}
long SecondNumber() {
tandis que (1) {
customKey = customKeypad.getKey();
if(customKey >= '0' && customKey <= '9') {
seconde = seconde * 10 + (customKey - '0');
lcd.setCursor(positif, 0);
lcd.print(seconde); }
if(customKey == 'C') {
total = 0;
premier = 0;
seconde = 0;
position = 0;
lcd.clear();
Pause; }
if(customKey == '='){
lcd.setCursor(0, 1);
lcd.print("=");
position = total;
lcd.clear();
lcd.setCursor(0, 1);
lcd.print("=");
Pause; }
}
renvoie la seconde;}
Étape 8: Résultat
J'espère que vous avez tous apprécié cette instructable. Merci pour la lecture!
Saïm.