Სარჩევი:

Arduino კალკულატორი 4X4 კლავიატურის გამოყენებით: 4 ნაბიჯი (სურათებით)
Arduino კალკულატორი 4X4 კლავიატურის გამოყენებით: 4 ნაბიჯი (სურათებით)

ვიდეო: Arduino კალკულატორი 4X4 კლავიატურის გამოყენებით: 4 ნაბიჯი (სურათებით)

ვიდეო: Arduino კალკულატორი 4X4 კლავიატურის გამოყენებით: 4 ნაბიჯი (სურათებით)
ვიდეო: კალკულატორი არდუინოზე / Calculator on Arduino 2024, ნოემბერი
Anonim
Image
Image

ამ გაკვეთილში ჩვენ ავაშენებთ ჩვენს საკუთარ კალკულატორს Arduino– ით. ღირებულებების გაგზავნა შესაძლებელია კლავიატურის საშუალებით (4 × 4 კლავიატურა) და შედეგი შეიძლება ნახოთ LCD ეკრანზე. ამ კალკულატორს შეუძლია შეასრულოს მარტივი ოპერაციები, როგორიცაა შეკრება, გამოკლება, გამრავლება და გაყოფა მთელი რიცხვებით. კონცეფციის გაგების შემდეგ თქვენ შეგიძლიათ განახორციელოთ თუნდაც მეცნიერული ფუნქციები არდუინოს ჩამონტაჟებული ფუნქციებით.

მარაგები

არდუინო უნო

16 × 2 LCD ეკრანი

4 × 4 კლავიატურა

პურის დაფა

ჯუმბერის კაბელები

არდუინოს კაბელი

ნაბიჯი 1: სქემები

ნაბიჯი 2: ბიბლიოთეკის დაყენება:

როგორც უკვე აღვნიშნეთ, ჩვენ ვაპირებთ LCD და კლავიატურის ინტერფეისს Arduino– სთან ბიბლიოთეკების გამოყენებით. მოდით, პირველ რიგში დავამატოთ ისინი ჩვენს Arduino IDE- ში. LCD– ის ბიბლიოთეკა უკვე ნაგულისხმევია თქვენს Arduino– ში, ასე რომ ჩვენ არ უნდა ვიდარდოთ ამაზე. კლავიატურის ბიბლიოთეკისთვის (დააწკაპუნეთ ბმულზე Github– დან გადმოსაწერად). თქვენ მიიღებთ ZIP ფაილს, შემდეგ დაამატეთ ეს lib Arduino– ს Sketch– ით -> ბიბლიოთეკის ჩართვა ->. ZIP ფაილის დამატება და მიუთითეთ მდებარეობა ამ გადმოწერილ ფაილზე. დასრულების შემდეგ ჩვენ ყველანი მზად ვართ პროგრამირებისთვის.

ნაბიჯი 3: წყაროს კოდი:

/*

© Techtronic Harsh

*/

#ჩართეთ

#ჩართეთ

LiquidCrystal LCD (0, 1, 2, 3, 4, 5);

const byte ROWS = 4; const byte COLS = 4;

char ღილაკები [ROWS] [COLS] = {

{'1', '2', '3', '+'}, {'4', '5', '6', '-'}, {'7', '8', '9', ' *'}, {' C ',' 0 ',' = ','/'}}; byte rowPins [ROWS] = {13, 12, 11, 10}; ბაიტი colPins [COLS] = {9, 8, 7, 6};

კლავიატურა myKeypad = კლავიატურა (makeKeymap (გასაღებები), rowPins, colPins, ROWS, COLS);

ლოგიკური presentValue = ყალბი;

ლოგიკური შემდეგი = ყალბი; ლოგიკური საბოლოო = ყალბი; სიმებიანი num1, num2; int პასუხი; char op;

ბათილად დაყენება ()

{lcd. დასაწყისი (16, 2); lcd.setCursor (0, 0); lcd.print ("Techtronic Harsh"); lcd.setCursor (0, 1); lcd.print ("კალკულატორი"); დაგვიანება (3000); lcd. წმინდა (); lcd.setCursor (0, 0); lcd.print ("Like And"); lcd.setCursor (0, 1); lcd.print ("გამოიწერეთ ჩვენ"); დაგვიანება (3000); lcd. წმინდა (); }

ბათილი მარყუჟი () {

char გასაღები = myKeypad.getKey ();

if (გასაღები! = NO_KEY && (გასაღები == '1' || გასაღები == '2' || გასაღები == '3' || გასაღები == '4' || გასაღები == '5' || გასაღები = = '6' || გასაღები == '7' || გასაღები == '8' || გასაღები == '9' || გასაღები == '0')))

{if (presentValue! = true) {num1 = num1 + გასაღები; int numLength = num1.length (); lcd.setCursor (15 - numLength, 0); // ოპერატორისთვის ერთი თეთრი სივრცის მორგება lcd.print (num1); } else {num2 = num2 + გასაღები; int numLength = num2.length (); lcd.setCursor (15 - numLength, 1); lcd.print (num2); საბოლოო = ჭეშმარიტი; }}

სხვა შემთხვევაში

{if (presentValue == false) {presentValue = true; op = გასაღები; lcd.setCursor (15, 0); lcd.print (op); }}

სხვა შემთხვევაში თუ (საბოლოო == ჭეშმარიტი && გასაღები! = NO_KEY && გასაღები == '=') {

if (op == ' +') {answer = num1.toInt () + num2.toInt (); } else if (op == ' -') {answer = num1.toInt () - num2.toInt (); } else if (op == ' *') {answer = num1.toInt () * num2.toInt (); } else if (op == ' /') {answer = num1.toInt () / num2.toInt (); } lcd.clear (); lcd.setCursor (15, 0); lcd.autoscroll (); lcd. ბეჭდვა (პასუხი); lcd.noAutoscroll (); } else if (გასაღები! = NO_KEY && გასაღები == 'C') {lcd.clear (); presentValue = ყალბი; საბოლოო = ყალბი; num1 = ""; num2 = ""; პასუხი = 0; op = ''; }}

/*

© Techtronic Harsh

*/

ნაბიჯი 4: მუშაობა:

გააკეთეთ კავშირები სქემის მიხედვით და ატვირთეთ კოდი. თუ ის აჩვენებს შეცდომას, დარწმუნდით, რომ დაამატეთ ბიბლიოთეკა ზემოთ მოცემული ინსტრუქციის შესაბამისად.

პერსონაჟი კლავიატურაზე და ვარაუდი:

  • "A" - დამატება (+)
  • "B" - გამოკლება (-)
  • "C" - გამრავლება (*)
  • "D" - განყოფილება (/)
  • "*" - გასუფთავება (C)
  • "#" - უდრის (=)

გირჩევთ: