Table des matières:

Concours de calculatrice TinkerCad : 8 étapes
Concours de calculatrice TinkerCad : 8 étapes

Vidéo: Concours de calculatrice TinkerCad : 8 étapes

Vidéo: Concours de calculatrice TinkerCad : 8 étapes
Vidéo: Concours de calcul rapide 2017 2024, Novembre
Anonim
Calculatrice Concours TinkerCad
Calculatrice Concours TinkerCad

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

Connexion du clavier 4x4
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

Fournissez l'alimentation à la planche à pain et connectez l'écran LCD
Fournissez l'alimentation à 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

Connectez l'alimentation et la terre à l'écran LCD
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

Connexion du potentiomètre
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

Connexion de l'Arduino à l'écran LCD
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

Résultat
Résultat
Résultat
Résultat

J'espère que vous avez tous apprécié cette instructable. Merci pour la lecture!

Saïm.

Conseillé: