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

DemUino - מחשב/בקר ביתי: 7 שלבים
DemUino - מחשב/בקר ביתי: 7 שלבים

וִידֵאוֹ: DemUino - מחשב/בקר ביתי: 7 שלבים

וִידֵאוֹ: DemUino - מחשב/בקר ביתי: 7 שלבים
וִידֵאוֹ: DemUino 2024, יולי
Anonim
Image
Image
שריפת מטען האתחול
שריפת מטען האתחול

מחשב בהשראת Arduino מאת DemeterArt הפק את המקסימום ממקלדת ה- PS2 הישנה שלך. פרץ אותו למחשב אישי מותאם אישית לשליטה בדברים! תמיד רציתי לבנות מחשב ביתי משלי, בסגנון רטרו, שום דבר מפואר אבל עם יכולות מיוחדות המותאמות להעדפותיי. אז הגעתי לזה עם ה- MCU atmega328 וערכת הפיתוח של Arduino.

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

בקר באתר שלי כדי לקרוא את כל הסיפור ולהוריד את כל הקבצים הרלוונטיים

www.sites.google.com/site/demeterart

שלב 1: תכונות

  • מבוסס על ATMEGA328 עם פלאש 32KB, 2KB SRAM ו- 1KB EEPROM.
  • תמיכה במצבי אינטראקציה ואצווה
  • עורך שורות ומצב עריכת רשימה
  • 8 תווים מותאמים אישית עבור גרפיקה של משתמשים
  • 60 שלבי תוכנית ממוספרים 00,…, 99
  • לולאות 'אם' מותנות, 'תוך' ו'ללא 'בתוספת הצהרות' גוטו 'ו'משנה' לצורך הסתעפות
  • ביטויים אריתמטיים ומתמטיים בסיסיים בתוספת מבחנים בוליאניים
  • משתני המערכת מאפשרים אירועים מתוזמנים, ממוצעים, ערכים מינימאליים וערכים מקסימליים מסיכות אנלוגיות וכו '
  • 26 משתני משתמש לאינטראקציה עם משתני ופקודות מערכת
  • 104 בתים של מערך שניתן להתייחס אליו או 52 מספרים שלמים קצרים
  • יכולת קריאה/כתיבה של נתוני תוכניות וכן קוד תוך כדי תנועה (משתנה p)
  • אפליקציית מיני אוסצילוסקופ עם תווים מותאמים אישית עבור גרפיקה פסאודו
  • שמור וטען תוכניות ונתונים מ/אל EEPROM
  • טען/שמור תוכניות ומשתנים מ/למחשב
  • autoexec לטעינה ולהפעלת תוכנית מ- EEPROM לאחר כל איפוס
  • 9 פיני GPIO (כלול SPI) זמינים במחבר DB15 חיצוני
  • BUZZER לאפקטים קוליים

שלב 2: דברים שתזדקק להם

מקלדת ישנה PS/2 עבה מספיק בכדי להכיל את תצוגת ה- PCB LCD (הפורמט המקביל הפופולרי) שבב MAX232 ליציאת RS232 atmel atmega328PU ערכת פיתוח Arduino עם IDE 1.0.1 LM7805 הרגולטור 5V מיישר גשר זמזם, קבלים, כפתור לחיצה על איפוס, מחברים וכו '

שלב 3: שריפת מטען האתחול

לכן, לאחר שקנינו שבב atmega328PU 'ריק' יש לקבל החלטה. האם אני משתמש במתכנת מיוחד חיצוני או ספק שירותי אינטרנט או שאני שורף את מטען האתחול של Arduino לתוך החיה והופך את היחידה לתכנות באמצעות יציאת UART שלה? בחרתי באחרון כדי להקל על חיי! מטען האתחול החדש תופס רק חצי קילוביט של זיכרון פלאש ומשאיר קצת יותר מ- 31KB של תוכנת משתמש ונתונים סטטיים זמינים. אתר Arduino מכסה את המקרה של צריבת מטען האתחול על שבב חדש, כאשר הגיעו לשימוש ב- avrdude לשריפת שבב היעד בפועל התהליך נכשל עם שגיאה המצביעה על המזהה הלא נכון של ה- MCU המסוים. אז לאחר חיפושים מצאתי את הבחור שהבין נכון ופעלתי לפי ההליך שלו. ההבדל היחיד היה 2 קבצי תצורה, avrdude.conf ו- boards.txt הדרושים ל- avrdude ו- arduino IDE 1.0.1 כדי לאפשר זאת. לאחר העתקת 2 הקבצים למיקומם הנכון (קודם כל יש לגבות את הישנים) האפשרות 'arduino328' מהכלים-> לוח הייתה זמינה ו- avrdude המשיך בשריפת הנתיכים ומטען האתחול. כעת השבב מוכן לתכנות מתוך המכונה החדשה!

שלב 4: בניית היחידה

בניית היחידה
בניית היחידה
בניית היחידה
בניית היחידה

לוח מחורר עם רצועות נחושת שימש כפתרון הרכבה מהיר עם שקעי DIP לשבבים, אתה יודע, ליתר ביטחון! לאחר מכן החורים והחתכים של המחברים, כפתור האיפוס ותצוגת ה- LCD נפתחו דרך הפלסטיק החזק והעבה ביותר של המקלדת. כן, זה נבנה לפני 25 שנה! בעקבות הלבלבול של החוטים שנבעו מה- PCB לכיוון הציוד ההיקפי השונה. בדיקת המשכיות ראשונית ולאחר מכן האספקה הייתה מחוברת ללא שבבים מאוכלסים רק כדי לבדוק את השקעים לאיתור המתאים. לאחר מכן נכנסו 2 מחשבי ה- IC ומארז המקלדת נסגר היטב באמצעות תליסי הפלסטיק שלו בתחתית. היחידה הייתה מוכנה לשרוף סקיצות בבקר!

