Оглавление:

ЖК-калькулятор от Джая Мишры: 8 шагов
ЖК-калькулятор от Джая Мишры: 8 шагов

Видео: ЖК-калькулятор от Джая Мишры: 8 шагов

Видео: ЖК-калькулятор от Джая Мишры: 8 шагов
Видео: Восстановление ЖК экрана!! БЕЗ РАЗБОРКИ, БЕЗ ИНСТРУМЕНТА! Как вернуть к жизни неработающие сегменты. 2024, Ноябрь
Anonim
ЖК-калькулятор от Джая Мишры
ЖК-калькулятор от Джая Мишры

Проекты Tinkercad »

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

Запасы

  • Arduino Uno R3
  • Резистор 220 Ом
  • 4 * 4 клавиатура
  • 16 * 2 ЖК-дисплей
  • Связка проводов для подключения схемы

Шаг 1. Соберите припасы на TinkerCad

Собирайте припасы на TinkerCad
Собирайте припасы на TinkerCad

Убедитесь, что все ваши расходные материалы доступны, прежде чем мы начнем с шага 2, чтобы уменьшить стресс и ошибки. Убедитесь, что вы также используете правильные расходные материалы, некоторые из компонентов на этом изображении выше похожи на другие компоненты, поэтому не смешивайте их. Используйте изображение выше в качестве руководства.

Шаг 2: расставьте припасы

Расставьте свои припасы
Расставьте свои припасы

Расстановка расходных материалов - лучший способ предварительно увидеть, как может выглядеть ваш калькулятор. Вы можете создать любой тип калькулятора, какой захотите, но убедитесь, что калькулятор выглядит естественно, а пользователи могут понять дизайн и не запутаться. Я использовал типичный классный дизайн калькулятора, который эффективен и понятен каждому. Вы можете выбрать мой дизайн или создать свой, но что бы это ни было, проявите творческий подход и удачи!

Шаг 3: Подключение проводов

Подключение проводов
Подключение проводов

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

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

Шаг 4: Написание кода

Написание кода
Написание кода
Написание кода
Написание кода
Написание кода
Написание кода

#включают

#include #include

ЖК-дисплей LiquidCrystal (13, 12, 11, 10, 9, 8);

длинный первый = 0; длинная секунда = 0; двойной итог = 0;

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

символьные ключи [ROWS] [COLS] = {{'1', '4', '7', '/'}, {'2', '5', '8', '+'}, {'3', '6', '9', '-'}, {'C', '0', '=', '*'}}; byte rowPins [ROWS] = {7, 6, 5, 4}; // подключаемся к выводам строки байта клавиатуры colPins [COLS] = {3, 2, 1, 0}; // подключаемся к распиновке колонки клавиатуры

// инициализировать экземпляр класса NewKeypad Keypad customKeypad = Keypad (makeKeymap (keys), rowPins, colPins, ROWS, COLS);

void setup () {lcd.begin (16, 2); // запускаем ЖК-дисплей for (int i = 0; i <= 3; i ++); lcd.setCursor (0, 0); lcd.print («Калькулятор»); lcd.setCursor (0, 1); lcd.print («Автор Джай Мишра»); задержка (4000); lcd.clear (); lcd.print («Финальный проект»); задержка (2500); lcd.clear (); lcd.setCursor (0, 0); }

void loop () {

customKey = customKeypad.getKey (); switch (customKey) {case '0'… '9': // Это продолжает собирать первое значение, пока не будет нажат оператор "+ - * /" lcd.setCursor (0, 0); первый = первый * 10 + (customKey - '0'); lcd.print (первый); перерыв;

case '+': first = (всего! = 0? total: first); lcd.setCursor (0, 1); lcd.print ("+"); второй = SecondNumber (); // получаем собранное второе число total = первое + второе; lcd.setCursor (0, 3); lcd.print (всего); первый = 0, второй = 0; // сбросить значения обратно на ноль для следующего использования break;

case '-': first = (total! = 0? total: first); lcd.setCursor (0, 1); lcd.print ("-"); второй = SecondNumber (); total = first - второй; lcd.setCursor (0, 3); lcd.print (всего); первый = 0, второй = 0; перерыв;

case '*': first = (total! = 0? total: first); lcd.setCursor (0, 1); lcd.print ("*"); второй = SecondNumber (); итого = первое * второе; lcd.setCursor (0, 3); lcd.print (всего); первый = 0, второй = 0; перерыв;

case '/': first = (всего! = 0? total: first); lcd.setCursor (0, 1); lcd.print ("/"); второй = SecondNumber (); lcd.setCursor (0, 3);

второй == 0? lcd.print ("Invalid"): total = (float) first / (float) second;

lcd.print (всего); первый = 0, второй = 0; перерыв;

case 'C': total = 0; lcd.clear (); перерыв; }}

long SecondNumber () {в то время как (1) {customKey = customKeypad.getKey (); if (customKey> = '0' && customKey <= '9') {второй = второй * 10 + (customKey - '0'); lcd.setCursor (0, 2); lcd.print (второй); }

если (customKey == '=') перерыв; // возврат второй; } вернуть вторую; }

Шаг 5: взлом кода

Нарушение кода
Нарушение кода

Мы инициализировали значения, чтобы компьютер понимал

#включают

#include #include

ЖК-дисплей LiquidCrystal (13, 12, 11, 10, 9, 8);

длинный первый = 0; длинная секунда = 0; двойной итог = 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};

Мы создали заставку или экран включения для компьютера (вы можете написать на нем свое имя)

void setup () {lcd.begin (16, 2); для (int я = 0; я <= 3; я ++); lcd.setCursor (0, 0); lcd.print («Калькулятор»); lcd.setCursor (0, 1); lcd.print («Автор Джай Мишра»); задержка (4000); lcd.clear (); lcd.print («Финальный проект»); задержка (2500); lcd.clear (); lcd.setCursor (0, 0); }

Мы создаем значение и формулу для каждой операции в калькуляторе, чтобы компьютер понимал, какую формулу использовать, когда пользователь нажимает «+» на калькуляторе и т. Д

{case '0'… '9': lcd.setCursor (0, 0); первый = первый * 10 + (customKey - '0'); lcd.print (первый); перерыв;

case '/': first = (всего! = 0? total: first); lcd.setCursor (0, 1); lcd.print ("/"); второй = SecondNumber (); lcd.setCursor (0, 3);

второй == 0? lcd.print ("Invalid"): total = (float) first / (float) second;

lcd.print (всего); первый = 0, второй = 0; перерыв; case '+': first = (всего! = 0? total: first); lcd.setCursor (0, 1); lcd.print ("+"); второй = SecondNumber (); lcd.setCursor (0, 3); lcd.print (всего); первый = 0, второй = 0; перерыв;

case '-': first = (total! = 0? total: first); lcd.setCursor (0, 1); lcd.print ("-"); второй = SecondNumber (); total = first - второй; lcd.setCursor (0, 3); lcd.print (всего); первый = 0, второй = 0; перерыв;

case '*': first = (total! = 0? total: first); lcd.setCursor (0, 1); lcd.print ("*"); второй = SecondNumber (); итого = первое * второе; lcd.setCursor (0, 3); lcd.print (всего); первый = 0, второй = 0; перерыв;

case 'C': total = 0; lcd.clear (); перерыв; }}

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

Шаг 6: Как работает аппаратное обеспечение этого калькулятора?

Как работает аппаратное обеспечение этого калькулятора?
Как работает аппаратное обеспечение этого калькулятора?

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

Шаг 7: предварительный просмотр калькулятора

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

Шаг 8: Мое вдохновение в этом коде

Меня вдохновило видео выше о том, как сделать калькулятор на tinkercad! Я ничего не копировал и не вставлял, но использовал его представление о калькуляторе и понимание кода.

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