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

מחשבון בינארי עד עשרוני: 8 שלבים
מחשבון בינארי עד עשרוני: 8 שלבים

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

וִידֵאוֹ: מחשבון בינארי עד עשרוני: 8 שלבים
וִידֵאוֹ: CASIO fx-991CW fx-570CW CLASSWIZ Calculator Full Example Manual 2024, יולי
Anonim
מחשבון בינארי עד עשרוני
מחשבון בינארי עד עשרוני

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

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

שלב 1: חומרים דרושים

לפרויקט זה תזדקקו לחומרים הבאים:

  • ארדואינו UNO
  • ארבעה לוחות לחם
  • סוללה של תשעה וולט
  • שבעה שערי XOR (2 שבבי XOR)
  • שבעה ושערים (2 ושבבים)
  • שלושה שערים או (שבב OR אחד)
  • חמישה נוריות LED
  • שמונה נגדים של 330 אוהם
  • תצוגת אל סי די
  • ארבעה חוטים זכר-נקבה
  • הרבה חוטים זכר-זכר
  • חשפן חוט
  • אנודה RGB LED משותפת

עלות (לא כולל חוטים): 79.82 $

כל עלות החומר נמצאה ב- ABRA אלקטרוניקה.

שלב 2: הבנת Adder של 4 ביט

הבנה של 4 Bit Adder
הבנה של 4 Bit Adder

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

www.youtube.com/watch?v=mZ9VWA4cTbE&t=619s

שלב 3: בניית ה Adder 4 ביט

בניית ה Adder 4 ביט
בניית ה Adder 4 ביט
בניית ה Adder 4 ביט
בניית ה Adder 4 ביט

ההסבר כיצד לבנות אדרס של ארבעה סיביות הוא מאוד קשה, מכיוון שהוא כרוך בחיווט רב. בהתבסס על התמונות האלה, אני יכול לתת לך כמה טריקים כדי לבנות מעגל זה. ראשית, הדרך שבה אתה מסדר את שבבי ההיגיון שלך יכולה להיות חשובה מאוד. על מנת לקבל מעגל מסודר, הזמינו את הצ'יפס שלכם בסדר הזה: XOR, AND, OR, AND, XOR. על ידי הזמנה זו, המעגל שלך לא רק יהיה מסודר, אלא גם יהיה לך קל מאוד לארגן.

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

שלב 4: מתן כוח וקרקע למעגל

באמצעות סוללת 9 וולט, ספק כוח וקרקע ללוח הלחם שעומד להכיל את המפרץ של ארבע סיביות. עבור 3 לוחות הלחם הנותרים, ספקו לו כוח וקרקע באמצעות UNO Arduino.

שלב 5: חיווט נוריות

נוריות חיווט
נוריות חיווט

לפרויקט זה, חמשת הלדים ישמשו כמכשיר קלט ופלט. כמכשיר פלט, הנורית תאיר מספר בינארי, תלוי בכניסות שמוכנסות למקדם הארבעה סיביות. כמכשיר קלט, תלוי אילו נוריות דולקות וכיבוי, נוכל להקרין את המספר הבינארי המומר על צג ה- LCD כמספר עשרוני. כדי לחבר את ה- LED, תחבר את אחד הסכומים שיוצרים על ידי אדרדר הארבעה סיביות לרגל האנודה של ה- LED (רגל ארוכה של LED), אולם בין שני אלה, הנח נגד 330 אוהם. לאחר מכן חבר את רגל הקתודה של ה- LED (רגל קצרה של ה- LED) למעקה הקרקע. בין הנגד לחוט הסכום, חבר זכר לזכר לכל סיכה דיגיטלית ב- UNO Arduino. חזור על שלב זה עבור שלושת הסכומים הנותרים וההוצאה לפועל. הפינים הדיגיטליים בהם השתמשתי היו 2, 3, 4, 5 ו -6.

שלב 6: חיווט אנודה RGB LED משותף

חיווט Anode RGB LED
חיווט Anode RGB LED

עבור פרויקט זה, מטרתו של LED RGB זה לשנות צבעים בכל פעם שנוצר מספר עשרוני חדש בתצוגת ה- LCD. כשאתה מסתכל לראשונה על האנודה הנפוצה RGB led, תבחין שיש לו 4 רגליים; רגל באור אדום, רגל כוח (אנודה), רגל בצבע ירוק ורגל כחולה. רגל החשמל (האנודה) תחובר למסילת הכוח, ותקבל 5 וולט. חבר את שלושת רגלי הצבע הנותרות עם נגדים של 330 אוהם. בקצה השני של הנגד, השתמש בחוט זכר לזכר כדי לחבר אותו לסיכת dgital PWM ב- Arduino. הסיכה הדיגיטלית של PWM היא כל סיכה דיגיטלית שלצידה קו מתפתל. סיכות ה- PWM בהן השתמשתי היו 9, 10 ו -11.

