Съдържание:
- Стъпка 1: Материали
- Стъпка 2: Свързване на 4x4 клавиатурата
- Стъпка 3: Осигурете захранване на макета и свържете LCD
- Стъпка 4: Свържете захранването и земята към LCD
- Стъпка 5: Свързване на потенциометъра
- Стъпка 6: Свързване на Arduino към LCD
- Стъпка 7: Приложете кода
- Стъпка 8: Резултат
Видео: Калкулатор TinkerCad Конкурс: 8 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:50
Хей, така че наскоро изследвах как да внедря различни типове код в схема. Открих, че създаването на калкулатор би било чудесен начин за внедряване на „case“и други форми на код, които ми бяха интересни. В миналото направих калкулатори направо от код, но създаването на схема за него ми даде интерес. Особено през това време на карантина, където съм почти цял ден на компютъра си. Проектът е за реализиране на математически операции на LCD екран.
Стъпка 1: Материали
За верига:
- LCD 16 x 2
- Arduino Uno R3
- Клавиатура 4x4
- Малка дъска
- Потенциометър (250 kΩ)
- Резистор (1 kΩ)
- x26 Кабелни проводници
Стъпка 2: Свързване на 4x4 клавиатурата
Свържете четирите реда на клавиатурата 4x4 към щифтовете Arduino 4-7 и свържете щифтовете за 4 колони към щифтовете Arduino 0-3.
Стъпка 3: Осигурете захранване на макета и свържете LCD
Използвах захранващо напрежение 5 за макета. Свързах захранването и земята към макета. LCD дисплеят се поставя върху макетната платка и се поставя така, че всичките му щифтове да се свържат с макета.
Стъпка 4: Свържете захранването и земята към LCD
Необходими са 3 щифта за заземяване, които да бъдат свързани към LCD дисплея. Единият ще бъде свързан към земята със самия LCD, друг ще бъде свързан към светодиода на LCD дисплея, а последният ще бъде свързан към RW. VCC на LCD и светодиода ще изискват захранване за свързване. Захранването на светодиода обаче ще изисква свързан резистор, в този случай използвах 1kΩ резистор.
Стъпка 5: Свързване на потенциометъра
Свържете потенциометъра към макета с 3 свободни колони. Той ще има 3 пина, колоната, която съдържа терминал 1 щифт, ще се нуждае от заземяване. Колоната, която съдържа 2 извода на терминала, ще се нуждае от захранване. Тогава чистачката ще има джъмпер проводник в колоната си, който се свързва с VO на LCD.
Стъпка 6: Свързване на Arduino към LCD
Пинове 8-13 на Arduino ще бъдат свързани към LCD. Пинове 8-11 на Arduino ще се свържат съответно с D8 (7-4). Тогава щифт 12 на Arduino ще се свърже с Enable на LCD, а щифт 13 на Arduino ще се свърже с регистъра на LCD.
Стъпка 7: Приложете кода
Кодът ще е необходим за използване на математически операции с клавиатурата и LCD дисплея. По -долу ще бъде кодът, който използвах, но все пак могат да бъдат приложени множество промени, за да го направя по -чист и по -добър. Така че не се колебайте да си поиграете малко с него.
#включи #включи
LiquidCrystal lcd (13, 12, 11, 10, 9, 8);
дълго първо = 0;
дълга секунда = 0;
двойно общо = 0;
int posit = 0;
char customKey;
const байт ROWS = 4;
const байт COLS = 4;
char ключове [ROWS] [COLS] = {
{'1', '2', '3', '/'}, {'4', '5', '6', '*'}, {'7', '8', '9', '-'}, {'C', '0', '=', '+'}};
байт rowPins [ROWS] = {7, 6, 5, 4};
байт 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) {
регистър '0' … '9':
lcd.setCursor (0, 0);
first = first * 10 + (customKey - '0');
lcd.print (първи);
posit ++;
прекъсване;
случай '+':
първо = (общо! = 0? общо: първо);
lcd.setCursor (позиция, 0);
lcd.print ("+");
posit ++;
second = SecondNumber ();
общо = първо + второ;
lcd.setCursor (1, 1);
lcd.print (общо);
първо = 0, втори = 0;
позиция = 0;
прекъсване;
случай '-':
първо = (общо! = 0? общо: първо);
lcd.setCursor (позиция, 0);
lcd.print ("-");
posit ++;
second = SecondNumber ();
общо = първо - второ;
lcd.setCursor (1, 1);
lcd.print (общо);
първо = 0, втори = 0;
позиция = 0;
прекъсване;
регистър '*':
първо = (общо! = 0? общо: първо);
lcd.setCursor (позиция, 0);
lcd.print ("*");
posit ++;
second = SecondNumber ();
общо = първа * втора;
lcd.setCursor (1, 1);
lcd.print (общо);
първо = 0, втори = 0;
позиция = 0;
прекъсване;
случай '/':
първо = (общо! = 0? общо: първо);
lcd.setCursor (позиция, 0);
lcd.print ("/");
posit ++;
second = SecondNumber (); lcd.setCursor (1, 1);
второ == 0? lcd.print ("Грешка"): общо = (първоначално) първо / (плаващо) второ;
lcd.print (общо);
първо = 0, втори = 0;
позиция = 0;
прекъсване;
случай "C":
общо = 0;
първо = 0;
втори = 0;
позиция = 0;
lcd.clear ();
прекъсване; }
}
long SecondNumber () {
докато (1) {
customKey = customKeypad.getKey ();
if (customKey> = '0' && customKey <= '9') {
второ = второ * 10 + (customKey - '0');
lcd.setCursor (позиция, 0);
lcd.print (втори); }
if (customKey == 'C') {
общо = 0;
първо = 0;
втори = 0;
позиция = 0;
lcd.clear ();
прекъсване; }
if (customKey == '=') {
lcd.setCursor (0, 1);
lcd.print ("=");
позиция = общо;
lcd.clear ();
lcd.setCursor (0, 1);
lcd.print ("=");
прекъсване; }
}
връщане втора;}
Стъпка 8: Резултат
Надявам се, че всички сте харесали тази инструкция. Благодаря ви за четенето!
Саим.
Препоръчано:
Калкулатор за спестявания на банкова сметка: 18 стъпки
Калкулатор за спестявания на банкова сметка: Благодаря, че избрахте моя калкулатор за спестявания. Днес ще се научим как да програмираме клас BankAccount, за да следите вашите лични разходи и спестявания. За да направите банкова сметка, за да проследявате разходите си, първо ще имате нужда от основно
Чекмеджета за прибиране на реколтата - НАСА Growing Beyond Earth Конкурс: 5 стъпки (със снимки)
Чекмеджета за жътва - НАСА Growing Beyond Earth Конкурс: Резюме: На борда на международната космическа станция астронавтите нямат много място за отглеждане на храна. Тази хидропонна градина е проектирана да работи ефективно, като използва минималното количество пространство, за да прибере 30 растения по ротационен график в нулева гравия
Марка: Вход за конкурс за значки в Ню Йорк от стар принтер GameBoy: 14 стъпки (със снимки)
Make: NYC Badge Contest Entry От стар GameBoy принтер: Здравейте всички, ето и втория ми изстрел на Instructable .. бъдете любезни..Така че на местната среща Make: NYC имаше конкурс за значки за втората си среща .. (линк тук) , същността на състезанието е да се направи носим етикет/значка от някакъв вид, от някои материали
Mash Up и LED конкурс: Фенер за дозатор Pez: 5 стъпки
Mash Up и LED конкурс: Фенерче за дозатор Pez: Това е фенерче за дозатор pez. Не е много ярък, но е достатъчно ярък, за да намери ключове, дръжки на вратите и т.н
Вход за конкурс за скорост с джобни размери: Универсален калъф за носене на памет! Спрете да забравяте: 3 стъпки
Вход за конкурс за скорост с джобни размери: Универсален калъф за носене на памет! Спрете да забравяте: Това е "Универсален калъф за носене" за sd, mmc, флаш памети, xd, CF, памет stik/pro … чудесно за всички нужди на вашата памет! И ГО ВМЕСТВА В ДЖОБА ВИ !!! Това е участие в „Състезание за скорост с джобни размери“(Състезанието се затваря на моя рожден ден, така че моля