Similar presentations:
Калькулятор на Arduino
1.
2.
Самостоятельная работа студентаТема: Калькулятор на Arduino
Выполнила: Ажибек Ғалымжан
Группа: ИСк-20-1
Электронный адрес: [email protected]
3.
Содержание1.
2.
3.
4.
5.
6.
7.
Введение
Схема в TinkerCad
Список компонентов
Скетч
Результат работы
Заключение
Список литературы
4.
Введение• Этот калькулятор сможет выполнять простые операции, такие как сложение,
вычитание, умножение и деление с целыми числами. Но как только вы
поймете концепцию, вы сможете реализовать даже научные функции с
помощью встроенных функций Arduino.
• В конце этого проекта вы узнаете, как использовать ЖК-дисплей 16x2 и
клавиатуру с Arduino, а также как легко программировать их с помощью
доступных библиотек. Вы также поймете, как запрограммировать Arduino для
выполнения определенной задачи.
5.
Схема в TinkerCadРисунок 1 – Схема в TinkerCad
6.
Список компонентовИмя
Количество
Компонент
K1
1
KeyPad 4x4
U1
1
Arduino Uno R3
R1
1
1 kΩ Резистор
B1
1
BreadBoard Small
U1
1
LCD, ЖК-экран 16 x 2 (I2C)
7.
#include <Keypad.h>#include <LiquidCrystal.h>
#include <string.h>
LiquidCrystal lcd (A0,A1,A2,A3,A4,A5);
const byte ROWS=4;
const byte COLS=4;
char keys[ROWS][COLS]={
{'1','2','3','+',},
{'4','5','6','-'},
{'7','8','9','*'},
{'C','0','=','/'}
};
byte rowPins[ROWS]={12,11,10,9};
byte colPins[COLS]={8,7,6,5};
Keypad KP=Keypad(
makeKeymap(keys),
rowPins, colPins,
ROWS, COLS
);
char key;
char znak=' ';
String ch1="";
Скетч
8.
СкетчString ch2="";
String primer="";
int i, n_znak, n;
float x,y,z;
void setup(){
lcd.begin(16,2);
lcd.clear();
lcd.setCursor(0,0);
}
void loop(){
n_znak=0;
lcd.setCursor(0,0);
ch1="";
ch2="";
key = KP.getKey();
while(key != '='){
if (key=='C'){
lcd.clear();
primer="";
break;
}
9.
Скетчif (key != NO_KEY){
lcd.print(key);
}
primer=primer+String(key);
key = KP.getKey();
}
n=primer.length();
for (i=0;i<n;i++){
if (primer[i]=='+' || primer[i]=='-' || primer[i]=='*' || primer[i]=='/'){
n_znak=i;
break;
}
}
znak=primer[n_znak];
for (i=0;i<n_znak;i++){
ch1=ch1+primer[i];
}
x=ch1.toFloat();
for (i=n_znak+1;i<n;i++){
ch2=ch2+primer[i];
}
y=ch2.toFloat();
lcd.setCursor(0,1);
10.
Скетчswitch(znak){
case '+':
z=x+y;
lcd.print(z);
break;
case '-':
z=x-y;
lcd.print(z);
break;
case '*':
z=x*y;
lcd.print(z);
break;
case '/':
z=x/y;
lcd.print(z);
break;
}
}
11.
Результат работыРисунок 2 – Начало моделирования
12.
ЗаключениеВыполните все подключения в соответствии со схемой выше и загрузите код из предыдущего шага.
Если он показывает ошибку, убедитесь, что вы добавили библиотеки согласно инструкции, приведенной
выше. Вы также можете попробовать симуляцию, чтобы проверить, связана ли проблема с вашим
оборудованием. Если все сделано так, как должно быть, то ваше оборудование будет выглядеть примерно
как на картинке в самом начале урока.
Несмотря на то, что мы использовали библиотеку для использования клавиатуры, мы должны
упомянуть несколько деталей о самой клавиатуре для Arduino. Переменные ROWS и COLS сообщают,
сколько строк и столбцов имеет наша клавиатура, а раскладка клавиатуры показывает порядок, в котором
присутствуют клавиши на клавиатуре. Клавиатура, которую мы используем в этом уроке, выглядит так,
как показано выше. Мы также в коде упоминаем к каким контактам подключена клавиатура с помощью
массива rowPins и colPins.
13.
Список литературы1 https://arduinoplus.ru/arduino-calculator/
2 system with Arduino // ENGINEERING ONLINE: tutorials related to circuit designing,
programming, simulation. 2018. URL: https://www.youtube.com/watch?v=37KF1krbyrM (дата
обращения: 25.11.22 г.)
3 Как работает калькулятор? И его взаимодействие с Arduino // RADIOPROG.RU: блог
радиоэлектроника. 2019. URL: https://radioprog.ru/post/737 (дата обращения: 25.11.22 г.)
4 Проект калькулятора в TinkerCad // WWW.TINKERCAD.COM: веб-приложение для 3Dпроектирования, работы с электронными компонентами и написания программного кода. URL:
https://www.tinkercad.com/things/7UOeEixfTjZ?sharecode=XjNfb5gVPYn8tOC7iPdhNIbVxe7lVvqt
KKgIq9qgDm4
14.
СПАСИБОза внимание!