Мазмұны:

Джай Мишраның СКД калькуляторы: 8 қадам
Джай Мишраның СКД калькуляторы: 8 қадам

Бейне: Джай Мишраның СКД калькуляторы: 8 қадам

Бейне: Джай Мишраның СКД калькуляторы: 8 қадам
Бейне: ИРИНА КАЙРАТОВНА feat. HIRO - ДЖАЙ [MV] 2024, Қараша
Anonim
СКД калькуляторы - Джай Мишра
СКД калькуляторы - Джай Мишра

Tinkercad жобалары »

Бұл сізге жеке калькулятор жасауды үйрететін өте пайдалы жоба. Сіз бұл калькуляторды желіде де, нақты өмірде де қосымша құралдардың көмегімен жасай аласыз, бірақ әзірге біз тек онлайн калькуляторды құруға тоқталамыз.

Жабдықтар

  • Arduino Uno R3
  • 220 Ом резистор
  • 4*4 пернетақта
  • 16*2 СКД
  • Тізбекті қосуға арналған сымдар шоғыры

1 -қадам: материалдарыңызды TinkerCad -те жинаңыз

Жабдықтарыңызды TinkerCad -те жинаңыз
Жабдықтарыңызды TinkerCad -те жинаңыз

Стресс пен қателіктерді азайту үшін 2 -қадамды бастамас бұрын, сіздің барлық жабдықтарыңыз қол жетімді екеніне көз жеткізіңіз. Дұрыс жабдықтарды қолданғаныңызға көз жеткізіңіз, жоғарыдағы суреттегі кейбір компоненттер басқа компоненттерге ұқсас, сондықтан олардың арасында араласпаңыз. Нұсқаулық ретінде жоғарыдағы суретті пайдаланыңыз.

2 -қадам: Жабдықтарыңызды реттеңіз

Жабдықтарыңызды реттеңіз
Жабдықтарыңызды реттеңіз

Жабдықтарды реттеу - сіздің калькуляторыңыз қандай болатынын алдын ала қараудың ең жақсы әдісі. Сіз қалаған калькулятор дизайнының кез келген түрін жасай аласыз, бірақ калькулятордың табиғи екеніне көз жеткізіңіз және пайдаланушылар дизайнды түсініп, шатастырмауы керек. Мен бәріне тиімді және түсінікті стандартты калькулятор дизайнын қолдандым. Сіз менің дизайнымды таңдай аласыз немесе өзіңіз жасай аласыз, бірақ бұл шығармашылық және сәттілік!

3 -қадам: сымдарды қосу

Сымдарды қосу
Сымдарды қосу

Егер сіз оның мәнін түсінбесеңіз, сымдарды қосу қиын жұмыс. Бұл сымда біз барлық төрт компонентті біріктіруге тырысамыз, сондықтан олар кодты жазу уақыты келгенде топ болып жұмыс жасай алады. Егер сымдар жоқ болса, онда ағын болмайды, бұл жобаның сәтсіз аяқталуына әкеледі. Ешқандай түсініспеушіліксіз сымдар дұрыс қосылғанына көз жеткізіңіз.

Сымдарды қосуды аяқтағаннан кейін, сымдардың ұқыпты және реттелген екеніне көз жеткізіңіз, осылайша сізге және басқаларға осы калькулятордың аппараттық құралында не болып жатқанын түсіну оңай болады. Бұрын айтқанымдай, сіз менің сымдарды ұйымдастыру техникасын қолдана аласыз немесе өзіңіз жасай аласыз, бірақ сіз не істеуге шешім қабылдасаңыз да, олар бос орынмен жиналғанына көз жеткізіңіз.

4 -қадам: кодты жазу

Кодексті жазу
Кодексті жазу
Кодексті жазу
Кодексті жазу
Кодексті жазу
Кодексті жазу

#қосу

#қосу #қосу

LiquidCrystal lcd (13, 12, 11, 10, 9, 8);

ұзақ бірінші = 0; ұзақ секунд = 0; қосарланған жиынтық = 0;

char customKey; const байт ROWS = 4; COLS const байт = 4;

char пернелері [ROWS] [COLS] = {{'1', '4', '7', '/'}, {'2', '5', '8', '+'}, {'3', '6', '9', '-'}, {'C', '0', '=', '*'}}; байт rowPins [ROWS] = {7, 6, 5, 4}; // colPins байт пернетақтасының жол түйіндеріне қосылу [COLS] = {3, 2, 1, 0}; // пернетақтаның бағаналық түйреуіштеріне қосылыңыз

// NewKeypad Keypad класының данасын инициализациялау customKeypad = Пернетақта (makeKeymap (пернелер), rowPins, colPins, ROWS, COLS);

