Как сделать простой калькулятор на Ардуино



#include <LiquidCrystal.h>
#include <Keypad.h>

LiquidCrystal lcd(0, 1, 2, 3, 4, 5);
const byte ROWS = 4;
const byte COLS = 4;

char keys [ROWS] [COLS] = {
  {'7', '8', '9', '/'},
  {'4', '5', '6', '*'},
  {'1', '2', '3', '-'},
  {'C', '0', '=', '+'}
};
byte rowPins[ROWS] = {13 ,12 ,11 ,10};
byte colPins[COLS] = {9, 8, 7, 6};

Keypad myKeypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );


boolean presentValue = false;
boolean next = false;
boolean final = false;
String num1, num2;
int answer;
char op;

void setup()
{
  lcd.begin(16,2);
  lcd.setCursor(0,0);
  lcd.print("Electronics Hub ");
  lcd.setCursor(0,1);
  lcd.print("    Presents    ");
  delay(5000);
  lcd.setCursor(0,0);
  lcd.print(" Arduino based  ");
  lcd.setCursor(0,1);
  lcd.print("  Calculator"    );
  delay(5000);
  lcd.clear();
}

void loop(){
  char key = myKeypad.getKey();

  if (key != NO_KEY && (key=='1'||key=='2'||key=='3'||key=='4'||key=='5'||key=='6'||key=='7'||key=='8'||key=='9'||key=='0'))
  {
    if (presentValue != true)
    {
      num1 = num1 + key;
      int numLength = num1.length();
      lcd.setCursor(15 - numLength, 0); //to adjust one whitespace for operator
      lcd.print(num1);
    }
    else 
    {
      num2 = num2 + key;
      int numLength = num2.length();
      lcd.setCursor(15 - numLength, 1);
      lcd.print(num2);
      final = true;
    }
  }

  else if (presentValue == false && key != NO_KEY && (key == '/' || key == '*' || key == '-' || key == '+'))
  {
    if (presentValue == false)
    {
      presentValue = true;
      op = key;
      lcd.setCursor(15,0);
      lcd.print(op);
    }
  }

  else if (final == true && key != NO_KEY && key == '='){
    if (op == '+'){
      answer = num1.toInt() + num2.toInt();
    }
    else if (op == '-'){
      answer = num1.toInt() - num2.toInt();
    }
    else if (op == '*'){
      answer = num1.toInt() * num2.toInt();
    }
    else if (op == '/'){
      answer = num1.toInt() / num2.toInt();
    }    
      lcd.clear();
      lcd.setCursor(15,0);
      lcd.autoscroll();
      lcd.print(answer);
      lcd.noAutoscroll();
  }
  else if (key != NO_KEY && key == 'C'){
    lcd.clear();
    presentValue = false;
    final = false;
    num1 = "";
    num2 = "";
    answer = 0;
    op = ' ';
  }
}

Так же не забываем о экономии при покупке товаров на Алиєкспресс с помощью кэшбэка 

Для веб администраторов и владельцев пабликов  главная страница ePN

Для пользователей покупающих на Алиэкспресс с быстрым выводом % главная страница ePN Cashback

Удобный плагин кэшбеэка браузерный плагин ePN Cashback

  • Как сделать простой калькулятор на Ардуино

Похожие статьи

Установка драйвера CH340 для ардуино arduino и отключение цифровой подписи драйверов для windows

Установка драйвера CH340 для ардуино arduino и отключение цифровой подписи драйверов для windows

В последнее  время появилось много устройств с использованием микросхемы CH340G и потребность в драйверах для нее очень резко выросла. Много кто ищет где скачать и как установить драйвера для CH340G. Мы сегодня решили разобраться с этой проблемой

Работа с ардуино и  IR приёмник - один из способов  дистанционного управления Arduino

Работа с ардуино и IR приёмник - один из способов дистанционного управления Arduino

Итак, начнём изучать способы дистанционного управления Arduino, а конктретно ИК сигналы. Инфракрасный(ИК) спектр не виден человеческому глазу, но отлично воспринимается цифровыми камерами и ИК приёмниками(с ними и будем работать). Данный способ управления удобен для управления техникой в прямой видимости (телевизор, кондиционер, аудио и видео аппаратура). Но об этом мы поговорим во втором уроке. Для начала научимся считывать IR сигнал с любого пульта. 

Станок для раскраски яиц на пасху

Станок для раскраски яиц на пасху

В предверии пасхи родилась идея сделать станок для раскраски яиц. Так же, конструкция позволяет раскрашивать и другие круглые объекты размером от 4 до 9 сантиметров.

Для изготовления робота я использовал 3d принтер и arduino для управления движениями.

ESP8266 карманный  вай-фай джаммер

ESP8266 карманный вай-фай джаммер

Многие знают что же такое джаммер. Но давайте рассмотрим возможности вай-фай джаммера .В основном это устройство, которое выполняет какую либо спам-атаку на объект.Вы выбираете клиентов, которые хотите отключить от своей сети, и начните атаку. Пока атака выполняется, выбранные устройства не могут подключиться к своей сети.Также были реализованы другие виды атаки .

Как это работает

Протокол 802.11 Wi-Fi содержит так называемый фрейм деаутентификации. Он используется для безопасного отключения клиентов от беспроводной сети.Поскольку эти управляющие пакеты незашифрованы, вам просто нужен MAC-адрес маршрутизатора Wi-Fi и клиентского устройства, которое вы хотите отключить от сети. Вам не обязательно быть в сети или знать пароль, этого достаточно, чтобы быть в его диапазоне.

Теги: Как сделать простой калькулятор на Ардуино