Калькулятор с использованием клавиатуры 4х4 и Arduino

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

Внешний вид калькулятора с использованием клавиатуры 4х4 и Arduino

Также вы можете прочитать статью про калькулятор на основе Arduino и сенсорного TFT ЖК дисплея.

Необходимые компоненты

Плата Arduino Uno (любая другая версия также подойдет)
ЖК дисплей 16х2
Клавиатура 4х4
Батарейка на 9 В
Макетная плата и соединительные провода

Работа схемы

Схема проектируемого нами калькулятора представлена на следующем рисунке.

Схема калькулятора с использованием клавиатуры 4х4 и платы ArduinoНапряжение +5V и землю для схемы можно непосредственно получить с контактов 5V и ground платы Arduino. Саму плату Arduino можно запитать от компьютера через USB кабель, от батарейки 9 В или адаптера на 12 В.

ЖК дисплей подключен к плате Arduino в 4-битном режиме, то есть используются 4 его контакта данных. Клавиатура имеет 8 выходных контактов, которые подключены к контактам 0-7 платы Arduino. Для более детального изучения данного вопроса вы можете прочитать статью про подключение клавиатуры 4х4 к плате Arduino.

Необходимые соединения в представленной схеме показаны в следующей таблице.

Контакт Arduino Куда подсоединен
D0 1-й контакт клавиатуры
D1 2-й контакт клавиатуры
D2 3-й контакт клавиатуры
D3 4-й контакт клавиатуры
D4 5-й контакт клавиатуры
D5 6-й контакт клавиатуры
D6 7-й контакт клавиатуры
D7 8-й контакт клавиатуры
D8 Register select pin of LCD (pin 4)
D9 Enable pin of LCD (pin 6)
D10 Data pin 4 (pin 11)
D11 Data pin 4 (pin 11)
D12 Data pin 4 (pin 11)
D13 Data pin 4 (pin 11)
+5V Vdd pin of LCD (pin 2)
Ground Vss,Vee and RW pin of LCD (pin 1,3 and 5)

Некоторые платы Arduino могут выдавать ошибку при загрузке в них программы в то время когда что-либо подсоединено к их контактам 0 и 1. Поэтому если вы столкнулись с такой ошибкой, просто отключите клавиатуру на время загрузки программы.

Когда все соединения в схеме сделаны, ваша конструкция должна выглядеть примерно следующим образом:

Внешний вид собранного на макетной плате калькулятора

Объяснение программы для Arduino

Полный код программы приведен в конце статьи, здесь же мы рассмотрим его наиболее важные фрагменты.

Вначале в программе для Arduino необходимо подключить библиотеки, которые мы будем использовать. Библиотека для работы с ЖК дисплеем по умолчанию присутствует в Arduino IDE. А библиотеку для работы к клавиатурой необходимо скачать с Github. По приведенной ссылке вы скачаете ZIP файл с библиотекой, добавьте ее в Arduino IDE с помощью инструкции Sketch -> Include Library -> Add .ZIP и укажите путь к файлу с библиотекой.

Перед началом работы с клавиатурой мы должны в программе с помощью переменных ROWS и COLS указать какое количество строк и столбцов имеет клавиатура, которую мы подключаем к плате Arduino. Также мы должны указать карту клавиатуры, то есть какие клавиши она имеет в своем составе и на каких местах.

После указания необходимых параметров клавиатуры нам необходимо создать объект клавиатуры, с которым мы дальше будем работать в программе.

Также в программе мы должны указать к каким контактам Arduino подключен ЖК дисплей. В соответствии с соединениями на нашей схеме мы должны использовать следующие команды:

Внутри функции setup мы просто будем высвечивать на ЖК дисплее имя нашего проекта и после этого сразу переходить к функции loop.

В функции loop мы должны проверять печатается ли что либо на клавиатуре, если печатается, то мы должны распознать что печатается и поместить введенные числа в соответствующие переменные. А после нажатия клавиши “=” мы должны рассчитать результат операции и высветить его на экране ЖК дисплея.

Моделирование работы нашего калькулятора на Arduino

Мы смоделировали работу проектируемого нами калькулятора в симуляторе Proteus. По умолчанию данный симулятор не умеет работать с Arduino, но однако данный компонент можно легко скачать и добавить в его библиотеки. После установки компонента Arduino в Proteus просто добавьте на схему в нем алфавитно-цифровой ЖК дисплей, клавиатуру и сделайте соединения как показано на схеме.

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

Схема калькулятора в симуляторе Proteus

Работа проекта

После того, как все необходимые соединения сделаны, вы можете загружать программу в плату Arduino. После загрузки программы вы можете непосредственно приступать к тестированию работы проекта.

Тестирование работы калькулятора

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

Клавиша клавиатуры Выполняемое действие
“A” Сложение (+)
“B” Вычитание (-)
“C” Умножение (*)
“D” Деление (/)
“*” Очистить экран (C)
“#” Равно (=)

При необходимости вы можете подписать эти клавиши на клавиатуре маркером.

Принцип работы на данном калькуляторе заключается в следующем. Напишите число и оно появится на второй строчке дисплея, нажмите клавишу с видом операции, затем введите второе число. После этого нажмите клавишу “#” чтобы получить результат вычислений.

Исходный код программы

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

Видео, демонстрирующее работу калькулятора

(Проголосуй первым!)
Загрузка...
11 просмотров

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *