
Оглавление:
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-23 15:04

Привет, так недавно я изучал, как реализовать различные типы кода в схеме. Я обнаружил, что создание калькулятора - отличный способ реализовать «case» и другие формы кода, которые я нашел интересными. Раньше я делал калькуляторы прямо из кода, но создание схемы для него меня заинтересовало. Особенно в это время карантина, когда я почти весь день нахожусь на своем компьютере. Проект заключается в реализации математических операций на ЖК-экране.
Шаг 1: материалы
Для цепи:
- ЖК-дисплей 16 x 2
- Arduino Uno R3
- Клавиатура 4x4
- Малая макетная плата
- Потенциометр (250 кОм)
- Резистор (1кОм)
- x26 перемычки
Шаг 2: Подключение клавиатуры 4x4

Подключите 4 контакта ряда на клавиатуре 4x4 к контактам 4-7 Arduino и соедините контакты 4 столбцов с контактами 0-3 Arduino.
Шаг 3. Подайте питание на макетную плату и подключите ЖК-дисплей

Я использовал напряжение питания 5 для макета. Я подключил питание и землю к макетной плате. ЖК-дисплей помещается на макетную плату и размещается так, чтобы все его контакты были подключены к макетной плате.
Шаг 4: Подключите питание и заземление к ЖК-дисплею

К ЖК-дисплею необходимо подключить 3 контакта заземления. Один будет подключен к земле самого ЖК-дисплея, другой будет подключен к светодиоду ЖК-дисплея, а последний будет подключен к RW. Для подключения VCC ЖК-дисплея и светодиода потребуется питание. Однако для питания светодиода потребуется подключенный резистор, в этом случае я использовал резистор 1 кОм.
Шаг 5: Подключение потенциометра

Подключите потенциометр к макетной плате с 3 свободными столбцами. Он будет иметь 3 контакта, столбец, содержащий контакт 1, потребует заземления. Столбец, который содержит контакт 2 клеммы, потребует подачи питания. Тогда дворник будет иметь перемычку в столбце, которая подключается к VO ЖК-дисплея.
Шаг 6: Подключение Arduino к ЖК-дисплею

Контакты 8-13 на Arduino будут подключены к ЖК-дисплею. Контакты 8-11 на Arduino будут подключаться к D8 (7-4) соответственно. Затем контакт 12 Arduino будет подключаться к включению ЖК-дисплея, а контакт 13 на Arduino подключится к регистру ЖК-дисплея.
Шаг 7. Внедрите код
Код потребуется для использования математических операций с клавиатурой и ЖК-дисплеем. Ниже будет код, который я использовал, однако я все еще могу внести несколько изменений, чтобы сделать его чище и лучше. Так что не стесняйтесь немного поиграть с этим.
#include #include
ЖК-дисплей LiquidCrystal (13, 12, 11, 10, 9, 8);
длинный первый = 0;
длинная секунда = 0;
двойной итог = 0;
int posit = 0;
char customKey;
const byte ROWS = 4;
константный байт COLS = 4;
символьные ключи [ROWS] [COLS] = {
{'1', '2', '3', '/'}, {'4', '5', '6', '*'}, {'7', '8', '9', '-'}, {'C', '0', '=', '+'}};
byte rowPins [ROWS] = {7, 6, 5, 4};
byte colPins [COLS] = {3, 2, 1, 0};
CustomKeypad клавиатуры = клавиатура (makeKeymap (ключи), rowPins, colPins, ROWS, COLS);
void setup () {
lcd.begin (16, 2);
lcd.setCursor (5, 0);
lcd.clear (); }
void loop () {
customKey = customKeypad.getKey ();
switch (customKey) {
case '0'… '9':
lcd.setCursor (0, 0);
первый = первый * 10 + (customKey - '0');
lcd.print (первый);
posit ++;
перерыв;
case '+':
first = (total! = 0? total: first);
lcd.setCursor (posit, 0);
lcd.print ("+");
posit ++;
второй = SecondNumber ();
итого = первый + второй;
lcd.setCursor (1, 1);
lcd.print (всего);
first = 0, второй = 0;
posit = 0;
перерыв;
кейс '-':
first = (total! = 0? total: first);
lcd.setCursor (posit, 0);
lcd.print ("-");
posit ++;
второй = SecondNumber ();
total = first - второй;
lcd.setCursor (1, 1);
lcd.print (всего);
first = 0, второй = 0;
posit = 0;
перерыв;
кейс '*':
first = (total! = 0? total: first);
lcd.setCursor (posit, 0);
lcd.print ("*");
posit ++;
второй = SecondNumber ();
итого = первое * второе;
lcd.setCursor (1, 1);
lcd.print (всего);
first = 0, второй = 0;
posit = 0;
перерыв;
кейс '/':
first = (total! = 0? total: first);
lcd.setCursor (posit, 0);
lcd.print ("/");
posit ++;
второй = SecondNumber (); lcd.setCursor (1, 1);
второй == 0? lcd.print ("Ошибка"): total = (float) first / (float) second;
lcd.print (всего);
first = 0, второй = 0;
posit = 0;
перерыв;
case 'C':
всего = 0;
первый = 0;
второй = 0;
posit = 0;
lcd.clear ();
перерыв; }
}
long SecondNumber () {
в то время как (1) {
customKey = customKeypad.getKey ();
if (customKey> = '0' && customKey <= '9') {
второй = второй * 10 + (customKey - '0');
lcd.setCursor (posit, 0);
lcd.print (второй); }
if (customKey == 'C') {
всего = 0;
первый = 0;
второй = 0;
posit = 0;
lcd.clear ();
перерыв; }
if (customKey == '=') {
lcd.setCursor (0, 1);
lcd.print ("=");
posit = всего;
lcd.clear ();
lcd.setCursor (0, 1);
lcd.print ("=");
перерыв; }
}
return second;}
Шаг 8: Результат


Надеюсь, вам всем понравилось это руководство. Спасибо за чтение!
Саим.
Рекомендуемые:
Калькулятор сбережений на банковском счете: 18 шагов

Калькулятор сбережений на банковском счете: Спасибо, что выбрали мой калькулятор сбережений. Сегодня мы узнаем, как запрограммировать класс BankAccount для отслеживания ваших личных расходов и сбережений. Чтобы открыть банковский счет для отслеживания ваших расходов, вам сначала понадобится базовый ун
Калькулятор добавления редстоуна в Minectaft: 6 шагов

Калькулятор добавления редстоуна в Minectaft: Привет! Я TheQubit, и это руководство по моему калькулятору сложения красного камня в Minecraft. Круто, правда? В нем используются некоторые изящные инженерные решения и логика из красного камня. Если вам нравится этот проект, пожалуйста, проголосуйте за меня в конкурсе Game Life. Я был бы очень признателен за это
КАК СДЕЛАТЬ ЧЕТЫРЕ ФУНКЦИОНАЛЬНЫЙ КАЛЬКУЛЯТОР В CPP: 6 шагов

КАК СДЕЛАТЬ ЧЕТЫРЕ ФУНКЦИОНАЛЬНЫЙ КАЛЬКУЛЯТОР В CPP: Калькуляторы используются в повседневной жизни. Простой калькулятор можно сделать с помощью программы на C ++, которая может складывать, вычитать, умножать и делить два операнда, введенные пользователем. Операторы if и goto используются для создания калькулятора
4-битный двоичный калькулятор: 11 шагов (с изображениями)

4-битный двоичный калькулятор: меня заинтересовал фундаментальный принцип работы компьютеров. Я хотел понять использование дискретных компонентов и схем, необходимых для выполнения более сложных задач. Одним из важных фундаментальных компонентов ЦП является
Часы-калькулятор: 5 шагов

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