void setup () {lcd.begin (16, 2); // lcd бастау (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 (бірінші); үзіліс;

жағдай '+': бірінші = (барлығы! = 0? барлығы: бірінші); lcd.setCursor (0, 1); lcd.print («+»); секунд = SecondNumber (); // жиналған екінші санды алу жалпы = бірінші + екінші; lcd.setCursor (0, 3); lcd.print (барлығы); бірінші = 0, екінші = 0; // келесі үзіліс үшін мәндерді нөлге қайтару;

жағдай '-': бірінші = (барлығы! = 0? жалпы: бірінші); lcd.setCursor (0, 1); lcd.print («-»); секунд = SecondNumber (); жалпы = бірінші - екінші; lcd.setCursor (0, 3); lcd.print (барлығы); бірінші = 0, екінші = 0; үзіліс;

жағдай '*': бірінші = (барлығы! = 0? Барлығы: бірінші); lcd.setCursor (0, 1); lcd.print («*»); секунд = SecondNumber (); жалпы = бірінші * екінші; lcd.setCursor (0, 3); lcd.print (барлығы); бірінші = 0, екінші = 0; үзіліс;

жағдай '/': бірінші = (барлығы! = 0? барлығы: бірінші); lcd.setCursor (0, 1); lcd.print («/»); секунд = SecondNumber (); lcd.setCursor (0, 3);

секунд == 0? lcd.print («Жарамсыз»): total = (float) бірінші / (float) секунд;

lcd.print (барлығы); бірінші = 0, екінші = 0; үзіліс;

жағдай 'С': барлығы = 0; lcd.clear (); үзіліс; }}

long SecondNumber () {while (1) {customKey = customKeypad.getKey (); if (customKey> = '0' && customKey <= '9') {second = second * 10 + (customKey - '0'); lcd.setCursor (0, 2); lcd.print (екінші); }

if (customKey == '=') үзіліс; // екінші қайтару; } екінші қайтару; }

5 -қадам: Кодексті бұзу

Кодексті бұзу
Кодексті бұзу

Біз компьютер түсінетін мәндерді инициализацияладық

#қосу

#қосу #қосу

LiquidCrystal lcd (13, 12, 11, 10, 9, 8);

ұзақ бірінші = 0; ұзақ секунд = 0; қосарланған жиынтық = 0;

char customKey; const байт ROWS = 4; COLS const байт = 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};

Біз компьютерге кіріспе немесе экрандағы қуатты жасадық (оған өз атыңызды жаза аласыз)

void setup () {lcd.begin (16, 2); үшін (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); }

Біз калькуляторда әр операцияның мағынасы мен формуласын жасаймыз, сондықтан компьютер калькуляторда «+» түймесін басқанда, компьютер қандай формуланы қолдану керектігін түсінеді

{жағдай '0'… '9': lcd.setCursor (0, 0); бірінші = бірінші * 10 + (customKey - '0'); lcd.print (бірінші); үзіліс;

жағдай '/': бірінші = (барлығы! = 0? барлығы: бірінші); lcd.setCursor (0, 1); lcd.print («/»); секунд = SecondNumber (); lcd.setCursor (0, 3);

секунд == 0? lcd.print («Жарамсыз»): total = (float) бірінші / (float) секунд;

lcd.print (барлығы); бірінші = 0, екінші = 0; үзіліс; жағдай '+': бірінші = (барлығы! = 0? барлығы: бірінші); lcd.setCursor (0, 1); lcd.print («+»); секунд = SecondNumber (); lcd.setCursor (0, 3); lcd.print (барлығы); бірінші = 0, екінші = 0; үзіліс;

жағдай '-': бірінші = (барлығы! = 0? жалпы: бірінші); lcd.setCursor (0, 1); lcd.print («-»); секунд = SecondNumber (); жалпы = бірінші - екінші; lcd.setCursor (0, 3); lcd.print (барлығы); бірінші = 0, екінші = 0; үзіліс;

жағдай '*': бірінші = (барлығы! = 0? Барлығы: бірінші); lcd.setCursor (0, 1); lcd.print («*»); секунд = SecondNumber (); жалпы = бірінші * екінші; lcd.setCursor (0, 3); lcd.print (барлығы); бірінші = 0, екінші = 0; үзіліс;

жағдай 'С': барлығы = 0; lcd.clear (); үзіліс; }}

Код өте оңай, оны түсінуге тырысу керек, содан кейін бәрін оңай жасауға болады. Егер кодпен проблемалар туындаса, маған электронды пошта арқылы хабарлаңыз

6 -қадам: Бұл калькулятордың аппараттық құралы қалай жұмыс істейді?

Бұл калькулятордың аппараттық құралы қалай жұмыс істейді?
Бұл калькулятордың аппараттық құралы қалай жұмыс істейді?

Бұл калькуляторда СКД, пернетақта, Arduino тақтасы және 220 Ом резисторы қолданылады. Бұл компоненттердің барлығы бөлек, бірақ сымдармен Arduino пернетақтасы мен СКД -ге қосылған. СКД әр түрлі бөлімдері ақырында екеуін де пернетақтамен байланыстыратын Arduino тақтасына қосылған. Қосылғаннан кейін кодтау барлық жұмысты орындайды және пернетақтадағы әр операция мен түймені орындауға тапсырма береді.

7 -қадам: Калькуляторды толық қарау

Біздің соңғы жобамыз осылай көрінеді! Егер сіздің кодыңыз жұмыс істемесе немесе техникалық қиындықтар болса, маған электронды поштаны жіберіңіз, мен сізге ең жақсы калькуляторды құруға көмектесуге тырысамын!

8 -қадам: Бұл кодтың менің шабыты

Тинкеркадта калькулятор жасау туралы жоғарыдағы бейнеден шабыт алдым! Мен ештеңені көшірмедім және қоймадым, бірақ мен оның калькулятор туралы түсінігін және кодты түсінуді қолдандым.

Ұсынылған: