Come creare un semplice calcolatore Arduino Uno

Come creare un semplice calcolatore Arduino Uno
Arduino è una piattaforma basata su software e hardware che rende facile l'uso di microcontrollori ed è una fonte di apprendimento delle basi della progettazione del circuito per principianti. Inoltre, questa piattaforma offre l'opportunità di realizzare piccoli progetti a progetti molto complessi nel modo semplice. Un circuito per i calcolatori è progettato ed è implementato utilizzando Arduino Uno in questo discorso.

Fare un semplice calcolatore Arduino Uno

Per realizzare il calcolatore utilizzando la scheda Arduino ci sono alcuni elementi richiesti:

  • Arduino Uno
  • Tastiera a membrana 4 × 4
  • Collegamento dei fili
  • Breadboard
  • 16 × 2 LCD
  • Potenziometro
  • Breadboard

Lo schema da seguire per implementare il calcolatore usando Arduino Uno è riportato di seguito:

Assemblaggio hardware per semplice calcolatore Arduino Uno

Abbiamo implementato la progettazione del circuito sull'hardware in modo tale che prima abbiamo messo ogni componente sulla scheda del pane tranne l'Arduino Uno. Successivamente abbiamo interfacciato ogni componente con Arduino usando i fili di collegamento. C'è un'immagine pubblicata di seguito per comprendere meglio l'implementazione hardware di questo progetto.

Semplice schizzo di calcolatrice Arduino Uno

Il codice Arduino compilato per la progettazione di un calcolatore utilizzando Arduino IDE è dato come

#include // libreria per la tastiera
#include // libreria per LCD
LiquidCrystal LCD (A1, A0, 5, 4, 3, 2); // Pin Arduino per LCD
ROWS BYTE const = 4; // Inizializzazione delle righe della tastiera
const byte cols = 4; // inizializza le colonne di tastiera
char keys [righe] [cols] = // dando valori a ciascuna chiave della tastiera
'7', '8', '9', '/',
'4', '5', '6', '*',
'1', '2', '3', '-',
'C', '0', '=', '+'
;
Byte RowPins [ROWS] = 13,12,11,10; // pin Arduino per file di tastiera
byte colpins [cols] = 9,8,7,6; // pin Arduino per colonne di tastiera
KeyPad MyKeyPad = KeyPad (MakeKeyMap (chiavi), Rowpins, Colpins, Rows, Cols); /* funzione per mappare i valori sui tasti*/
// Assegnazione del tipo di dati booleani alle variabili e inizializzarle con zero
booleano presente = false; //
booleano successivo = false;
booleano finale = false;
Stringa num1, num2; // variabili per visualizzare l'ingresso intero della tastiera
float ans; // per operatore di divisione Il tipo di dati float viene utilizzato per la risposta dell'operazione
char op; // assegnare tipi di dati dei caratteri agli operatori aritmetici
void setup ()

LCD.Inizia (16,2); // Inizializzazione del LCD
LCD.setcursor (3,0); // Impostazione del luogo per la visualizzazione della prima riga di dati
LCD.print ("LinuxHint");
LCD.SetCursor (3,1); // Impostazione del luogo per la visualizzazione della seconda riga di dati
LCD.print ("calcolatrice");
ritardo (2000);
LCD.chiaro();

void loop ()
// utilizzando la funzione getkey per ottenere il valore del tasto premuto
CHARD CHIAVE = MyKeypad.getKey ();
if (chiave != No_key && (key == '1' || key == '2' || key == '3' || key == '4' || key == '5' || key == '6' || key == '7' || key == '8' || key == '9' || key == '0'))

se presente != vero)

num1 = num1 + chiave; // memorizzazione del valore del tasto premuto in num1
Float NumLength = Num1.lunghezza();
LCD.setCursor (0, 0); // per regolare uno spazio bianco per l'operatore
LCD.print (num1); // Stampa il primo numero inserito

altro

Num2 = Num2 + Key; // memorizzazione del valore del secondo tasto premuto in Num2
Float numLength = num2.lunghezza();
LCD.setCursor (2, 0);
LCD.print (num2); // Stampa il secondo numero inserito
finale = vero;


// condizione per il tasto che ha un operatore aritmetico come valore viene premuto
else if (present == false && key != No_key && (key == '/' || key == '*' || key == '-' || key == '+'))

if (presente == false)

presente = vero;
op = chiave; // Salvare l'operatore aritmetico nella variabile OP
LCD.setcursor (1,0);
LCD.stampa (op);


// Condizioni per il lavoro degli operatori aritmetici
else if (finale == true && key != No_key && key == '=')
if (op == '+')
Ans = Num1.tofloat () + num2.galleggiare();

Il codice Arduino è compilato in modo tale che prima sono definite le librerie per la tastiera e LCD. Quindi vengono dichiarate le dimensioni e le principali legami della tastiera e vengono dichiarati anche i pin Arduino assegnati al LCD.

Allo stesso modo, i legami chiave assegnati a ciascuna chiave sono mappati sulla tastiera usando la funzione MyKeyPad. Dopodiché le variabili che hanno un tipo di dati booleano sono dichiarate per prendere le decisioni nel codice.

Nel codice esiste una condizione principale IF per riconoscere l'associazione chiave con il valore intero e c'è un altro altro se la condizione per riconoscere gli operatori aritmetici.

In poche parole se viene premuto un tasto con valore intero, viene memorizzato nella variabile NUM1 e NUM2. Allo stesso modo, se il legame chiave ha un operatore aritmetico come valore, verrà memorizzato nella variabile caratteristica OP e in base all'operatore selezionato un ciclo specifico per quell'operatore viene eseguito e il risultato viene visualizzato nel LCD.

Simulazione e dimostrazione hardware di semplice calcolatore Arduino Uno

Per dare un concetto più chiaro di creare un calcolatore usando Arduino, abbiamo dato l'output di hardware seguito dalla simulazione che abbiamo effettuato nel software Proteus. L'immagine pubblicata di seguito mostra la simulazione del calcolatore di produzione usando Arduino Uno.

L'immagine successiva fornita è la dimostrazione del funzionamento del codice Arduino compilato per la creazione del calcolatore usando Arduino Uno:

Conclusione

Per realizzare progetti sul principiante e a livello avanzato, la famiglia Arduino fornisce una varietà di consigli a seconda della natura del progetto. La piattaforma fornita da Arduino può essere effettivamente utilizzata per gli studenti universitari e delle scuole superiori per conoscere i circuiti. Un piccolo progetto di realizzazione di un calcolatore viene realizzato utilizzando la scheda Arduino Uno in questo articolo.