Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Processus de fabrication

Calculatrice Arduino

Composants et fournitures

Arduino UNO
× 1
Kit de protection LCD RGB, affichage 16x2 caractères
× 1
Câbles de raccordement (générique)
× 1
Batterie 9V (générique)
× 1
Planche à pain (générique)
× 1

À propos de ce projet

À la fin de ce projet, vous saurez comment utiliser un écran LCD et un clavier 16x2 avec Arduino et aussi à quel point il est facile de programmer pour eux à l'aide des bibliothèques facilement disponibles. Vous comprendrez également comment programmer votre Arduino pour accomplir une tâche particulière.

Matériel requis :

  • Arduino Uno (n'importe quelle version fonctionnera)
  • Écran LCD 16 × 2
  • Clavier 4×4
  • Batterie 9 V
  • Planche à pain et fils de connexion

J0

1ère broche du clavier

D1

2ème broche du clavier

D2

3ème broche du clavier

D3

4ème broche du clavier

D4

5ème broche du clavier

D5

6ème broche du clavier

D6

7ème broche du clavier

J7

8ème broche du clavier

D8

Enregistrez la broche sélectionnée de l'écran LCD (broche 4)

D9

Activer la broche de l'écran LCD (broche 6)

J10

Broche de données 4 (broche 11)

D11

Broche de données 4 (broche 11)

D12

Broche de données 4 (broche 11)

D13

Broche de données 4 (broche 11)

+5V

Connecté à la broche Vdd de l'écran LCD (broche 2)

Terre

Connecté aux broches Vss, Vee et RW de l'écran LCD (broches 1, 3 et 5)

Certaines cartes Arduino peuvent afficher une erreur lors du téléchargement du programme s'il y a quelque chose de connecté aux broches 0 et 1, donc si vous en rencontrez, retirez simplement le clavier pendant le téléchargement du programme.

Une fois vos connexions effectuées, votre matériel ressemblera à ceci ci-dessous

Code

  • Fichier sans titre
Fichier sans titreArduino
* * Programme de calculatrice à clavier Arduino */#include  //Fichier d'en-tête pour LCD de https://www.arduino.cc/en/Reference/LiquidCrystal#include  //En-tête fichier pour le clavier de https://github.com/Chris--A/Keypadconst octet ROWS =4 ; // Quatre rowsconst byte COLS =4; // Trois colonnes// Définir les Keymapchar keys[ROWS][COLS] ={ {'7','8','9','D'}, {'4','5','6',' C'}, {'1','2','3','B'}, {'*','0','#','A'}};byte rowPins[ROWS] ={ 0, 1, 2, 3 } ; // Connectez le clavier ROW0, ROW1, ROW2 et ROW3 à ces broches Arduino.byte colPins[COLS] ={ 4, 5, 6, 7 } ; // Connectez le clavier COL0, COL1 et COL2 à ces broches Arduino.Keypad kpd =Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS ); // Créer le clavierconst int rs =8, en =9, d4 =10, d5 =11, d6 =12, d7 =13; //Broches auxquelles l'écran LCD est connectéLiquidCrystal lcd(rs, en, d4, d5, d6, d7) ; long Num1,Num2,Number ; touche char, action ; résultat booléen =faux ; void setup() { lcd.begin (16, 2); //Nous utilisons un écran LCD 16*2 lcd.print("DIY Calculator"); //Affiche un message d'introduction lcd.setCursor(0, 1); // place le curseur sur la colonne 0, ligne 1 lcd.print("-CircuitDigest"); //Affiche un message d'introduction delay(2000); //Attend que l'écran affiche les informations lcd.clear(); //Puis le nettoyer}boucle void() { key =kpd.getKey(); //stockage de la valeur de la touche enfoncée dans un charif (key!=NO_KEY)DetectButtons();if (result==true)CalculateResult();DisplayResult(); }void DetectButtons(){ lcd.clear(); //Puis le nettoyer si (key=='*') //Si le bouton Annuler est enfoncé {Serial.println ("Bouton Annuler"); Nombre=Num1=Num2=0 ; result=false;} if (key =='1') //Si le bouton 1 est enfoncé {Serial.println ("Bouton 1"); si (Nombre==0) Nombre=1 ; sinon Nombre =(Nombre*10) + 1 ; //Appuyé deux fois } if (touche =='4') //Si le bouton 4 est enfoncé {Serial.println ("Bouton 4"); si (Nombre==0) Nombre=4 ; sinon Nombre =(Nombre*10) + 4 ; //Appuyé deux fois } if (touche =='7') //Si le bouton 7 est enfoncé {Serial.println ("Bouton 7"); si (Nombre==0) Nombre=7 ; sinon Nombre =(Nombre*10) + 7 ; //Appuyé deux fois } if (touche =='0') {Serial.println ("Bouton 0"); //Le bouton 0 est enfoncé si (Nombre==0) Nombre=0 ; sinon Nombre =(Nombre*10) + 0 ; //Appuyé deux fois } if (touche =='2') //Le bouton 2 est enfoncé {Serial.println ("Bouton 2"); si (Nombre==0) Nombre=2 ; sinon Nombre =(Nombre*10) + 2 ; //Appuyé deux fois } if (touche =='5') {Serial.println ("Bouton 5"); si (Nombre==0) Nombre=5 ; sinon Nombre =(Nombre*10) + 5 ; //Appuyé deux fois } if (touche =='8') {Serial.println ("Bouton 8"); si (Nombre==0) Nombre=8 ; sinon Nombre =(Nombre*10) + 8 ; //Appuyé deux fois sur } if (touche =='#') {Serial.println ("Bouton égal"); Num2=Nombre ; résultat =vrai ; } if (clé =='3') {Serial.println ("Bouton 3"); si (Nombre==0) Nombre=3 ; sinon Nombre =(Nombre*10) + 3 ; //Appuyé deux fois } if (touche =='6') {Serial.println ("Bouton 6"); si (Nombre==0) Nombre=6 ; sinon Nombre =(Nombre*10) + 6 ; //Appuyé deux fois } if (touche =='9') {Serial.println ("Bouton 9"); si (Nombre==0) Nombre=9 ; sinon Nombre =(Nombre*10) + 9 ; //Appuyé deux fois } if (touche =='A' || touche =='B' || touche =='C' || touche =='D') //Détection des boutons sur la colonne 4 { Num1 =Number; Nombre =0 ; if (clé =='A') {Serial.println ("Ajout"); action ='+';} if (key =='B') {Serial.println ("Soustraction"); action ='-'; } if (clé =='C') {Serial.println ("Multiplication"); action ='*';} if (clé =='D') {Serial.println ("Devesion"); action ='/';} délai (100); } }void CalculateResult(){ if (action=='+') Number =Num1+Num2; si (action=='-') Nombre =Num1-Num2 ; si (action=='*') Nombre =Num1*Num2 ; si (action=='/') Nombre =Num1/Num2 ; }void DisplayResult(){ lcd.setCursor(0, 0); // place le curseur sur la colonne 0, ligne 1 lcd.print(Num1) ; lcd.print(action); lcd.print(Num2) ; if (résultat==true) {lcd.print(" ="); lcd.print(Number);} //Affiche le résultat lcd.setCursor(0, 1); // place le curseur sur la colonne 0, ligne 1 lcd.print(Number); //Afficher le résultat}

Schémas


Processus de fabrication

  1. Rolling Pin
  2. Épingle de bowling
  3. Démonstration et prévention des exploits de clavier Arduino (HID)
  4. Programmation de la série Atmel AT89 via Arduino
  5. Arduino Spybot
  6. Lecture du signal PPM du récepteur RC à l'aide d'Arduino
  7. FlickMote
  8. Téléviseur maison B-Gone
  9. Contrôle de ventilateur PWM 4 broches 25 kHz avec Arduino Uno