אני מציע שאחד משתמש בקבלים 1uF/16V לא קוטביים עבור משאבות הטעינה MAX232. אתר את קבלים הניתוק של 100nF לשני השבבים קרוב ככל האפשר לסיכות VCC ו- GND בהתאמה. השתמש בחיבור כוכבים עבור החשמל והקרקע שמפנה לווסת LM7805. מתג 2 יכול להיות מגשר בהתאם למניעה, אך כדאי שיהיה לו ולו רק כדי למנוע איפוס MCU לא רצוי מהמחשב המארח במקרים מסוימים. בכל מקרה, יש לסגור את המתג כדי לאפשר ל- Arduino IDE לצרוב את הסקיצה באמצעות איפוס MCU המטרה (סיכה DTR של RS232). במקרה שלי החיבור הוא קבוע (תמיד סגור). השתמש בנגד סדרה לבאזר כדי לבודד את מספר ה- NF של הקיבול משער הנהיגה … אתה לעולם לא יודע.. אתר את ה- XTAL ואת קבלים 18-22pF הטעינה קרוב ככל האפשר לפינים המתאימים של הבקר.

בשל גשר המיישר היחידה עשויה להיות מופעלת על ידי מתאמי מתח AC ו- DC כאחד. במקרה של DC, קיימת ירידת מתח של 1.5 וולט בין המתאם לכניסה לרגולטור. במקרה של AC קלט הרגולטור הוא בערך פי 1.4 מפלט ה- RMS של המתאם או פחות עקב העמסה. אם ההבדל בין הכניסה של הרגולטור לתפוקתו (+5V) גדול, נניח 7 וולט, אז ההספק הנצרך על ידי הרגולטור מתקרב ל -0.5 וואט ועדיף להשתמש בגוף קירור שעליו להתקין את השבב (בתנאי יש מקום לזה) לשעות פעילות ארוכות במזג אוויר חם.

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

שלב 5: סכמטי

סכמטי
סכמטי

שלב 6: הפעלת תוכנה על הסיפון

זהו המערכון שגורם לכל זה לקרות … ו 32KB אינו מספיק! אתה יכול להשתמש בו ללא שינוי, ובמקרה זה אעריך התייחסות לשמי, או לשנות אותו כרצונו ולשכוח ממני;-)

זהו התיעוד המפורט אודות המכונה.

סיכום פקודות וביטויים

: שורת הערות שאינה ניתנת להדפסה

ai: צרף הפרעה 0 (סיכה D2)

ar: קריאה אנלוגית

aw: 'כתיבה אנלוגית' לכל ארדואינו או יותר נכון pwm

ca: לכידה אנלוגית במערך

cl: מנקה את התצוגה cno: return *Prgm אינדקס מספר השורה

di: לחכות לסדרת פולסים ולמדוד משך ותזמון

dl: עיכוב

לעשות: בשילוב עם 'wh'

dr: קריאה דיגיטלית של כל סיכה

dw: כתוב דיגיטלי כל סיכה

ed: מצב עורך / תוכנית טעינה משורות מחשב / מספר מספר

el: פונקציית גישה EEPROM

סוף: הצהרת END של תוכנית

ensb: מסתיים תת שגרה

es: פונקציית גישה EEPROM

fl: מסנן ממוצע נע פשוט

fr: לולאה הבאה (fr-nx)

עבור: קפוץ לשלב התוכנית

gosb: המשך הביצוע לתת -שגרה

gt: ממתין לקלט משתמשים

אם: בדוק את המצב וקפץ לשלב

io: GPIO 1-9 סיביות

ld: תכנית טעינה/מיזוג של EEPROM

lp:: לולאה מבוקרת במקלדת במצב אינטראקטיבי

ls: מצב רשימה / שלח תוכנית למחשב שורה בכל פעם

מ ל: קבל זמן

מ מ: הצגת זיכרון פנוי

nos: ממיר מספר למחרוזת

nx: בשילוב עם 'fr'

pl: מערך עלילה cxx

pm: הגדר סיכות לכניסה או פלט

pr: מדפיס הודעה או ערך או תו מותאם אישית

rgc: פקודת העתקת טווח עבור מערכים

הפקודה rgs: set set range עבור מערכים

rn: הפעל את התוכנית ב- RAM

rs: איפוס רך

rx: קבל תו באמצעות RS232

si: קלט סידורי סינכרוני עם שעון וסיכות נתונים

sm: אפליקציית אוסצילוסקופ מיני sno: ממירה מחרוזת למספר

אז: פלט סידורי סינכרוני עם שעון וסיכות נתונים

תת: מצהיר תת שגרה

sv: שמור את התוכנית ב- EEPROM

tn: צפצוף צליל

tx: העברת מספר באמצעות RS232

wh: לולאת עשה בזמן בשימוש יחד עם 'עשה'

שלב 7: קליפ וידאו של מיני אפליקציות 'sm' פועל

בקר באתר שלי כדי לקרוא את כל הסיפור ולהוריד את כל הקבצים הרלוונטיים

www.sites.google.com/site/demeterart

מוּמלָץ: