Taula de continguts:
- Pas 1: coses necessàries
- Pas 2: diagrama del circuit
- Pas 3: Programa de calculadora Arduino
- Pas 4:
- Pas 5: Funcionament de la calculadora Arduino
- Pas 6: Codi
Vídeo: Calculadora Arduino: 6 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:14
La programació sempre és divertida i Arduino és una plataforma meravellosa si tot just s’inicia amb la programació incrustada. En aquest tutorial construirem la nostra pròpia calculadora amb Arduino. Els valors es poden enviar mitjançant un teclat (teclat 4 × 4) i el resultat es pot veure en una pantalla LCD (16 × 2 Dot-matrix). Aquesta calculadora podria realitzar operacions senzilles com sumar, restar, multiplicar i dividir amb nombres enters. Però una vegada que entengueu el concepte, podeu implementar fins i tot funcions científiques amb les funcions integrades d’Arduino. Al final d’aquest projecte, sabreu com utilitzar un LCD i un teclat de 16x2 amb Arduino i també el fàcil que és programar per a ells utilitzant fàcilment biblioteques disponibles. També entendreu com programar el vostre Arduino per dur a terme una tasca en particular.
Pas 1: coses necessàries
Arduino Uno (Qualsevol versió funcionarà) Pantalla LCD 16 × 2 Teclat 4 × 4 Bateria 9V Tauler de pa i cables de connexió
Pas 2: diagrama del circuit
Pas 3: Programa de calculadora Arduino
El programa complet d'Arduino per a aquest projecte es dóna al final d'aquest projecte. El codi es divideix en petits trossos significatius i s’explica a continuació. Com s’ha dit anteriorment, farem una interfície de pantalla LCD i teclat amb Arduino mitjançant biblioteques. Per tant, anem a afegir-los al nostre IDE Arduino primer. La biblioteca per a LCD ja està inclosa al vostre Arduino per defecte, de manera que no ens hem de preocupar. Per a la biblioteca de teclats, feu clic a l'enllaç per descarregar-la des de Github. Obtindreu un fitxer ZIP i, a continuació, afegiu aquesta llibreta a Arduino by Sketch -> Inclou biblioteca -> Afegiu un fitxer. ZIP i assenyaleu la ubicació al fitxer descarregat. Un cop fet, ja estem preparats per a la programació. Tot i que hem utilitzat una biblioteca per utilitzar un teclat, hem d’esmentar pocs detalls (que es mostren a continuació) sobre el teclat de l’Arduino. La variable FILES i COLS indicarà quantes files i columnes té el nostre teclat i el mapa de tecles mostra l'ordre en què les tecles estan presents al teclat. El teclat que estic fent servir en aquest projecte té un aspecte semblant al mapa de tecles també representa el mateix. A continuació hem esmentat a quins pins està connectat el teclat mitjançant la matriu variable rowPins i colPins.const byte ROWS = 4; // Quatre filesconst byte COLS = 4; // Tres columnes // Definiu les tecles Keymapchar [ROWS] [COLS] = {{'1', '2', '3', 'A'}, {'4', '5', '6', ' B '}, {' 7 ',' 8 ',' 9 ',' C '}, {' * ',' 0 ',' # ',' D '}}; byte rowPins [ROWS] = {0, 1, 2, 3}; // Connecteu el teclat ROW0, ROW1, ROW2 i ROW3 a aquests pins Arduino.byte colPins [COLS] = {4, 5, 6, 7}; // Connecteu el teclat COL0, COL1 i COL2 a aquests pins Arduino. Un cop hem esmentat quin tipus de teclat utilitzem i com està connectat, podem crear el teclat utilitzant aquests detalls mitjançant la línia següent Teclat kpd = Teclat (makeKeymap (tecles)), rowPins, colPins, ROWS, COLS); // Crear el teclat De la mateixa manera, també hem de dir a quins pins de l'Arduino està connectat el LCD. Segons el nostre diagrama de circuits, les definicions serien com les següents: int rs = 8, en = 9, d4 = 10, d5 = 11, d6 = 12, d7 = 13; // Pins als quals està connectat el LCD LCD LiquidCrystal (rs, en, d4, d5, d6, d7); // Creeu la pantalla LCD Dins de la funció de configuració, només visualitzem el nom del projecte i, a continuació, passem al bucle mentre es troba el projecte principal. Bàsicament, hem de comprovar si s’està escrivint alguna cosa al teclat, si s’ha d’escriure s’ha de reconèixer el que s’està escrivint i després convertir-lo en una variable quan es prem “=”, hem de calcular el resultat i, finalment, mostrar-lo a la pantalla LCD. Això és exactament el que es fa dins de la funció de bucle, tal com es mostra a continuació key = kpd.getKey (); // emmagatzemar el valor de la tecla premuda en una charif (key! = NO_KEY) DetectButtons (); if (result == true) CalculateResult (); DisplayResult (); El que passa dins de cada funció s’explica mitjançant les línies de comentari, passeu pel codi complet que hi ha a continuació, feu-hi una volta per entendre com funciona realment. Si teniu cap dubte sobre una línia específica, no dubteu a utilitzar la secció de comentaris o els fòrums.
Pas 4:
Pas 5: Funcionament de la calculadora Arduino
Feu les connexions segons el diagrama del circuit i pengeu el codi següent. Si es mostra un error, assegureu-vos que heu afegit la biblioteca segons les instruccions anteriors. També podeu provar la simulació per comprovar si el problema és del vostre maquinari. Si tot es fa tal i com s’hauria de fer, el vostre maquinari tindrà un aspecte similar a continuació, amb la pantalla LCD que mostra aquesta calculadora Arduino mitjançant el teclat 4x4 en acció Com que el teclat que s’utilitza aquí no té marques adequades, he suposat que els alfabets serien operadors com a la llista següent Caràcter al teclat Se suposa que és una suma "A" (+) "B" Resta (-) "C" Multiplicació (*) Divisió "D" (/) "*" Esborra (C) "#" Igual (=) Podeu utilitzeu un marcador per escriure sobre el que representa realment cada botó. Amb això, podeu començar directament a utilitzar la calculadora. Escriviu el número i apareixerà a la segona línia, premeu l'operand i escriviu el segon número, finalment premeu la tecla "#" per obtenir el resultat. També podeu provar de construir aquesta calculadora Arduino basada en pantalla tàctil.
Pas 6: Codi
/ * * Programa de calculadora del teclat Arduino * / # include // Fitxer de capçalera per a LCD de https://www.arduino.cc/en/Reference/LiquidCrystal#include // Fitxer de capçalera del teclat de https://github.com/ Chris - A / Keypadconst byte ROWS = 4; // Quatre filesconst byte COLS = 4; // Tres columnes // Definiu les tecles Keymapchar [ROWS] [COLS] = {{'7', '8', '9', 'D'}, {'4', '5', '6', ' C '}, {' 1 ',' 2 ',' 3 ',' B '}, {' * ',' 0 ',' # ',' A '}}; byte rowPins [ROWS] = {0, 1, 2, 3}; // Connecteu el teclat ROW0, ROW1, ROW2 i ROW3 a aquests pins Arduino.byte colPins [COLS] = {4, 5, 6, 7}; // Connecteu el teclat COL0, COL1 i COL2 a aquests pins Arduino. Teclat kpd = Teclat (makeKeymap (tecles), filaPins, colPins, FILES, COLS); // Creeu el Keypadconst int rs = 8, en = 9, d4 = 10, d5 = 11, d6 = 12, d7 = 13; // Pins als quals està connectat el LCD LCD LiquidCrystal (rs, en, d4, d5, d6, d7); llarg Num1, Num2, Nombre; clau de caràcter, acció; resultat booleà = false; void setup () {lcd.begin (16, 2); // Estem fent servir una pantalla LCD de 16 * 2 lcd.print ("Calculadora de bricolatge"); // Mostra un missatge d'introducció lcd.setCursor (0, 1); // configureu el cursor a la columna 0, línia 1 lcd.print ("- CircuitDigest"); // Mostra un retard de missatge d'introducció (2000); // Espereu que la pantalla mostri informació lcd.clear (); // Després neteja-ho} void loop () {clau = kpd.getKey (); // emmagatzemar el valor de la tecla premuda en una charif (key! = NO_KEY) DetectButtons (); if (result == true) CalculateResult (); DisplayResult (); } void DetectButtons () {lcd.clear (); // Després netegeu-lo si (tecla == '*') // Si premeu el botó Cancel·la {Serial.println ("Cancel·la el botó"); Nombre = Num1 = Num2 = 0; result = false;} if (tecla == '1') // Si es prem el botó 1 {Serial.println ("Botó 1"); if (Nombre == 0) Nombre = 1; else Nombre = (Nombre * 10) + 1; // Es prem dues vegades} if (tecla == '4') // Si es prem el botó 4 {Serial.println ("Botó 4"); if (Nombre == 0) Nombre = 4; else Nombre = (Nombre * 10) + 4; // Es prem dues vegades} if (tecla == '7') // Si es prem el botó 7 {Serial.println ("Botó 7"); if (Nombre == 0) Nombre = 7; else Nombre = (Nombre * 10) + 7; // Es prem dues vegades} if (tecla == '0') {Serial.println ("Botó 0"); // Es prem el botó 0 si (Nombre == 0) Nombre = 0; else Nombre = (Nombre * 10) + 0; // Es prem dues vegades} if (tecla == '2') // Es prem el botó 2 {Serial.println ("Botó 2"); if (Nombre == 0) Nombre = 2; else Nombre = (Nombre * 10) + 2; // Prem dues vegades} if (tecla == '5') {Serial.println ("Botó 5"); if (Nombre == 0) Nombre = 5; else Nombre = (Nombre * 10) + 5; // Es prem dues vegades} if (tecla == '8') {Serial.println ("Botó 8"); if (Nombre == 0) Nombre = 8; else Nombre = (Nombre * 10) + 8; // Es prem dues vegades} if (tecla == '#') {Serial.println ("Botó igual"); Num2 = Nombre; resultat = cert; } if (clau == '3') {Serial.println ("Botó 3"); if (Nombre == 0) Nombre = 3; else Nombre = (Nombre * 10) + 3; // Es prem dues vegades} if (tecla == '6') {Serial.println ("Botó 6"); if (Nombre == 0) Nombre = 6; else Nombre = (Nombre * 10) + 6; // Es prem dues vegades} if (tecla == '9') {Serial.println ("Botó 9"); if (Nombre == 0) Nombre = 9; else Nombre = (Nombre * 10) + 9; // Prem dues vegades} if (tecla == 'A' || tecla == 'B' || tecla == 'C' || tecla == 'D') // Detecció de botons a la columna 4 {Num1 = Nombre; Nombre = 0; if (clau == 'A') {Serial.println ("Addició"); action = '+';} if (clau == 'B') {Serial.println ("Resta"); acció = '-'; } if (clau == 'C') {Serial.println ("Multiplicació"); action = '*';} if (clau == 'D') {Serial.println ("Devesió"); action = '/';} retard (100); }} void CalculateResult () {if (action == '+') Nombre = Num1 + Num2; if (action == '-') Nombre = Num1-Num2; if (action == '*') Number = Num1 * Num2; if (action == '/') Nombre = Num1 / Num2; } void DisplayResult () {lcd.setCursor (0, 0); // configureu el cursor a la columna 0, línia 1 lcd.print (Num1); lcd.print (acció); lcd.print (Num2); if (result == true) {lcd.print ("="); lcd.print (Nombre);} // Mostra el resultat lcd.setCursor (0, 1); // configureu el cursor a la columna 0, línia 1 lcd.print (Nombre); // Mostra el resultat}
Recomanat:
Calculadora Nextion / Arduino: 3 passos
Nextion / Arduino Calculator: una calculadora útil per a l’Arduino Uno. La calculadora té un estil similar a la calculadora estàndard que s’inclou amb Windows 10. Nota: No inclou les funcions científiques i de programació que fa la calculadora de Windows 10, però aquestes funcions
Calculadora Arduino amb teclat 4X4: 4 passos (amb imatges)
Calculadora Arduino amb teclat 4X4: en aquest tutorial construirem la nostra pròpia calculadora amb Arduino. Els valors es poden enviar mitjançant un teclat (teclat 4 × 4) i el resultat es pot visualitzar en una pantalla LCD. Aquesta calculadora podria realitzar operacions senzilles com Suma, Resta, Multiplicat
Calculadora de bricolatge Arduino amb 1602 LCD i teclat 4x4: 4 passos
Calculadora de bricolatge Arduino amb teclat LCD 1602 i 4x4: Hola nois, en aquest instructable farem una calculadora amb Arduino que pot fer càlculs bàsics. Així que bàsicament agafarem l'entrada del teclat 4x4 i imprimirem les dades en pantalla lcd de 16x2 i arduino farà els càlculs
Construïu la vostra calculadora amb Arduino !: 5 passos
Construeix la calculadora amb Arduino !: Ei, nois! Voleu aprendre a utilitzar una entrada i una sortida del monitor sèrie. Doncs aquí teniu el tutorial perfecte sobre com fer-ho. En aquesta instrucció, us guiaré a través dels senzills passos necessaris per crear una calculadora amb la sèrie Arduino
Com utilitzar el teclat i la pantalla LCD amb Arduino per fer la calculadora Arduino .: 5 passos
Com s'utilitza el teclat i la pantalla LCD amb Arduino per fer la calculadora Arduino. Comencem doncs