תוכן עניינים:

תחרות TinkerCad מחשבון: 8 שלבים
תחרות TinkerCad מחשבון: 8 שלבים

וִידֵאוֹ: תחרות TinkerCad מחשבון: 8 שלבים

וִידֵאוֹ: תחרות TinkerCad מחשבון: 8 שלבים
וִידֵאוֹ: קורס תכנות לילדים ונוער מיקרוביט - תכנות משחק אבן נייר ומספריים דיגיטלי 2024, נוֹבֶמבֶּר
Anonim
תחרות TinkerCad מחשבון
תחרות TinkerCad מחשבון

היי, אז לאחרונה בחנתי כיצד ליישם סוגים שונים של קוד במעגל. גיליתי שהכנת מחשבון תהיה דרך מצוינת ליישם "מארז" וצורות קוד אחרות שמצאתי מעניינות. בעבר הכנתי מחשבונים ישירות מהקוד, אבל הכנת מעגל עבורו נתנה לי עניין. במיוחד בזמן ההסגר הזה שבו אני נמצא במחשב שלי כמעט כל היום. הפרויקט נועד ליישם פעולות מתמטיות על מסך LCD.

שלב 1: חומרים

למעגל:

  • LCD 16 x 2
  • Arduino Uno R3
  • לוח מקשים 4x4
  • לוח לחם קטן
  • פוטנציומטר (250 kΩ)
  • התנגדות (1kΩ)
  • x26 חוטי מגשר

שלב 2: חיבור לוח המקשים 4x4

חיבור לוח המקשים 4x4
חיבור לוח המקשים 4x4

חבר את 4 סיכות השורה בלוח המקשים 4x4 לסיכות Arduino 4-7, וחבר את 4 סיכות העמודה לסיכות Arduino 0-3.

שלב 3: ספק כוח ללוח הלוח וחבר את ה- LCD

ספק כוח ללוח הלוח וחבר LCD
ספק כוח ללוח הלוח וחבר LCD

השתמשתי במתח מתח של 5 ללוח הלחם. חיברתי את הכוח והטחון ללוח הלחם. ה- LCD מונח על לוח הלחם ומונח כך שכל הסיכות שלו מתחברות ללוח הלחם.

שלב 4: חבר את החשמל והקרקע אל ה- LCD

חבר את החשמל והקרקע ל- LCD
חבר את החשמל והקרקע ל- LCD

כדי לחבר את ה- LCD יהיו 3 סיכות קרקע. אחד יחובר כאשר הקרקע היא עצמה של ה- LCD, אחר יחובר לנורית ה- LCD, והאחרון יתחבר ל- RW. VCC של ה- LCD וה- LED יחייבו חיבור מתח. עם זאת הכוח עבור ה- LED ידרוש נגד המחובר במקרה זה השתמשתי בנגד 1kΩ.

שלב 5: חיבור הפוטנציומטר

חיבור הפוטנציומטר
חיבור הפוטנציומטר

חבר את הפוטנציומטר ללוח הלחם עם 3 עמודים בחינם. יהיו לו 3 סיכות, העמודה המכילה את סיכה 1 הטרמינל תזדקק לקרקע. העמודה המכילה את פין הטרמינל 2 תזדקק לחשמל שניתן לה. אז למגב יהיה חוט מגשר בעמודה המתחברת ל- VO של ה- LCD.

שלב 6: חיבור ה- Arduino ל- LCD

חיבור ה- Arduino ל- LCD
חיבור ה- Arduino ל- LCD

סיכות 8-13 ב- Arduino יתחברו ל- LCD. סיכות 8-11 ב- Arduino יתחברו ל- D8 (7-4) בהתאמה. אז סיכה 12 של הארדואינו תתחבר לאפשר של ה- LCD, וסיכה 13 על הארדואינו תתחבר לרשם ה- LCD.

שלב 7: יישום קוד

יהיה צורך בקוד לשימוש בפעולות מתמטיות עם לוח המקשים וה- LCD. להלן יהיה הקוד שהשתמשתי בו, אולם שינויים מרובים עדיין יכולים ליישם אותי כדי להפוך אותו לנקי וטוב יותר. אז אתה מוזמן לשחק עם זה קצת.

#כלול #כלול

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

ארוך ראשון = 0;

שנייה ארוכה = 0;

סה כ כפול = 0;

int posit = 0;

char customKey;

שורות const byte = 4;

const byte COLS = 4;

מפתחות צ'אר [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};

לוח מקשים customKeypad = לוח מקשים (makeKeymap (מפתחות), rowPins, colPins, ROWS, COLS);

הגדרת בטל () {

lcd.begin (16, 2);

lcd.setCursor (5, 0);

lcd.clear (); }

לולאת חלל () {

customKey = customKeypad.getKey ();

switch (customKey) {

מקרה '0' … '9':

lcd.setCursor (0, 0);

first = first * 10 + (customKey - '0');

lcd.print (ראשון);

חיובי ++;

לשבור;

מקרה '+':

first = (סה"כ! = 0? סה"כ: ראשון);

lcd.setCursor (פוזיטיב, 0);

lcd.print ("+");

חיובי ++;

second = SecondNumber ();

סה כ = ראשון + שני;

lcd.setCursor (1, 1);

lcd.print (סה כ);

הראשון = 0, שני = 0;

posit = 0;

לשבור;

מקרה '-':

first = (סה"כ! = 0? סה"כ: ראשון);

lcd.setCursor (פוזיטיב, 0);

lcd.print ("-");

חיובי ++;

second = SecondNumber ();

סה כ = ראשון - שני;

lcd.setCursor (1, 1);

lcd.print (סה כ);

הראשון = 0, שני = 0;

posit = 0;

לשבור;

מקרה '*':

first = (סה"כ! = 0? סה"כ: ראשון);

lcd.setCursor (פוזיטיב, 0);

lcd.print ("*");

חיובי ++;

second = SecondNumber ();

סה כ = הראשון * השני;

lcd.setCursor (1, 1);

lcd.print (סה כ);

הראשון = 0, שני = 0;

posit = 0;

לשבור;

מקרה '/':

first = (סה"כ! = 0? סה"כ: ראשון);

lcd.setCursor (פוזיטיב, 0);

lcd.print ("/");

חיובי ++;

second = SecondNumber (); lcd.setCursor (1, 1);

שני == 0? lcd.print ("שגיאה"): total = (float) הראשון / (float) השני;

lcd.print (סה כ);

הראשון = 0, שני = 0;

posit = 0;

לשבור;

מקרה 'C':

סה כ = 0;

הראשון = 0;

שני = 0;

posit = 0;

lcd.clear ();

לשבור; }

}

מספר שני ארוך () {

בעוד (1) {

customKey = customKeypad.getKey ();

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

second = second * 10 + (customKey - '0');

lcd.setCursor (פוזיטיב, 0);

lcd.print (שני); }

if (customKey == 'C') {

סה כ = 0;

הראשון = 0;

שני = 0;

posit = 0;

lcd.clear ();

לשבור; }

if (customKey == '=') {

lcd.setCursor (0, 1);

lcd.print ("=");

חיובי = סה כ;

lcd.clear ();

lcd.setCursor (0, 1);

lcd.print ("=");

לשבור; }

}

חזור שני;}

שלב 8: תוצאה

תוֹצָאָה
תוֹצָאָה
תוֹצָאָה
תוֹצָאָה

אני מקווה שכולכם נהנתם מההדרכה הזו. תודה שקראת!

סים.

מוּמלָץ: