Оглавление:
Видео: Калькулятор Arduino DIY с ЖК-дисплеем 1602 и клавиатурой 4x4: 4 шага
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:50
Привет, ребята, в этой инструкции мы сделаем калькулятор с использованием Arduino, который может выполнять основные вычисления. Итак, в основном мы будем вводить данные с клавиатуры 4x4 и распечатывать данные на ЖК-дисплее 16x2, а Arduino выполнит вычисления.
Шаг 1. Вещи, которые вам нужны
Для этого руководства нам понадобятся следующие вещи: Arduino Uno (подойдет любая версия)
ЖК-дисплей 16 × 2
Клавиатура 4 × 4 Батарея 9 В Макетная плата Соединительные провода
Шаг 2: Подключения
Полная принципиальная схема этого проекта калькулятора Arduino приведена выше. Подключение + 5 В и заземление, показанное на принципиальной схеме, может быть получено от контакта 5 В и заземления Arduino. Сама Arduino может питаться от вашего ноутбука или через разъем постоянного тока с использованием адаптера 12 В или батареи 9 В. Мы работаем с ЖК-дисплеем в 4-битном режиме с Arduino, поэтому только последние четыре бита данных ЖК-дисплея подключены к Arduino. Клавиатура будет иметь 8 выходных контактов, которые должны быть подключены от контакта 0 к контакту 7, как показано выше. Некоторые платы Arduino могут показывать ошибку при загрузке программы, если что-либо подключено к контактам 0 и 1, поэтому, если у вас возникнут какие-либо проблемы, просто удалите клавиатуру при загрузке программы.
Шаг 3: Код
Скопируйте следующий код и загрузите в него свой arduino: / * * Программа калькулятора клавиатуры Arduino * / # include "LiquidCrystal.h" // Заголовочный файл для ЖК-дисплея с https://www.arduino.cc/en/Reference/LiquidCrystal# include "Keypad.h" // Заголовочный файл для клавиатуры из https://github.com/Chris--A/Keypadconst byte ROWS = 4; // Четыре строки по одному байту COLS = 4; // Три столбца // Определение ключей Keymapchar [ROWS] [COLS] = {{'7', '8', '9', 'D'}, {'4', '5', '6', ' C '}, {' 1 ',' 2 ',' 3 ',' B '}, {' * ',' 0 ',' # ',' A '}}; byte rowPins [ROWS] = {0, 1, 2, 3}; // Подключаем клавиатуру ROW0, ROW1, ROW2 и ROW3 к этим контактам Arduino. Byte colPins [COLS] = {4, 5, 6, 7}; // Подключите клавиатуру COL0, COL1 и COL2 к этим контактам Arduino. Keypad kpd = Keypad (makeKeymap (keys), rowPins, colPins, ROWS, COLS); // Создаем Keypadconst int rs = 8, en = 9, d4 = 10, d5 = 11, d6 = 12, d7 = 13; // Контакты, к которым подключен ЖК-дисплей LiquidCrystal lcd (rs, en, d4, d5, d6, d7); длинные Num1, Num2, Number; клавиша char, действие; логический результат = false; void setup () {lcd.begin (16, 2); // Мы используем ЖК-дисплей 16 * 2 lcd.print ("DIY Calculator"); // Отображаем вводное сообщение lcd.setCursor (0, 1); // установить курсор в столбец 0, строка 1 delay (2000); // Дождитесь отображения информации lcd.clear (); // Затем очищаем его} void loop () {key = kpd.getKey (); // сохранение значения нажатой клавиши в charif (key! = NO_KEY) DetectButtons (); if (result == true) CalculateResult (); DisplayResult (); } void DetectButtons () {lcd.clear (); // Затем очищаем его if (key == '*') // Если нажата кнопка отмены {Serial.println ("Button Cancel"); Число = Num1 = Num2 = 0; result = false;} if (key == '1') // Если нажата кнопка 1 {Serial.println ("Button 1"); если (Число == 0) Число = 1; иначе Число = (Число * 10) + 1; // Нажат дважды} if (key == '4') // Если нажата кнопка 4 {Serial.println ("Button 4"); если (Число == 0) Число = 4; иначе Число = (Число * 10) + 4; // Нажата дважды} if (key == '7') // Если нажата кнопка 7 {Serial.println ("Button 7"); если (Число == 0) Число = 7; иначе Число = (Число * 10) + 7; // Нажат дважды} if (key == '0') {Serial.println ("Button 0"); // Кнопка 0 нажата if (Number == 0) Number = 0; иначе Число = (Число * 10) + 0; // Нажата дважды} if (key == '2') // Кнопка 2 нажата {Serial.println ("Button 2"); если (Число == 0) Число = 2; иначе Число = (Число * 10) + 2; // Нажат дважды} if (key == '5') {Serial.println ("Button 5"); если (Число == 0) Число = 5; иначе Число = (Число * 10) + 5; // Нажат дважды} if (key == '8') {Serial.println ("Button 8"); если (Число == 0) Число = 8; иначе Число = (Число * 10) + 8; // Нажат дважды} if (key == '#') {Serial.println ("Button Equal"); Num2 = Число; результат = истина; } if (key == '3') {Serial.println ("Кнопка 3"); если (Число == 0) Число = 3; иначе Число = (Число * 10) + 3; // Нажат дважды} if (key == '6') {Serial.println ("Button 6"); если (Число == 0) Число = 6; иначе Число = (Число * 10) + 6; // Нажат дважды} if (key == '9') {Serial.println ("Button 9"); если (Число == 0) Число = 9; иначе Число = (Число * 10) + 9; // Нажат дважды} if (key == 'A' || key == 'B' || key == 'C' || key == 'D') // Обнаружение кнопок в столбце 4 {Num1 = Number; Число = 0; if (key == 'A') {Serial.println ("Дополнение"); действие = '+';} if (key == 'B') {Serial.println («Вычитание»); действие = '-'; } if (key == 'C') {Serial.println ("Умножение"); действие = '*';} если (ключ == 'D') {Serial.println ("Devesion"); действие = '/';} задержка (100); }}
void CalculateResult () {если (действие == '+') Число = Num1 + Num2; если (действие == '-') Число = Num1-Num2; если (действие == '*') Число = Число1 * Число2; если (действие == '/') Число = Число1 / Число2; } void DisplayResult () {lcd.setCursor (0, 0); // установить курсор в столбец 0, строка 1 lcd.print (Num1); lcd.print (действие); lcd.print (Num2); если (результат == истина) {lcd.print ("="); lcd.print (Number);} // Отображаем результат lcd.setCursor (0, 1); // установить курсор в столбец 0, строка 1 lcd.print (Number); // Отображаем результат}
Шаг 4: Вывод калькулятора
Итак, мы завершили подключения и загрузили код в Arduino, и пришло время подключить питание и выполнить некоторые вычисления, и, как вы можете видеть, я выполняю вычисления с помощью клавиатуры, и вы можете увидеть результаты на ЖК-дисплее. Так что получайте удовольствие, создавая свой собственный калькулятор своими руками, используя Arduino.
Рекомендуемые:
Калькулятор Arduino с использованием клавиатуры 4X4: 4 шага (с изображениями)
Калькулятор Arduino с использованием клавиатуры 4X4: в этом уроке мы создадим наш собственный калькулятор с Arduino. Значения могут быть отправлены через клавиатуру (клавиатура 4 × 4), а результат можно просмотреть на ЖК-экране. Этот калькулятор может выполнять простые операции, такие как сложение, вычитание, умножение
Современный и новый и более простой пример шкафчика с матричной клавиатурой Arduino 4x4: 3 шага
Современный и новый и более простой пример шкафчика с матричной клавиатурой Arduino 4x4: еще один пример использования матричной ЖК-клавиатуры 4x4 со схемой I2C
Пример шкафчика с матричной клавиатурой Arduino 4x4: 6 шагов
Пример шкафчика с матричной клавиатурой Arduino 4x4: 2 способа управления клавиатурой с 16 кнопками и минимумом контактов
Настройка модуля DS1302 RTC с клавиатурой + Arduino + LCD: 3 шага
Настройка модуля DS1302 RTC с клавиатурой + Arduino + ЖК-дисплей: Здравствуйте, я только что сделал этот небольшой проект, надеюсь, он вам понравится, поскольку название говорит о том, как использовать клавиатуру для настройки DS1302, это один из основных проектов, которые вы можете добавьте его в свой проект, если вы хотите добавить другие модули или функции … Это v
Крестики-нолики с обработкой и клавиатурой: 3 шага
Крестики-нолики с обработкой и клавиатурой: в этом проекте мы создадим игру «Крестики-нолики», используя Arduino Uno и клавиатуру. Игра позволит вам играть в крестики-нолики, а затем светодиод, соответствующий победитель загорится. Необходимые материалы: 1 - Arduino Uno1 - Keypad13 - Провода2 - 22