Оглавление:
- Запасы
- Шаг 1. Соберите припасы на TinkerCad
- Шаг 2: расставьте припасы
- Шаг 3: Подключение проводов
- Шаг 4: Написание кода
- Шаг 5: взлом кода
- Шаг 6: Как работает аппаратное обеспечение этого калькулятора?
- Шаг 7: предварительный просмотр калькулятора
- Шаг 8: Мое вдохновение в этом коде
Видео: ЖК-калькулятор от Джая Мишры: 8 шагов
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:50
Проекты Tinkercad »
Это очень полезный проект, который научит вас создавать свой собственный калькулятор. Вы можете создать этот калькулятор онлайн или в реальной жизни с помощью дополнительных принадлежностей, но пока мы сосредоточимся только на создании онлайн-калькулятора.
Запасы
- Arduino Uno R3
- Резистор 220 Ом
- 4 * 4 клавиатура
- 16 * 2 ЖК-дисплей
- Связка проводов для подключения схемы
Шаг 1. Соберите припасы на 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! Я ничего не копировал и не вставлял, но использовал его представление о калькуляторе и понимание кода.
Рекомендуемые:
Дизайн игры в Flick за 5 шагов: 5 шагов
Дизайн игры в Flick за 5 шагов: Flick - это действительно простой способ создания игры, особенно чего-то вроде головоломки, визуального романа или приключенческой игры
Счетчик шагов - Micro: Bit: 12 шагов (с изображениями)
Счетчик шагов - Микро: Бит: Этот проект будет счетчиком шагов. Мы будем использовать датчик акселерометра, встроенный в Micro: Bit, для измерения наших шагов. Каждый раз, когда Micro: Bit трясется, мы добавляем 2 к счетчику и отображаем его на экране
Играйте в Doom на своем IPod за 5 простых шагов !: 5 шагов
Играйте в Doom на своем IPod за 5 простых шагов!: Пошаговое руководство по двойной загрузке Rockbox на iPod, чтобы играть в Doom и десятки других игр. Это действительно легко сделать, но многие люди до сих пор удивляются, когда видят, как я играю дум на своем iPod, и путаются с инструкциями
Кормушка для рыбы Arduino Uno за 6 простых и простых шагов !: 6 шагов
Arduino Uno Fish Feeder за 6 простых и дешевых шагов !: Итак, для этого проекта может потребоваться немного предыстории. Людям с домашними рыбками, вероятно, приходилось сталкиваться с той же проблемой, что и мне: отпуск и забывчивость. Я постоянно забывала покормить рыбу и всегда старалась это сделать, пока она не упала
Акустическая левитация с Arduino Uno, шаг за шагом (8 шагов): 8 шагов
Акустическая левитация с Arduino Uno Пошаговая инструкция (8 шагов): ультразвуковые преобразователи звука L298N Женский адаптер питания постоянного тока с штыревым контактом постоянного тока Arduino UNOBreadboard Как это работает: сначала вы загружаете код в Arduino Uno (это микроконтроллер, оснащенный цифровым и аналоговые порты для преобразования кода (C ++)