תוכן עניינים:
- שלב 1: חומרים דרושים
- שלב 2: הבנת Adder של 4 ביט
- שלב 3: בניית ה Adder 4 ביט
- שלב 4: מתן כוח וקרקע למעגל
- שלב 5: חיווט נוריות
- שלב 6: חיווט אנודה RGB LED משותף
- שלב 7: חיווט צג ה- LCD
- שלב 8: כתיבת הקוד
וִידֵאוֹ: מחשבון בינארי עד עשרוני: 8 שלבים
2024 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2024-01-30 09:15
להנדסת מחשבים בכיתה י א, הייתי צריך להחליט על פרויקט גמר. בהתחלה לא ידעתי מה לעשות כי זה צריך לכלול רכיבי חומרה מסוימים. לאחר מספר ימים, חברתי לכיתה אמרה לי לעשות פרויקט המבוסס על אפרפר הארבעה סיביות שיצרנו לפני מספר חודשים. לאחר אותו יום, בעזרת אפרפר הארבעה סיביות שלי, הצלחתי ליצור ממיר בינארי לעשרוני.
יצירת פרויקט זה דורשת מחקר רב, הכולל בעיקר הבנה כיצד פועל סופג מלא וחצי.
שלב 1: חומרים דרושים
לפרויקט זה תזדקקו לחומרים הבאים:
- ארדואינו UNO
- ארבעה לוחות לחם
- סוללה של תשעה וולט
- שבעה שערי XOR (2 שבבי XOR)
- שבעה ושערים (2 ושבבים)
- שלושה שערים או (שבב OR אחד)
- חמישה נוריות LED
- שמונה נגדים של 330 אוהם
- תצוגת אל סי די
- ארבעה חוטים זכר-נקבה
- הרבה חוטים זכר-זכר
- חשפן חוט
- אנודה RGB LED משותפת
עלות (לא כולל חוטים): 79.82 $
כל עלות החומר נמצאה ב- ABRA אלקטרוניקה.
שלב 2: הבנת Adder של 4 ביט
לפני שנתחיל, עליך להבין כיצד פועל אדרס של ארבע סיביות. כשנתבונן לראשונה במעגל זה, תבחין כי יש מעגל חצי אפרדר ושלושה מעגלים מלאים. מכיוון שמקפץ בעל ארבע סיביות הוא שילוב של אסף מלא וחצי, פרסמתי סרטון המסביר כיצד פועלים שני סוגי המוסיפים.
www.youtube.com/watch?v=mZ9VWA4cTbE&t=619s
שלב 3: בניית ה 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 משותף
עבור פרויקט זה, מטרתו של LED RGB זה לשנות צבעים בכל פעם שנוצר מספר עשרוני חדש בתצוגת ה- LCD. כשאתה מסתכל לראשונה על האנודה הנפוצה RGB led, תבחין שיש לו 4 רגליים; רגל באור אדום, רגל כוח (אנודה), רגל בצבע ירוק ורגל כחולה. רגל החשמל (האנודה) תחובר למסילת הכוח, ותקבל 5 וולט. חבר את שלושת רגלי הצבע הנותרות עם נגדים של 330 אוהם. בקצה השני של הנגד, השתמש בחוט זכר לזכר כדי לחבר אותו לסיכת dgital PWM ב- Arduino. הסיכה הדיגיטלית של PWM היא כל סיכה דיגיטלית שלצידה קו מתפתל. סיכות ה- PWM בהן השתמשתי היו 9, 10 ו -11.
שלב 7: חיווט צג ה- 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 וממקם את הסמן בפינה השמאלית העליונה.
}
כעת, לאחר שסיימנו את הגדרת הריק (), נעבור ללולאת הריק (). בלולאת הריק, יצרתי כמה הצהרות אם-אחר כדי לוודא שכאשר אורות מסוימים דולקים או כבים, הוא יציג מספר עשרוני מסוים בתצוגה. צירפתי מסמך המציג מה יש בתוך לולאת החללים שלי ואת החללים הרבים האחרים שיצרתי. לחץ כאן לביקור במסמך
עכשיו כל שעליך לעשות הוא להריץ את הקוד וליהנות מממיר הבינארי החדש שלך לעשרוני.
מוּמלָץ:
שעון מיקרו בינארי: 10 שלבים (עם תמונות)
שעון בינארי מיקרו: לאחר שיצר בעבר מדריך Instructable (בינארי DVM), שעושה שימוש בשטח התצוגה המוגבל באמצעות בינארי. זה היה רק צעד קטן לאחר שיצר בעבר את מודול הקוד הראשי להמרה עשרונית לבינארית ליצירת שעון בינארי אך t
שעון בינארי אמיתי עם סינכרון NTP: 4 שלבים
שעון בינארי אמיתי עם סינכרון NTP: שעון בינארי אמיתי מציג את השעה ביום כסכום של שברים בינאריים של יום שלם, בניגוד לשעון "בינארי" מסורתי " המציג את הזמן כספרות עשרוניות מקודדות בינאריות המתאימות לשעות/דקות/שניות. מסורת
CPE 133 פרויקט סופי עשרוני עד בינארי: 5 שלבים
CPE 133 פרויקט סופי עשרוני עד בינארי: מספרים בינאריים הם אחד הדברים הראשונים שעולים בראש כשחושבים על היגיון דיגיטלי. עם זאת, מספרים בינאריים יכולים להיות מושג קשה עבור אלה החדשים בו. פרויקט זה יעזור לאנשים שהם חדשים ומנוסים עם מספרים בינאריים
מחשבון בינארי 4 סיביות: 11 שלבים (עם תמונות)
מחשבון בינארי 4 סיביות: פיתחתי עניין באופן שבו מחשבים עובדים ברמה הבסיסית. רציתי להבין את השימוש ברכיבים נפרדים ואת המעגלים הדרושים לביצוע משימות מורכבות יותר. מרכיב בסיסי חשוב במעבד הוא
מחשבון בינארי: 11 שלבים
מחשבון בינארי: סקירה כללית: מאז ההמצאה הראשונה של שער הלוגיקה במאה ה -20, התרחש הפיתוח המתמיד של אלקטרוניקה כזו וכיום הוא אחד המרכיבים האלקטרוניים הפשוטים אך החשובים ביותר ביסוד ביישומים רבים ושונים