תוכן עניינים:
- שלב 1: חומרים
- שלב 2: חיבור לוח המקשים 4x4
- שלב 3: ספק כוח ללוח הלוח וחבר את ה- LCD
- שלב 4: חבר את החשמל והקרקע אל ה- LCD
- שלב 5: חיבור הפוטנציומטר
- שלב 6: חיבור ה- Arduino ל- LCD
- שלב 7: יישום קוד
- שלב 8: תוצאה
וִידֵאוֹ: תחרות TinkerCad מחשבון: 8 שלבים
2024 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2024-01-30 09:12
היי, אז לאחרונה בחנתי כיצד ליישם סוגים שונים של קוד במעגל. גיליתי שהכנת מחשבון תהיה דרך מצוינת ליישם "מארז" וצורות קוד אחרות שמצאתי מעניינות. בעבר הכנתי מחשבונים ישירות מהקוד, אבל הכנת מעגל עבורו נתנה לי עניין. במיוחד בזמן ההסגר הזה שבו אני נמצא במחשב שלי כמעט כל היום. הפרויקט נועד ליישם פעולות מתמטיות על מסך LCD.
שלב 1: חומרים
למעגל:
- LCD 16 x 2
- Arduino Uno R3
- לוח מקשים 4x4
- לוח לחם קטן
- פוטנציומטר (250 kΩ)
- התנגדות (1kΩ)
- x26 חוטי מגשר
שלב 2: חיבור לוח המקשים 4x4
חבר את 4 סיכות השורה בלוח המקשים 4x4 לסיכות Arduino 4-7, וחבר את 4 סיכות העמודה לסיכות Arduino 0-3.
שלב 3: ספק כוח ללוח הלוח וחבר את ה- LCD
השתמשתי במתח מתח של 5 ללוח הלחם. חיברתי את הכוח והטחון ללוח הלחם. ה- LCD מונח על לוח הלחם ומונח כך שכל הסיכות שלו מתחברות ללוח הלחם.
שלב 4: חבר את החשמל והקרקע אל ה- LCD
כדי לחבר את ה- LCD יהיו 3 סיכות קרקע. אחד יחובר כאשר הקרקע היא עצמה של ה- LCD, אחר יחובר לנורית ה- LCD, והאחרון יתחבר ל- RW. VCC של ה- LCD וה- LED יחייבו חיבור מתח. עם זאת הכוח עבור ה- LED ידרוש נגד המחובר במקרה זה השתמשתי בנגד 1kΩ.
שלב 5: חיבור הפוטנציומטר
חבר את הפוטנציומטר ללוח הלחם עם 3 עמודים בחינם. יהיו לו 3 סיכות, העמודה המכילה את סיכה 1 הטרמינל תזדקק לקרקע. העמודה המכילה את פין הטרמינל 2 תזדקק לחשמל שניתן לה. אז למגב יהיה חוט מגשר בעמודה המתחברת ל- VO של ה- LCD.
שלב 6: חיבור ה- 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: תוצאה
אני מקווה שכולכם נהנתם מההדרכה הזו. תודה שקראת!
סים.
מוּמלָץ:
מצלמה מודפסת בתלת מימד גימבל (תחרות טינקרד): 6 שלבים
Gimbal מצלמה מודפסת בתלת -ממד (תחרות טינקרד): שלום, זהו גימבל מצלמה שעיצבתי ב- Tinkercad. הג'מבל הראשי היה עשוי ידית הצנצנת הזו ומג'מבל / ג'יירו בעל חמישה טבעות שנדמה לי שאני לא יכול למצוא יותר. ניתן למצוא את עיצוב Tinkercad כאן. זה נועד לעבוד על סמכויות
רובוט ציור עם מגן Adafruit (לגרום לזה להעביר תחרות): 10 שלבים (עם תמונות)
רובוט ציור עם מגן Adafruit (עשה זאת לזוז בתחרות): שלום, שמי ג'ייקוב ואני גרים בבריטניה. בפרויקט זה אני הולך לבנות רובוט שצייר עבורך. *אני בטוח שרבים מכם רוצים לראות את זה אז אם אתם רוצים לדעת אנא דלגו ישר לשלב השני עד האחרון אך הקפידו לחזור לכאן כדי לראות
תחרות DIY VR- Basys3 תחרות FPGA-Digilent: 3 שלבים
הליכון VR DIY- תחרות Basys3 FPGA-Digilent: האם אתה רוצה לבנות הליכון VR שעליו תוכל להריץ את יישומי שולחן העבודה והמשחקים שלך? אז הגעת למקום הנכון! במשחקים רגילים אתה משתמש בעכבר ובמקלדת כדי לקיים אינטראקציה עם הסביבה. לכן עלינו לשלוח את
רובוט תחרות השתלטות מגדל VEX: 8 שלבים
רובוט תחרות השתלטות מגדל VEX: במדריך זה אראה לכם את היסודות של תחרות השתלטות מגדל Vex רובוטיקה יחד עם אופן בניית רובוט למשחק זה. אנא בדוק בכרטיסייה חומרים מתכלים. הערה: חלקי Vex EDR יקרים מאוד, אם אינך יכול להרשות לעצמך להוציא $
Fpga נשלט רובוט מנוף סרוו RC רובוט - תחרות Digilent: 3 שלבים
Fpga נשלט רובוט מנוע סרוו מנועי סרוו - תחרות Digilent: זרוע רובוט מנועי סרוו נשלטת על ידי FPGA מטרת הפרויקט היא ליצור מערכת ניתנת לתכנות שיכולה לבצע פעולות הלחמה על לוח פרפ. המערכת מבוססת על לוח הפיתוח של Digilent Basys3 והיא תוכל ללחם