שלב 7: חיווט צג ה- LCD

חיווט צג ה- LCD
חיווט צג ה- LCD

עבור פרויקט זה, תצוגת ה- LCD תקרין את המספר הבינארי שהומר לעשרוני. כאשר נסתכל על צג ה- LCD, תבחין ב -4 סיכות זכר. סיכות אלה הן VCC, GND, SDA ו- SCL. עבור ה- VCC, השתמש בחוט זכר לנקבה כדי לחבר את סיכת ה- VCC למסילת החשמל בלוח הלחם. זה יספק 5 וולט לסיכת VCC עבור סיכת ה- GND, חבר אותה למעקה הקרקע בעזרת חוט זכר לנקבה. בעזרת סיכות ה- SDA וה- SCL, חבר אותו לסיכה אנלוגית עם חוט זכר לנקבה. חיברתי את סיכת SCL לפין האנלוגי A5 ואת סיכת ה- SDA לפין האנלוגי A4.

שלב 8: כתיבת הקוד

כעת לאחר שהסברתי את חלק הבנייה בפרויקט זה, נתחיל כעת בקוד. ראשית, עלינו להוריד ולייבא תחילה את הספריות הבאות; ספריית LiquidCrystal_I2C וספריית התיל.

#כלול #כלול

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

const int digit1 = 2;

const int digit2 = 3;

const int digit3 = 4;

const int digit4 = 5;

const int digit5 = 6;

int digitsum1 = 0;

int digitsum2 = 0;

int digitsum3 = 0;

int digitsum4 = 0;

int digitsum5 = 0;

char array1 = "בינארי עד עשרוני";

char array2 = "ממיר";

int tim = 500; // ערך זמן ההשהיה

const int redPin = 9;

const int greenPin = 10;

const int bluePin = 11;

#הגדר COMMON_ANODE

LiquidCrystal_I2C lcd (0x27, 16, 2);

בהגדרת הריק (), אתה מצהיר על סוג הסיכה לכל המשתנים שלך. תשתמש גם בהתחלה סדרתית מכיוון שאנו משתמשים ב- analogWrite ()

הגדרת חלל ()

{

Serial.begin (9600);

pinMode (digit1, INPUT);

pinMode (digit2, INPUT);

pinMode (digit3, INPUT);

pinMode (digit4, INPUT);

pinMode (digit5, INPUT);

lcd.init ();

lcd.backlight ();

pinMode (redPin, OUTPUT);

pinMode (greenPin, OUTPUT);

pinMode (bluePin, OUTPUT);

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

lcd.setCursor (15, 0); // הגדר את הסמן לעמודה 15, שורה 0

for (int positionCounter1 = 0; positionCounter1 <17; positionCounter1 ++)

{

lcd.scrollDisplayLeft (); // מגולל את תוכן התצוגה רווח אחד שמאלה.

lcd.print (array1 [positionCounter1]); // הדפס הודעה ל- LCD.

עיכוב (טים); // לחכות 250 מיקרו שניות

}

lcd.clear (); // מנקה את מסך ה- LCD וממקם את הסמן בפינה השמאלית העליונה.

lcd.setCursor (15, 1); // הגדר את הסמן לעמודה 15, שורה 1

עבור (int positionCounter = 0; positionCounter <9; positionCounter ++)

{

lcd.scrollDisplayLeft (); // מגולל את תוכן התצוגה רווח אחד שמאלה.

lcd.print (array2 [positionCounter]); // הדפס הודעה ל- LCD.

עיכוב (tim); // המתן ל- 250 מיקרו שניות

}

lcd.clear (); // מנקה את מסך ה- LCD וממקם את הסמן בפינה השמאלית העליונה.

}

כעת, לאחר שסיימנו את הגדרת הריק (), נעבור ללולאת הריק (). בלולאת הריק, יצרתי כמה הצהרות אם-אחר כדי לוודא שכאשר אורות מסוימים דולקים או כבים, הוא יציג מספר עשרוני מסוים בתצוגה. צירפתי מסמך המציג מה יש בתוך לולאת החללים שלי ואת החללים הרבים האחרים שיצרתי. לחץ כאן לביקור במסמך

עכשיו כל שעליך לעשות הוא להריץ את הקוד וליהנות מממיר הבינארי החדש שלך לעשרוני.

מוּמלָץ: