In diesem lustigen Projekt lernst du, wie du deine eigenen machst Arduino Rechner machen kann.
Sie können diesen Rechner für einfache Berechnungen verwenden. Dies sind Plus, Minus, Zeiten oder geteilt durch. Erwarten Sie also nicht, Gleichungen damit lösen zu können.
Wir tun dies mit einer 4X4-Tastatur und einem 16X2-LCD-Bildschirm. Wir verbinden den Bildschirm über I2C. Denken Sie also daran, dass Sie zusätzliche Bibliotheken benötigen. Für die Tastatur müssen Sie die Tastaturbibliothek importieren. Weitere Informationen hierzu finden Sie in der Piezo-Klavier Projekt. Für die I2C-Bibliotheken finden Sie die Informationen in der I2C-LCD Projekt.
- Stufe - Mittel 40%
- Dauer - 20/25 min 25%
- Kosten - 42.80 € abgeschlossen 40%
Schritt 1: Anforderungen
1X Arduino UNO
12X Überbrückungskabel
1X 4X4 Tastatur
1 x 16 x 2 LCD
Schritt 2: Bauen und Verkabeln
Schritt 3: Programmierung
Jetzt, da Sie programmieren möchten, müssen Sie berücksichtigen, dass Sie die Bibliotheken Wire, Keypad und LiquidCrystal_I2C benötigen.
Während der Programmierung definieren wir das * und das # als andere Symbole. Das * ist die Löschfunktion, also ist C und das # das Vorzeichen und wird somit als = definiert.
Sobald der gesamte Code drauf ist und du auf deinen Arduino schaust, zeigt der Bildschirm zunächst „Elektronik für dich Calculator“. Dann wird der Bildschirm leer und Sie können mit Berechnungen beginnen.
Wenn Sie bereits das C-Zeichen drücken, bevor Sie eine Summe berechnet haben und mit der Berechnung fortfahren möchten, werden Sie feststellen, dass dies nicht funktioniert. Es ist wichtig, dass Sie zuerst das Zeichen = drücken, wenn Sie dies nicht tun, da dies nicht funktioniert.
// die Bibliotheken, die wir brauchen
#einschließen
#einschließen
#einschließen
// Tastaturdefinitionen
konstantes Byte ROWS = 4;
konstantes Byte COLS = 4;
Zeichenschlüssel [ROWS] [COLS] = {
{'1', '2', '3', '+'},
{'4', '5', '6', '-'},
{'7', '8', '9', '*'},
{'C', '0', '=', '/'}
};
Byte rowPins [ROWS] = {0, 1, 2, 3};
Byte colPins [COLS] = {4, 5, 6, 7};
Tastatur ourKeypad = Tastatur (makeKeymap (Schlüssel), rowPins, colPins, ROWS, COLS);
// lcd initialisieren
LiquidCrystal_I2C lcd (0x3F, 20,4);
// sag hier was diese Werte sind
boolean firstNumState = true;
String firstNum = “”;
String secondNum = “”;
float answer = 0.0;
char oper = '';
void setup () {
// hier schalten wir den Bildschirm ein
lcd.begin (16,2);
lcd.init ();
lcd.init ();
LCD-Rücklicht ();
lcd.setCursor (0,0);
lcd.print ("Elektronik");
lcd.setCursor (0,1);
lcd.print ("Für Sie");
Verzögerung (1500);
lcd.clear ();
lcd.setCursor (0,0);
lcd.print ("Taschenrechner");
Verzögerung (1500);
lcd.clear ();
}
void loop () {
char newKey = ourKeypad.getKey ();
// Was tun, wenn er eine Nummer bekommt?
if (newKey! = NO_KEY && (newKey == '1' || newKey == '2' || newKey == '3' || newKey == '4' || newKey == '5' || newKey = = '6' || newKey == '7' || newKey == '8' || newKey == '9' || newKey == '0 ′)) {
if (firstNumState == true) {
firstNum = firstNum + newKey;
lcd.print (newKey);
Else {}
secondNum = secondNum + newKey;
lcd.print (newKey);
}
}
// Was tun, wenn er einen Operator bekommt?
if (newKey! = NO_KEY && (newKey == '+' || newKey == '-' || newKey == '*' || newKey == '/')) {
if (firstNumState == true) {
oper = neuerSchlüssel;
firstNumState = false;
lcd.print (oper);
}
}
// hier sagen wir was passiert wenn du
// Drücken Sie #
if (newKey! = NO_KEY && newKey == '=') {
// was als Operator zu tun ist
// + ist
if (oper == '+') {
antw = firstNum.toFloat () + secondNum.toFloat ();
}
// was als Operator zu tun ist
// - ist
if (oper == '-') {
antw = firstNum.toFloat () - secondNum.toFloat ();
}
// was als Operator zu tun ist
// * ist
if (oper == '*') {
antw = firstNum.toFloat () * secondNum.toFloat ();
}
// was als Operator zu tun ist
// geteilt durch is
if (oper == '/') {
antw = firstNum.toFloat () / secondNum.toFloat ();
}
lcd.setCursor (0,0);
lcd.print (firstNum);
lcd.print (oper);
lcd.print (secondNum);
lcd.setCursor (0,1);
lcd.print ("=");
lcd.print (antw);
firstNumState = true;
}
if (newKey! = NO_KEY && newKey == 'C') {
// hier sagen wir was passiert wenn du
// Drücken Sie *
lcd.clear ();
lcd.setCursor (0,0);
firstNum = "";
secondNum = "";
Antwort = 0;
oper = '';
}
}