Spedizione gratuita da 74,95 € NL (99,95 € BE/DE)

Consegna veloce con DHL

Ordinato prima delle XNUMX:XNUMX = Spedito oggi

Restituzione entro XNUMX giorni*


Paese

In questo divertente progetto imparerai come crearne uno tuo Arduino può fare una calcolatrice.

È possibile utilizzare questa calcolatrice per calcoli semplici. Questi sono più, meno, volte o divisi per. Quindi non aspettarti di essere in grado di risolvere equazioni con esso.

Lo facciamo utilizzando una tastiera 4X4 e un display LCD 16X2. Colleghiamo lo schermo tramite I2C, quindi tieni presente che hai bisogno di librerie aggiuntive. Per la tastiera è necessario importare la libreria della tastiera, maggiori informazioni a riguardo possono essere trovate in pianoforte piezo progetto. Per le biblioteche I2C troverete le informazioni in LCD I2C progetto.

  • Livello – Intermedio 40% 40%
  • Durata – 20/25 Min 25% 25%
  • Costi – € 42.80 euro completo 40% 40%

Passaggio 1: forniture

1X Arduino UNO

12 cavi jumper

Tastiera 1X 4X4

LCD 1X16X2

Passaggio 2: costruisci e cabla

Ora collegherai la calcolatrice Arduino. Inizieremo con lo schermo. Al display, colleghiamo prima il GND del display al GND di Arduino, il VCC al 5V di Arduino, infine l'SDA ad A4 e SCL ad A5. Collegare la tastiera esattamente nello stesso modo mostrato sul fritzing. Cioè, se i pulsanti indicano che il pin più a sinistra deve andare al pin I/O 4, il pin a destra va al pin I/O 5, quindi il pin a destra di questo pin va a I/ O pin 6 e il pin a destra di questo al pin I/O 7. Ripetere questa operazione per gli altri quattro pin solo poi sui pin I/O fino al 3 incluso. Questo significa ancora da sinistra a destra. È importante notare che se la tastiera non funziona correttamente, è molto probabile che un ponticello sia stato collegato in modo errato. Una volta fatto, hai collegato tutto per la tua calcolatrice.

Passaggio 3: programmazione

 

Ora che stai programmando, tieni presente che avrai bisogno delle librerie Wire, Keypad e LiquidCrystal_I2C.

Durante la programmazione definiamo * e # come altri simboli. Il * è la funzione clear quindi C e il # è il segno ed è quindi definito come =.

Non appena tutto il codice è lì e guardi il tuo Arduino, lo schermo mostra prima "elettronica per la tua calcolatrice". Quindi lo schermo diventa bianco e puoi iniziare a fare calcoli.

Nel caso in cui premi il segno C prima di aver calcolato una somma e desideri continuare a calcolare di nuovo, probabilmente noterai che non funziona. È importante premere prima il segno =, se non lo fai, non funzionerà.

//le librerie di cui abbiamo bisogno

#includere

#includere

#includere

//definizioni della tastiera

byte const RIGHE = 4;

byte const COLS = 4;

chiavi carattere[RIGHE][COLS] = {

  {'1', '2', '3', '+'},

  {'4', '5', '6', '-'},

  {'7', '8', '9', '*'},

  {'C', '0', '=', '/'}

};

byte rowPins[RIGHE] = {0, 1, 2, 3};

byte colpins [cols] = {4, 5, 6, 7};

 

Tastiera ourKeypad = Tastiera(makeKeymap(chiavi), rowPins, colPins, ROWS, COLS);

// inizializza lcd

LiquidCrystal_I2C LCD (0x3f, 20,4);

 

// dì qui quali sono questi valori

booleano firstNumState = vero;

Stringa numero primo = “”;

Stringa secondoNum = “”;

risposta mobile = 0.0;

addetto = ' ';

 

void setup () {

  //qui accendiamo lo schermo

  LCD.Inizio (16,2);

  lcd.init ();

  lcd.init ();

  lcd.retroilluminazione();

  lcd.setCursor(0,0);

  lcd.print("Elettronica");

  lcd.setCursor(0,1);

  lcd.print("Per te");

  ritardo (1500);

  LCD.Cancella ();

  lcd.setCursor(0,0);

  lcd.print("calcolatrice");

  ritardo (1500);

  LCD.Cancella ();

}

void loop () {

  Char Newkey = Ourkeypad.getKey ();

  //cosa fare quando riceve un numero

  if(nuovaChiave != NO_KEY && (nuovaChiave == '1' || nuovaChiave == '2' || nuovaChiave == '3' || nuovaChiave == '4' || nuovaChiave == '5' || nuovaChiave = = '6' || nuovaChiave == '7' || nuovaChiave == '8' || nuovaChiave == '9' || nuovaChiave =='0′)){

    if(firstNumState == vero){

      firstNum = firstNum + newKey;

      lcd.print (nuova chiave);

    Else {}

      secondNum = secondNum + nuovaChiave;

      lcd.print (nuova chiave);

    }

  }

  //cosa fare quando riceve un operatore

  if(nuovaChiave != NO_KEY && (nuovaChiave == '+' || nuovaChiave == '-' || nuovaChiave == '*' || nuovaChiave == '/')) {

    if(firstNumState == vero){

      opera = nuova chiave;

      firstNumState = falso;

      lcd.print(operativo);

    }

  }

  //qui diciamo cosa succede quando tu

  //stampa #

  if(newKey != NO_KEY && newKey == '='){

    //cosa fare come operatore

    //+ è

    se(operativo == '+'){

      risposta = firstNum.toFloat() + secondNum.toFloat();

    }

    //cosa fare come operatore

    //- è

    se(operativo == '-'){

      risposta = firstNum.toFloat() - secondNum.toFloat();

    }

    //cosa fare come operatore

    //* è

    se(operativo == '*'){

      risposta = firstNum.toFloat() * secondNum.toFloat();

    }

    //cosa fare come operatore

    //diviso per è

    se(operativo == '/'){

      risposta = firstNum.toFloat() / secondNum.toFloat();

    }

    lcd.setCursor(0,0);

    lcd.print(firstNum);

    lcd.print(operativo);

    lcd.print(secondNum);

    lcd.setCursor(0,1);

    lcd.print ("=");

    lcd.print(risposta);

    firstNumState = vero;

  }

  if(newKey != NO_KEY && newKey == 'C'){

    //qui diciamo cosa succede quando tu

    //stampa *

    LCD.Cancella ();

    lcd.setCursor(0,0);

    firstNum = “”;

    secondoNum = “”;

    risposta = 0;

    opera = ' ';

  }

}

 

L'apprezzamento di www.electronicsvoorjou.nl at Recensioni WebwinkelKeur è 9.3 / 10 basato su 5006 recensioni.