Mavzu: Arduinoda kalkulyator yasash



Yüklə 1,69 Mb.
tarix10.06.2023
ölçüsü1,69 Mb.
#128286
kankulyator doston aka

Mavzu:Arduinoda kalkulyator yasash

Reja

  • Arduino Uno haqida malumot
  • Tinkerkad dasturi haqida malumot
  • Amaliy qism
  • Xulosa

Bizga kerakli bo'lgan qurilmalar:
  • Arduino UNO
  • Monitor
  • 4 X 4 klaviatura
  • Rezistor
  • 16 X 2 LCD displey

Arduino Uno - bu o'quv dastalarni ishga tushirish va yoqilg'i vaqtlarini o'rganish uchun juda asqiyachi muqobil prototip qurilma. Bu, microcontrollerning tanlangan bir xil loyihalarga qo'shimcha modullarni ulashmoqda foydalaniladi va elektronik gadgetlarni yaratishda alohida tasir ko'rsatadi. Arduino loyihasi avvaldan shaxsiy elektronik apparatlarni yaratishga kirishganlar uchun mo'ljallangan. Bu tajribani olish haqida hech qanday xohish yo'q bo'lsa, zot maxsus eng yaxshi mo'ljallarimizdan biridir.
Tinkercad - Autodesk mahsulot katalogiga kiritilgan veb-platforma. Hamma narsani Internetda qilish orqali biz kompyuterimizga hech narsa o'rnatmasligimiz shart emas. Shuningdek, biz dizayndagi bulutli zaxiraga ega bo'lamiz. Ularning barchasi afzalliklari.
Kunni jamiyat tomonidan modellashtirilgan ob'ektlarni tomosha qilish bilan o'tkazish juda yaxshi. Ammo siz o'zingizning dizaynlaringizni o'zingizning harakatlaringiz bilan amalga oshirgan vaqt haqida. Xavotir olmang, HardwareLibre-da biz bilamizki, yuzlab dasturlardan qaysi birini boshlashni tanlashni o'zingizdan so'rash qo'rqinchli bo'lishi mumkin. Shunday qilib, Undan foydalanishni o'rganish bo'yicha qator maqolalarimizni davom ettirsak, ushbu platformani sizga ko'rsatishga qaror qildik.
Breadboard, shuningdek, non yoki non deb nomlanuvchi, bu elektron komponentlarning pimlarini bir-biri bilan almashtirish uchun teshiklarni joylashtiradigan plastik plastinka. O'rnatish sodda va sizning elektron loyihalaringizni xohlagan vaqtingizda yig'ish va demontaj qilishga imkon beradi, chunki u tenglikni taxtasida lehimlashni o'z ichiga olmaydi. Bundan tashqari, agar sizning loyihangiz talab qilsa, bir nechta non plitalarini ulab, kattaroq plastinka hosil qilish mumkin.
  • 4 X 4 klaviatura
  • 4 X 4 klaviatura
  • 4 X 4 klaviatura

Resistor Keypad 4*4 hamda lCD 16*2 o’lchamdagi qurulmallarni olib ularni hammasi birlashtirishni boshlaymiz.
Qolgan portlariga LCD 16*2 olchamdagi tabloni ulab chiqamiz Aurdini Unoga .
Aytganimdey portlar hamda coddagi buyruqlar bir biriga muvofiq birxil mazmunda bo’lishi kerak.
Yuqoridagi Aytganimday kirish chiqishlar hisobida KEYPAD dagi arfimetik amallar “harflar’’ bilan belgilandi.
  • A---“+’’
  • B---“-’’
  • C---“*’’

  • D---"/”

Tablo yonganda Keypaddagi avvali kirishning printda gurux hamda ism ko’rsatildi.Undan keyin include tozalash va amallarni bajarish uqitildi.
“305-Akaboyev k” avvval oina yonganda paydo bo’ladi hamda 4000 soniyadan keyin yuqoladi va biz uz amallarimizni bajarishimiz mumkin bo’ladi
Aytilganidek berilganbuyruqlar asnosida ism hamda guruxim kelib chiqti.
Ana endi canculyatordan foydalanib ko’ramiz.
Quyidagi amalni bajarib ko’ramiz
31+17=
Demak dasturda ko’rinishi bo’yicha ushbu masala javobi 31+17=48
Daturga to’ridan to’g’ri utib uni ishlatib ko’rish uchun dastur linki
https://www.tinkercad.com/things/5DeekatNR4X-powerful-uusam/editel?sharecode=r1wqR3_ZkC9q4zlrJ3crgCxZNBnzIy7KRiV6-wE9sZc
DASTUR KODI
#include
#include
#include
LiquidCrystal lcd(13, 12, 11, 10, 9, 8);
long first = 0;
long second = 0;
double total = 0;
char customKey;
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] = {7,6,5,4}; //connect to the row pinouts of the keypad
byte colPins[COLS] = {3,2,1,0}; //connect to the column pinouts of the keypad {
lcd.begin(16, 2); // start lcd
for(int i=0;i<=3;i++);
lcd.setCursor(0,0);
lcd.print("Calculator");
lcd.setCursor(0,1);
lcd.print("305-Akaboyev.K");
delay(4000);
lcd.clear();
lcd.setCursor(0, 0);
}
void loop()
{
customKey = customKeypad.getKey();
switch(customKey)
case '0' ... '9': // This keeps collecting the first value until a operator is pressed "+-*/"
lcd.setCursor(0,0);
first = first * 10 + (customKey - '0');
lcd.print(first);
break;
case '+':
first = (total != 0 ? total : first);
lcd.setCursor(0,1);
lcd.print("+");
second = SecondNumber(); // get the collected the second number
total = first + second;
lcd.setCursor(0,3);
lcd.print(total);
first = 0, second = 0; // reset values back to zero for next use
break;
case '-':
first = (total != 0 ? total : first);
lcd.setCursor(0,1);
lcd.print("-");
second = SecondNumber();
total = first - second;
lcd.setCursor(0,3);
lcd.print(total);
first = 0, second = 0;
break;
case '*':
first = (total != 0 ? total : first);
lcd.setCursor(0,1);
lcd.print("*");
second = SecondNumber();
total = first * second;
lcd.setCursor(0,3);
lcd.print(total);
XULOSA
Xulosa urnida shuni aytish mumkinki O’rnatilgan tizimlar hayotimizda qay darajada kerak bo’lishini bilib oldik.
Yüklə 1,69 Mb.

Dostları ilə paylaş:




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©azkurs.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin