Оглавление:

Калькулятор Arduino с использованием клавиатуры 4X4: 4 шага (с изображениями)
Калькулятор Arduino с использованием клавиатуры 4X4: 4 шага (с изображениями)

Видео: Калькулятор Arduino с использованием клавиатуры 4X4: 4 шага (с изображениями)

Видео: Калькулятор Arduino с использованием клавиатуры 4X4: 4 шага (с изображениями)
Видео: #1 Клавиатура 4х4 2024, Ноябрь
Anonim
Image
Image

В этом уроке мы создадим наш собственный калькулятор с Arduino. Значения могут быть отправлены через клавиатуру (клавиатура 4 × 4), а результат можно просмотреть на ЖК-экране. Этот калькулятор может выполнять простые операции, такие как сложение, вычитание, умножение и деление с целыми числами. Но как только вы поймете концепцию, вы сможете реализовать даже научные функции с помощью встроенных функций Arduino.

Запасы

Ардуино Уно

ЖК-дисплей 16 × 2

Клавиатура 4 × 4

Макетная плата

Соединительные кабели

Кабель Arduino

Шаг 1: схемы

Шаг 2: Установка библиотеки:

Как уже говорилось ранее, мы собираемся связать ЖК-дисплей и клавиатуру с Arduino с помощью библиотек. Итак, давайте сначала добавим их в нашу Arduino IDE. Библиотека для ЖК-дисплея уже включена в ваш Arduino по умолчанию, поэтому нам не о чем беспокоиться. Для библиотеки клавиатуры (щелкните ссылку, чтобы загрузить ее с Github). Вы получите ZIP-файл, затем добавьте эту библиотеку в Arduino с помощью Sketch -> Включить библиотеку -> Добавить файл. ZIP и укажите местоположение этого загруженного файла. После этого мы готовы к программированию.

Шаг 3: Исходный код:

/*

© Techtronic Harsh

*/

#включают

#включают

ЖК-дисплей LiquidCrystal (0, 1, 2, 3, 4, 5);

const byte ROWS = 4; константный байт COLS = 4;

символьные ключи [ROWS] [COLS] = {

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

Клавиатура myKeypad = Клавиатура (makeKeymap (ключи), rowPins, colPins, ROWS, COLS);

логическое presentValue = false;

логическое значение next = false; логическое final = false; Строка num1, num2; int answer; char op;

установка void ()

{lcd.begin (16, 2); lcd.setCursor (0, 0); lcd.print («Техтроник Суровый»); lcd.setCursor (0, 1); lcd.print («Калькулятор»); задержка (3000); lcd.clear (); lcd.setCursor (0, 0); lcd.print («Как и»); lcd.setCursor (0, 1); lcd.print («Подпишитесь на нас»); задержка (3000); lcd.clear (); }

void loop () {

char key = myKeypad.getKey ();

if (key! = NO_KEY && (key == '1' || key == '2' || key == '3' || key == '4' || key == '5' || key = = '6' || клавиша == '7' || клавиша == '8' || клавиша == '9' || клавиша == '0'))

{если (presentValue! = true) {num1 = num1 + ключ; int numLength = num1.length (); lcd.setCursor (15 - numLength, 0); // настроить один пробел для оператора lcd.print (num1); } еще {число2 = число2 + ключ; int numLength = num2.length (); lcd.setCursor (15 - numLength, 1); lcd.print (num2); final = true; }}

иначе if (presentValue == false && key! = NO_KEY && (key == '/' || key == '*' || key == '-' || key == '+'))

{если (presentValue == false) {presentValue = true; op = ключ; lcd.setCursor (15, 0); lcd.print (op); }}

иначе if (final == true && key! = NO_KEY && key == '=') {

если (op == '+') {ответ = num1.toInt () + num2.toInt (); } иначе, если (op == '-') {answer = num1.toInt () - num2.toInt (); } иначе, если (op == '*') {answer = num1.toInt () * num2.toInt (); } иначе, если (op == '/') {answer = num1.toInt () / num2.toInt (); } lcd.clear (); lcd.setCursor (15, 0); lcd.autoscroll (); lcd.print (ответ); lcd.noAutoscroll (); } иначе, если (ключ! = NO_KEY && key == 'C') {lcd.clear (); presentValue = false; final = false; num1 = ""; num2 = ""; ответ = 0; op = ''; }}

/*

© Techtronic Harsh

*/

Шаг 4: Работа:

Выполните подключения согласно принципиальной схеме и загрузите код. Если отображается ошибка, убедитесь, что вы добавили библиотеку в соответствии с приведенной выше инструкцией.

Символ на клавиатуре и предположение:

  • «А» - Дополнение (+)
  • «B» - вычитание (-)
  • «C» - умножение (*)
  • «D» - Дивизия (/)
  • «*» - Прозрачный (С)
  • «#» - равно (=)

Рекомендуемые: