Мазмұны:
- 1 -қадам: Қажетті заттар
- 2 -қадам: схема
- 3 -қадам: Arduino калькулятор бағдарламасы
- 4 -қадам:
- 5 -қадам: Arduino калькуляторының жұмысы
- 6 -қадам: код
Бейне: Arduino калькуляторы: 6 қадам
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:25
Бағдарламалау әрқашан көңілді, ал егер сіз ендірілген бағдарламалауды жаңадан бастасаңыз, Arduino - тамаша платформа. Бұл оқулықта біз Arduino көмегімен жеке калькулятор құрамыз. Мәндерді пернетақта арқылы жіберуге болады (4 × 4 пернетақта) және нәтижені СКД экранында көруге болады (16 × 2 нүктелік матрица). Бұл калькулятор бүтін сандармен қосу, азайту, көбейту және бөлу сияқты қарапайым әрекеттерді орындай алады. Бірақ сіз тұжырымдаманы түсінгеннен кейін сіз Arduino -ның кіріктірілген функциялары арқылы тіпті ғылыми функцияларды жүзеге асыра аласыз, бұл жобаның соңында сіз Arduino -мен 16x2 СКД мен пернетақтаны қалай қолдану керектігін, сондай -ақ оларды оңай бағдарламалауды білесіз. қол жетімді кітапханалар. Сіз сондай -ақ Arduino -ны белгілі бір тапсырманы орындау үшін қалай бағдарламалау керектігін түсінесіз.
1 -қадам: Қажетті заттар
Arduino Uno (кез келген нұсқасы жұмыс істейді) 16 × 2 СКД дисплейі 4 × 4 пернетақтасы 9В аккумуляторлық тақта және қосылатын сымдар
2 -қадам: схема
3 -қадам: Arduino калькулятор бағдарламасы
Бұл жобаның толық Arduino бағдарламасы осы жобаның соңында берілген. Код кішігірім мағыналы бөліктерге бөлінген және төменде түсіндірілген. Жоғарыда айтылғандай, біз кітапханаларды пайдалана отырып, Arduino -мен СКД мен пернетақтаны қосамыз. Алдымен оларды Arduino IDE -ге қосайық. LCD -ге арналған кітапхана әдепкі бойынша Arduino -ға енгізілген, сондықтан бұл туралы алаңдамау керек. Пернетақта кітапханасы үшін Github -тен жүктеу үшін сілтемені нұқыңыз. Сіз ZIP файлын аласыз, содан кейін Arduino -ға Sketch арқылы осы кітапты қосыңыз -> Кітапхананы қосу ->. ZIP файлын қосыңыз және осы жүктелген файлға орынды көрсетіңіз. Біз кітапхананы пернетақтаны пайдаланғанымызбен, Arduino пернетақтасы туралы бірнеше мәліметтерді (төменде көрсетілген) айтуымыз керек. ROWS және COLS айнымалысы біздің пернетақтада қанша жолдар мен бағандар бар екенін көрсетеді және пернетақтада пернелердің орналасу ретін көрсетеді. Мен осы жобада қолданатын пернетақта төмендегідей кілт картасына ұқсас, әрі төменде біз rowPins және colPins.const байтының ROWS = 4 айнымалы жиегінің көмегімен пернетақтаның қандай түйреуіштермен байланыстырылғанын айтып өттік. // Төрт жолдық конст байт COLS = 4; // Үш баған // Keypapchar пернелерін [ROWS] [COLS] = {{'1', '2', '3', 'A'}, {'4', '5', '6', 'анықтаңыз. B '}, {' 7 ',' 8 ',' 9 ',' C '}, {'*',' 0 ','#',' D '}}; байт rowPins [ROWS] = {0, 1, 2, 3}; // ROW0, ROW1, ROW2 және ROW3 пернетақтасын осы Arduino түйреуіштеріне жалғаңыз. Colte -colPins [COLS] = {4, 5, 6, 7}; // COL0, COL1 және COL2 пернетақтасын осы Arduino түйреуіштеріне жалғаңыз. Біз пернетақтаның қай түрін қолданатынымызды және ол қалай қосылғанын айтқаннан кейін, біз төмендегі жолды қолдана отырып, пернетақтаны жасай аламыз Keypad kpd = Пернетақта (makeKeymap (пернелер)), rowPins, colPins, ROWS, COLS); // Пернетақтаны жасаңызСонымен қатар, біз LCD дисплейі Arduino -ның қай түйреуіштеріне қосылғанын айтуымыз керек. Біздің схемаға сәйкес анықтамалар төмендегідей болады: rs = 8, en = 9, d4 = 10, d5 = 11, d6 = 12, d7 = 13; // СКД қосылған түйреуіштерLiquidCrystal lcd (rs, en, d4, d5, d6, d7); // СКД жасау Орнату функциясының ішінде біз тек жобаның атауын көрсетеміз, содан кейін негізгі жоба орналасқан циклге өтеміз. Негізінде біз пернетақтада бірдеңе теріліп жатқанын тексеруіміз керек, егер терілген болса, біз тануымыз керек. не теріледі, содан кейін оны айнымалыға түрлендіреді, егер «=» басылса, біз нәтижені есептеп, содан кейін оны СКД -де көрсетуіміз керек. Бұл цикл функциясында дәл осылай жасалады, төменде көрсетілгендей = kpd.getKey (); // басылған кілт мәнін харифте сақтау (кілт! = NO_KEY) DetectButtons (); if (нәтиже == шын) CalculateResult (); DisplayResult (); Әр функцияның ішінде не болатыны түсініктеме жолдарының көмегімен түсіндіріледі, төмендегі толық кодты өтіңіз және оның қалай жұмыс істейтінін түсіну үшін онымен айналдырыңыз. Егер сізде белгілі бір жолға күмәніңіз болса, түсініктеме бөлімін немесе форумдарды қолданыңыз.
4 -қадам:
5 -қадам: Arduino калькуляторының жұмысы
Қосылымдарды схемаға сәйкес жасаңыз және төмендегі кодты жүктеңіз. Егер ол қате көрсетсе, жоғарыда берілген нұсқаулыққа сәйкес кітапхананы қосқаныңызға көз жеткізіңіз. Сондай -ақ, модельдеуді қолданып, аппараттық құралдың ақаулығын тексеруге болады. Егер бәрі ойдағыдай жасалса, онда сіздің аппараттық құралыңыз төмендегідей көрінеді: 4x4 пернетақтасы бар Arduino калькуляторын көрсетеді, мұнда қолданылатын пернетақтада тиісті таңбалар болмағандықтан, мен әліпбиді оператор ретінде қабылдадым. Төменде тізімделген Пернетақтадағы таңба «А» қосымшасы (+) «В» азайту (-) «С» көбейту (*) «D» бөлімі (/) «*» тазалау (C) «#» тең (=) деп есептеледі Әр түйменің нені білдіретінін жазу үшін маркерді қолданыңыз. Осымен сіз тікелей калькуляторды қолдануға кірісе аласыз. Нөмірді теріңіз және екінші жолда пайда болады, операндты басып, екінші нөмірді теріңіз, нәтижені алу үшін «#» пернесін басыңыз. Сіз сондай -ақ осы сенсорлық экранға негізделген Arduino калькуляторын құрып көре аласыз.
6 -қадам: код
/ * * Arduino пернетақта калькуляторларының бағдарламасы */#қамтиды // СКД үшін тақырыптық файл https://www.arduino.cc/kz/Reference/LiquidCrystal#include // Пернетақтаға арналған тақырыптық файл https://github.com/ Крис-A/Keypadconst байт ROWS = 4; // Төрт жолдық конст байт COLS = 4; // Үш баған // Keypapchar пернелерін анықтаңыз [ROWS] [COLS] = {{'7', '8', '9', 'D'}, {'4', '5', '6', ' C '}, {' 1 ',' 2 ',' 3 ',' B '}, {'*',' 0 ','#',' A '}}; байт rowPins [ROWS] = {0, 1, 2, 3}; // ROW0, ROW1, ROW2 және ROW3 пернетақтасын осы Arduino түйреуіштеріне жалғаңыз. Colte -colPins [COLS] = {4, 5, 6, 7}; // COL0, COL1 және COL2 пернетақтасын осы Arduino түйреуіштеріне қосыңыз. Keypad kpd = Keypad (makeKeymap (пернелер), rowPins, colPins, ROWS, COLS); // Пернетақтаны жасаңыз int rs = 8, en = 9, d4 = 10, d5 = 11, d6 = 12, d7 = 13; // СКД қосылған түйреуіштерLiquidCrystal lcd (rs, en, d4, d5, d6, d7); ұзын сан1, сан2, сан; char пернесі, әрекет; логикалық нәтиже = жалған; void setup () {lcd.begin (16, 2); // Біз 16*2 LCD дисплейін қолданамыз lcd.print («DIY калькуляторы»); // lcd.setCursor кіріс хабарламасын көрсету (0, 1); // курсорды 0 бағанына, 1 жолға орнатыңыз lcd.print («-CircuitDigest»); // Кіріспе хабардың кешігуін көрсету (2000); // lcd.clear () ақпаратты көрсетуді көрсетуді күтіңіз; // Содан кейін оны тазалаңыз} void loop () {key = kpd.getKey (); // басылған кілт мәнін харифте сақтау (кілт! = NO_KEY) DetectButtons (); if (нәтиже == шын) CalculateResult (); DisplayResult (); } void DetectButtons () {lcd.clear (); // Содан кейін оны тазартыңыз, егер (key == '*') // Болдырмау батырмасы басылса {Serial.println («Түймені бас тарту»); Сан = Сан1 = Сан2 = 0; result = false;} if (key == '1') // If Button 1 is pressed {Serial.println («Button 1»); if (Сан == 0) Сан = 1; else Сан = (Сан*10) + 1; // екі рет басылды} if (key == '4') // If 4 button is pressed {Serial.println («Button 4»); егер (Сан == 0) Сан = 4; else Сан = (Сан*10) + 4; // екі рет басылды} if (key == '7') // If 7 button is pressed {Serial.println («Button 7»); егер (Сан == 0) Сан = 7; else Сан = (Сан*10) + 7; // екі рет басылды} if (key == '0') {Serial.println («Button 0»); // 0 батырмасы басылады, егер (Сан == 0) Сан = 0; else Сан = (Сан*10) + 0; // екі рет басылды} if (key == '2') // 2 батырмасы басылады {Serial.println («Button 2»); егер (Сан == 0) Сан = 2; else Сан = (Сан*10) + 2; // екі рет басылды} if (key == '5') {Serial.println («Button 5»); егер (Сан == 0) Сан = 5; else Сан = (Сан*10) + 5; // екі рет басылды} if (key == '8') {Serial.println («Button 8»); егер (Сан == 0) Сан = 8; else Сан = (Сан*10) + 8; // екі рет басылды} if (key == '#') {Serial.println («Түйме тең»); Num2 = Сан; нәтиже = ақиқат; } if (key == '3') {Serial.println («Button 3»); егер (Сан == 0) Сан = 3; else Сан = (Сан*10) + 3; // екі рет басылды} if (key == '6') {Serial.println («Button 6»); егер (Сан == 0) Сан = 6; else Сан = (Сан*10) + 6; // екі рет басылды} if (key == '9') {Serial.println («9 -түйме»); егер (Сан == 0) Сан = 9; else Сан = (Сан*10) + 9; // екі рет басылды} егер (key == 'A' || key == 'B' || key == 'C' || key == 'D') // 4 -бағандағы түймелерді анықтау {Num1 = Number; Сан = 0; if (key == 'A') {Serial.println («Қосу»); әрекет = '+';} if (key == 'B') {Serial.println («Азайту»); әрекет = '-'; } if (key == 'C') {Serial.println («Көбейту»); әрекет = '*';} if (key == 'D') {Serial.println («Devesion»); әрекет = '/';} кешіктіру (100); }} void CalculateResult () {if (action == '+') Number = Num1+Num2; if (action == '-') Number = Num1-Num2; if (action == '*') Number = Num1*Num2; if (action == '/') Number = Num1/Num2; } void DisplayResult () {lcd.setCursor (0, 0); // курсорды 0 бағанына, 1 жолға орнатыңыз lcd.print (Num1); lcd.print (әрекет); lcd.print (Num2); if (нәтиже == шын) {lcd.print («=»); lcd.print (Сан);} // Нәтижені көрсету lcd.setCursor (0, 1); // курсорды 0 бағанына, 1 жолға орнатыңыз lcd.print (Сан); // Нәтижені көрсету}
Ұсынылған:
Nextion/Arduino калькуляторы: 3 қадам
Nextion/Arduino калькуляторы: Arduino Uno үшін пайдалы калькулятор. Калькулятордың стилі Windows 10 жүйесімен бірге келетін стандартты калькуляторға ұқсас. Ескертпе: Windows 10 калькуляторы жасайтын ғылыми және бағдарламалаушы функцияларды қамтымайды, бірақ бұл функциялар
4X4 пернетақтасын қолданатын Arduino калькуляторы: 4 қадам (суреттермен)
4X4 пернетақтасын қолданатын Arduino калькуляторы: Бұл оқулықта біз Arduino көмегімен жеке калькулятор құрамыз. Мәндерді пернетақта (4 × 4 пернетақта) арқылы жіберуге болады және нәтижені СКД экранында көруге болады. Бұл калькулятор қосу, азайту, көбейту сияқты қарапайым әрекеттерді орындай алады
1602 LCD және 4x4 пернетақтасын қолданатын Arduino DIY калькуляторы: 4 қадам
1602 СКД және 4x4 пернетақтасын қолданатын Arduino DIY калькуляторы: Сәлеметсіздер ме, балалар, біз осы есептеулерде Arduino көмегімен калькулятор жасаймыз. Біз негізінен 4x4 пернетақтасынан кіріс аламыз және 16x2 дисплейдегі деректерді басып шығарамыз, ал arduino есептеулерді жасайды
Arduino сенсорлық экранының калькуляторы: 7 қадам
Arduino сенсорлық экранының калькуляторы: Сәлеметсіз бе! Бұл Arduino Uno мен TFT LCD қалқанының көмегімен сенсорлық экранды есептеу машинасының жобасы. Мен үйден бағдарламалау сабағының тұжырымдамасын ойлап таптым, және бұл жобаны құру тәжірибесі өте қызықты болды. Бұл калькулятор
Arduino TFT LCD сенсорлық экранының калькуляторы: 3 қадам
Arduino TFT LCD сенсорлы экрандағы калькулятор: Сәлеметсіздер ме, балалар, біз осы нұсқаулықта Arduino Uno 3.5 көмегімен калькулятор жасауды үйренеміз. TFT LCD сенсорлық дисплейі. Біз кодты жазамыз және оны arduino -ға жүктейміз, ол дисплейде калькулятор интерфейсін көрсетеді және