- Materials necessaris:
- Esquema de connexions:
- Programa de calculadora Arduino:
- Simulació de la calculadora Arduino:
- Funcionament de la calculadora Arduino:
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 visualitzar en una pantalla LCD (16 × 2 Dot-matrix). Aquesta calculadora podria realitzar operacions senzilles com la suma, la resta, la multiplicació i la divisió amb nombres enters. Però un cop entès el concepte, podeu implementar fins i tot funcions científiques amb les funcions integrades d’Arduino.
Al final d’aquest projecte, sabreu com utilitzar una pantalla LCD i un teclat de 16x2 amb Arduino i també com és de fàcil programar-los mitjançant les biblioteques fàcilment disponibles. També entendreu com programar el vostre Arduino per dur a terme una tasca en particular.
Materials necessaris:
- Arduino Uno (Qualsevol versió funcionarà)
- Pantalla LCD de 16 × 2
- Teclat 4 × 4
- Bateria de 9V
- Taula de pa i cables de connexió
Esquema de connexions:

El diagrama complet del circuit d’aquest projecte Arduino Calculator es presenta a la part superior. La connexió de + 5V i de terra que es mostra al diagrama del circuit es pot obtenir a partir del pin de 5V i de terra de l’Arduino. El propi Arduino es pot alimentar des del portàtil o mitjançant la presa de corrent continu mitjançant un adaptador de 12V o una bateria de 9V.
Estem operant la pantalla LCD en mode de 4 bits amb Arduino, de manera que només els darrers quatre bits de dades de la pantalla LCD estan connectats a Arduino. El teclat tindrà 8 pins de sortida que s'han de connectar des del pin 0 al pin 7, tal com es mostra més amunt. Podeu utilitzar la taula de connexions següent per verificar la vostra connexió amb Arduino; també podeu comprovar la interfície del teclat 4x4 amb Arduino.
|
Nom del pin Arduino: |
Connectat a: |
|
D0 |
1 er pin del teclat |
|
D1 |
2 nd pin de el teclat |
|
D2 |
3 rd pins de el teclat |
|
D3 |
4 º pin de el teclat |
|
D4 |
5 º pin de el teclat |
|
D5 |
6 º pin de el teclat |
|
D6 |
7 º pin de el teclat |
|
D7 |
8 º pin de el teclat |
|
D8 |
Registra el pin seleccionat de la pantalla LCD (pin 4) |
|
D9 |
Activa el pin de la pantalla LCD (pin 6) |
|
D10 |
Pin de dades 4 (pin 11) |
|
D11 |
Pin de dades 4 (pin 11) |
|
D12 |
Pin de dades 4 (pin 11) |
|
D13 |
Pin de dades 4 (pin 11) |
|
+ 5V |
Connectat al pin Vdd de la pantalla LCD (pin 2) |
|
Terra |
Connectat a pin Vss, Vee i RW de LCD (pin 1,3 i 5) |
Algunes taules Arduino poden mostrar un error en penjar el programa si hi ha alguna cosa connectada al pin 0 i pin1, de manera que si en teniu alguna, només heu de treure el teclat mentre pengeu el programa.
Quan hàgiu acabat les connexions, el vostre maquinari es mostrarà a continuació

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, primer els afegirem al nostre IDE Arduino. 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 apunteu la ubicació a aquest fitxer descarregat. Un cop fet estem tots 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 faig servir en aquest projecte té el següent aspecte del mapa de tecles.
A continuació, hem esmentat a quins pins es connecta el teclat mitjançant la matriu variable rowPins i colPins .
byte const ROWS = 4; // Quatre files const byte COLS = 4; // Tres columnes // Definiu les tecles de caràcters del mapa de tecles = {{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, { '7', '8', '9', 'C'}, {'*', '0', '#', 'D'}}; byte rowPins = {0, 1, 2, 3}; // Connecteu el teclat ROW0, ROW1, ROW2 i ROW3 a aquests pins Arduino. byte colPins = {4, 5, 6, 7}; // Connecteu el teclat COL0, COL1 i COL2 a aquests pins Arduino.
Un cop hàgim esmentat quin tipus de teclat fem servir i com està connectat, podem crear el teclat utilitzant aquests detalls mitjançant la línia següent.
Teclat kpd = Teclat (makeKeymap (tecles), filaPins, colPins, FILES, COLS); // Creeu 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 les següents
const int rs = 8, en = 9, d4 = 10, d5 = 11, d6 = 12, d7 = 13; // Pins als quals està connectat el LCD LiquidCrystal lcd (rs, en, d4, d5, d6, d7); // crear la pantalla LCD
Dins de la funció de configuració , només visualitzem el nom del projecte i després procedim al bucle while on es troba el projecte principal.
Bàsicament, hem de comprovar si s’està escrivint alguna cosa al teclat, si s’escriu hem de reconèixer el que s’està escrivint i després convertir-lo en una variable quan es prem el símbol “=”, 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 com es mostra a continuació
clau = kpd.getKey (); // emmagatzemar el valor de la tecla premuda en un caràcter if (tecla! = NO_KEY) DetectButtons (); if (result == true) CalculateResult (); DisplayResult ();
El que passa dins de cada funció s’explica mitjançant les línies de comentari, aneu a través del codi complet que hi ha a continuació, feu un cop d’ull 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.
Simulació de la calculadora Arduino:
També podem provar de simular el projecte mitjançant el programari Proteus. Proteus no té un component Arduino per si sol, però es pot descarregar i afegir fàcilment a la seva biblioteca. Un cop tingueu el component Arduino a Proteus, només cal afegir LCD i teclat alfanumèrics per establir la connexió tal com es mostra al diagrama del circuit.
A continuació, descarregueu el fitxer hexadecimal des d'aquí i afegiu-lo a l'Arduino fent doble clic a la placa de Proteus i apunteu el "fitxer de programa" a aquest fitxer hexadecimal descarregat. A continuació es mostra un instantani de la simulació, el vídeo complet es mostra al funcionament complet.

Nota: El fitxer hexadecimal donat no és el mateix que l'original del programa que es mostra a continuació. S'ha modificat a, ja que el mapa de tecles del teclat de simulació i el teclat del maquinari real són diferents.
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 la instrucció indicada anteriorment. 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 semblant a la següent, amb la pantalla LCD que mostrarà

Com que el teclat que s'utilitza aquí no té marques adequades, he suposat que els alfabets són els operadors que s'indiquen a continuació
|
Personatge al teclat |
Se suposa que ho és |
|
"A" |
Addició (+) |
|
"B" |
Resta (-) |
|
"C" |
Multiplicació (*) |
|
"D" |
Divisió (/) |
|
"*" |
Esborra (C) |
|
"#" |
Igual (=) |
Podeu utilitzar un marcador per escriure sobre el que representa realment cada botó.
Fet això, podeu començar a utilitzar directament 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.
