Სარჩევი:

კალკულატორი TinkerCad კონკურსი: 8 ნაბიჯი
კალკულატორი TinkerCad კონკურსი: 8 ნაბიჯი

ვიდეო: კალკულატორი TinkerCad კონკურსი: 8 ნაბიჯი

ვიდეო: კალკულატორი TinkerCad კონკურსი: 8 ნაბიჯი
ვიდეო: No Components Crazy Virtual #Calculator On #Arduino #Tinkercad #AeroArduino 2024, ნოემბერი
Anonim
კალკულატორი TinkerCad კონკურსი
კალკულატორი TinkerCad კონკურსი

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

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

წრედისთვის:

  • LCD 16 x 2
  • Arduino Uno R3
  • კლავიატურა 4x4
  • პატარა პურის დაფა
  • პოტენციომეტრი (250 kΩ)
  • რეზისტორი (1kΩ)
  • x26 ჯუმბერის მავთულები

ნაბიჯი 2: 4x4 კლავიატურის დაკავშირება

4x4 კლავიატურის დაკავშირება
4x4 კლავიატურის დაკავშირება

4x4 კლავიატურის 4 რიგის ქინძისთავები დაუკავშირეთ Arduino ქინძისთავებს 4-7 და შეაერთეთ 4 სვეტის ქინძისთავები Arduino ქინძისთავებთან 0-3.

ნაბიჯი 3: მიეცით ძალა Breadboard- ს და შეაერთეთ LCD

მიეცით ძალა Breadboard- ს და შეაერთეთ LCD
მიეცით ძალა Breadboard- ს და შეაერთეთ LCD

მე გამოვიყენე დენის ძაბვა 5 პურის დაფისთვის. დენი და დაფქვილი შევუერთე პურის დაფას. LCD მოთავსებულია პურის დაფაზე და მოთავსებულია ისე, რომ მისი ყველა ქინძისთავები დაუკავშირდეს პურის დაფას.

ნაბიჯი 4: შეაერთეთ Power და Ground LCD- თან

შეაერთეთ Power და Ground LCD– თან
შეაერთეთ Power და Ground LCD– თან

იქნება 3 ქინძისთავი, რომელიც საჭიროა LCD– თან დასაკავშირებლად. ერთი იქნება დაკავშირებული თავად LCD– ის მიწასთან, მეორე იქნება დაკავშირებული LCD– ის LED– თან და ბოლო იქნება დაკავშირებული RW– თან. LCD– ისა და led– ის VCC– ს დასჭირდება დენის დაკავშირება. თუმცა LED- ის სიმძლავრე მოითხოვს რეზისტორს, რომელიც დაკავშირებულია ამ შემთხვევაში მე გამოვიყენე 1kΩ რეზისტორი.

ნაბიჯი 5: პოტენომეტრის დაკავშირება

პოტენომეტრის დაკავშირება
პოტენომეტრის დაკავშირება

შეაერთეთ პოტენომეტრი პურის დაფაზე 3 უფასო სვეტით. მას ექნება 3 ქინძისთავი, სვეტს, რომელიც შეიცავს ტერმინალს 1 პინს, დასჭირდება მისთვის მიწების მიცემა. სვეტს, რომელიც შეიცავს ტერმინალს 2 პინს, დასჭირდება მასზე მიცემული ძალა. შემდეგ გამწმენდს ექნება ჯუმბერის მავთული მის სვეტში, რომელიც აკავშირებს LCD– ის VO– ს.

ნაბიჯი 6: Arduino– ს დაკავშირება LCD– თან

Arduino– ს დაკავშირება LCD– თან
Arduino– ს დაკავშირება LCD– თან

Arduino– ს 8-13 პინები იქნება დაკავშირებული LCD– თან. არდუინოს ქინძისთავები 8-11 დაუკავშირდება შესაბამისად D8 (7-4). შემდეგ Arduino– ს პინი 12 დაუკავშირდება LCD– ის ჩართვას და Arduino– ს პინი 13 დაუკავშირდება LCD– ის რეგისტრს.

ნაბიჯი 7: განახორციელეთ კოდი

კოდი საჭირო იქნება მათემატიკური ოპერაციების გამოსაყენებლად კლავიატურაზე და LCD– ით. ქვემოთ იქნება კოდი, რომელიც მე გამოვიყენე, თუმცა მრავალი ცვლილება მაინც შემიძლია განვახორციელო, რომ ის იყოს უფრო სუფთა და უკეთესი. ასე რომ მოგერიდებათ ცოტათი ითამაშე.

#ჩართეთ #ჩართეთ

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

გრძელი პირველი = 0;

გრძელი წამი = 0;

ორმაგი ჯამი = 0;

int posit = 0;

char customKey;

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] = {7, 6, 5, 4};

ბაიტი colPins [COLS] = {3, 2, 1, 0};

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

void setup () {

lcd. დასაწყისი (16, 2);

lcd.setCursor (5, 0);

lcd. წმინდა (); }

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

customKey = customKeypad.getKey ();

გადართვა (customKey) {

საქმე '0' … '9':

lcd.setCursor (0, 0);

პირველი = პირველი * 10 + (customKey - '0');

lcd.print (პირველი);

პოზიტირება ++;

შესვენება;

შემთხვევა '+':

პირველი = (სულ! = 0? სულ: პირველი);

lcd.setCursor (პოზიტივი, 0);

lcd.print ("+");

პოზიტირება ++;

მეორე = SecondNumber ();

სულ = პირველი + მეორე;

lcd.setCursor (1, 1);

lcd.print (სულ);

პირველი = 0, მეორე = 0;

პოზიტივი = 0;

შესვენება;

საქმე '-':

პირველი = (სულ! = 0? სულ: პირველი);

lcd.setCursor (პოზიტივი, 0);

lcd.print ("-");

პოზიტირება ++;

მეორე = SecondNumber ();

სულ = პირველი - მეორე;

lcd.setCursor (1, 1);

lcd.print (სულ);

პირველი = 0, მეორე = 0;

პოზიტივი = 0;

შესვენება;

საქმე '*':

პირველი = (სულ! = 0? სულ: პირველი);

lcd.setCursor (პოზიტივი, 0);

lcd.print ("*");

პოზიტირება ++;

მეორე = SecondNumber ();

სულ = პირველი * მეორე;

lcd.setCursor (1, 1);

lcd.print (სულ);

პირველი = 0, მეორე = 0;

პოზიტივი = 0;

შესვენება;

საქმე '/':

პირველი = (სულ! = 0? სულ: პირველი);

lcd.setCursor (პოზიტივი, 0);

lcd.print ("/");

პოზიტირება ++;

მეორე = SecondNumber (); lcd.setCursor (1, 1);

მეორე == 0? lcd.print ("შეცდომა"): სულ = (float) პირველი / (float) მეორე;

lcd.print (სულ);

პირველი = 0, მეორე = 0;

პოზიტივი = 0;

შესვენება;

საქმე 'C':

სულ = 0;

პირველი = 0;

მეორე = 0;

პოზიტივი = 0;

lcd. წმინდა ();

შესვენება; }

}

გრძელი მეორე ნომერი () {

ხოლო (1) {

customKey = customKeypad.getKey ();

if (customKey> = '0' && customKey <= '9') {

მეორე = მეორე * 10 + (customKey - '0');

lcd.setCursor (პოზიტივი, 0);

lcd. ბეჭდვა (მეორე); }

if (customKey == 'C') {

სულ = 0;

პირველი = 0;

მეორე = 0;

პოზიტივი = 0;

lcd. წმინდა ();

შესვენება; }

if (customKey == '=') {

lcd.setCursor (0, 1);

lcd.print ("=");

პოზიტივი = სულ;

lcd. წმინდა ();

lcd.setCursor (0, 1);

lcd.print ("=");

შესვენება; }

}

მეორე დაბრუნება;}

ნაბიჯი 8: შედეგი

შედეგი
შედეგი
შედეგი
შედეგი

ვიმედოვნებ, რომ ყველას მოგეწონათ ეს სასწავლო. გმადლობთ რომ კითხულობთ!

საიმი.

გირჩევთ: