תוכן עניינים:
וִידֵאוֹ: מחשבון מסך מגע Arduino TFT LCD: 3 שלבים
2024 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2024-01-30 09:14
היי חבר'ה במדריך זה נלמד כיצד להכין מחשבון באמצעות Arduino Uno עם מסך מגע TFT LCD בגודל 3.5 אינץ '. אז נכתוב קוד ונעלה אותו ל- arduino אשר יציג את ממשק המחשבון על הצג וייקח פונקציונליות מגע ו לתת את הפלט של ביטויים מתמטיים בסיסיים.
שלב 1: דברים שאתה צריך
לפרויקט זה תזדקק לדברים הבאים: 3.5 אינץ 'TFT LCD DISPLAYARDUINO UNO
שלב 2: התקנת ספריית תצוגת TFT ב- Arduino IDE
אנו משתמשים בספריית SPFD5408:
כדי לגרום לקוד המחשבון הארדואיני הזה לעבוד. זוהי ספרייה שונה של Adafruit והיא יכולה לעבוד בצורה חלקה עם מודול TFT LCD שלנו. חשוב לך מאוד להתקין את הספרייה הזו ב- Arduino IDE שלך או בתוכנית זו כדי להרכיב ללא כל שגיאה. כדי להתקין את הספרייה הזו, אתה יכול פשוט ללחוץ על הקישור למעלה שיוביל אותך לדף Github. לחץ על שיבוט או הורד ובחר "הורד ZIP". קובץ zip יורד. כעת, פתח את Arduino IDE ובחר Sketch -> Include Librarey -> Add. ZIP. חלון דפדפן יפתח נווט אל קובץ ה- ZIP ולחץ על "אישור". עליך לשים לב ל"ספרייה שנוספה לספריות שלך "בפינה השמאלית התחתונה של ארדואינו.
שלב 3: העלה את קוד המחשבון
לאחר התקנת הספרייה חבר את התצוגה ל- Arduino והעתק את הקוד הבא והעלה אותו ל- Arduino. ספרייה#כוללת "SPFD5408_TouchScreen.h"/*_ סוף הספריות _*//*_ הגדר סיכות LCD (הקצתי את ערכי ברירת המחדל) _*/#הגדר YP A1 // חייב להיות סיכה אנלוגית, השתמש בסימון "An"!# הגדר XM A2 // חייב להיות סיכה אנלוגית, השתמש בסימון "An"! #define YM 7 // יכול להיות סיכה דיגיטלית#הגדר XP 6 // יכול להיות סיכה דיגיטלית#הגדר LCD_CS A3#הגדר LCD_CD A2#הגדר LCD_WR A1#הגדר LCD_RD A0#הגדר LCD_RESET A4/*_ סוף ההגדרות _*//*_ הקצה שמות לצבעים ולחץ _*/#הגדר לבן 0x0000 // שחור-> לבן#הגדר צהוב 0x001F // כחול-> צהוב#הגדר CYAN 0xF800 // אדום-> ציאן#מגדיר ורוד 0x07E0 // ירוק-> ורוד#מגדיר אדום 0x07FF // ציאן-> אדום#מגדיר ירוק 0xF81F // ורוד-> ירוק#מגדיר כחול 0xFFE0 // צהוב- > כחול#הגדר שחור 0xFFFF // לבן-> שחור#הגדר MINPRESSURE 10#הגדר MAXPRESSURE 1000/*_ מוקצה _*//*_ כיול TFT LCD _*/#הגדר TS_MINX 125#הגדר TS_MINY 85#הגדר TS_MAXX 965#הגדר TS_MAXY 905/* _ סוף כיול _*/מסך מגע ts = מסך מגע (XP, YP, XM, YM, 300); // 300 היא הרגישותAdafruit_TFTLCD tft (LCD_CS, LCD_CD, LCD_WR, LCD_RD, LCD_RESET); // התחל תקשורת עם סמל LCDString [4] [4] = {{"7", "8", "9", "/"}, {"4", "5", "6", "*"}, {"1", "2", "3", "-"}, {"C", "0", "=", "+"}}; int X, Y; מספר 1 ארוך, מספר 2, מספר; פעולת צ'ארה; תוצאה בוליאנית = false; הגדרת void () {Serial.begin (9600); // השתמש במסך טורי לניפוי באגים של tft.reset (); // איפוס תמיד בהתחלה tft.begin (0x9341); // ה- LCD שלי משתמש ב- LIL9341 מנהל התקן ממשק IC tft.setRotation (2); // הרגע הרמתי כך ששקע החשמל פונה כלפי מעלה - אופציונלי tft.fillScreen (WHITE); IntroScreen (); draw_BoxNButtons (); } לולאת חלל () {TSPoint p = waitTouch (); X = p.y; Y = p.x; // Serial.print (X); Serial.print (','); Serial.println (Y); // + "" + Y); DetectButtons (); if (result == true) CalculateResult (); DisplayResult (); עיכוב (300);} TSPoint waitTouch () {TSPoint p; לעשות {p = ts.getPoint (); pinMode (XM, OUTPUT); pinMode (YP, OUTPUT); } while ((p.z MAXPRESSURE)); p.x = מפה (p.x, TS_MINX, TS_MAXX, 0, 320); p.y = map (p.y, TS_MINY, TS_MAXY, 0, 240);; החזר p;} void DetectButtons () {if (X0) // איתור לחצנים בעמודה 1 {if (Y> 0 && Y <85) // אם לחצן ביטול נלחץ {Serial.println ("לחצן ביטול"); מספר = מספר 1 = מספר 2 = 0; result = false;} אם (Y> 85 && Y <140) // אם לחצו על לחצן 1 {Serial.println ("לחצן 1"); אם (מספר == 0) מספר = 1; אחרת מספר = (מספר*10) + 1; // לחצו פעמיים} אם (Y> 140 && Y <192) // אם לחצו על לחצן 4 {Serial.println ("לחצן 4"); אם (מספר == 0) מספר = 4; אחרת מספר = (מספר*10) + 4; // לחצו פעמיים} אם (Y> 192 && Y <245) // אם לחצו על לחצן 7 {Serial.println ("לחצן 7"); אם (מספר == 0) מספר = 7; אחרת מספר = (מספר*10) + 7; // לחצו פעמיים}} if (X50) // איתור לחצנים בעמודה 2 {if (Y> 0 && Y <85) {Serial.println ("לחצן 0"); // כפתור 0 נלחץ אם (מספר == 0) מספר = 0; אחרת מספר = (מספר*10) + 0; // לחצו פעמיים} if (Y> 85 && Y <140) {Serial.println ("לחצן 2"); אם (מספר == 0) מספר = 2; אחרת מספר = (מספר*10) + 2; // לחצו פעמיים} if (Y> 140 && Y <192) {Serial.println ("לחצן 5"); אם (מספר == 0) מספר = 5; אחרת מספר = (מספר*10) + 5; // לחצו twic} if (Y> 192 && Y <245) {Serial.println ("כפתור 8"); אם (מספר == 0) מספר = 8; אחרת מספר = (מספר*10) + 8; // לחצו twic}} if (X105) // איתור לחצנים בעמודה 3 {if (Y> 0 && Y <85) {Serial.println ("לחצן שווה"); Num2 = מספר; תוצאה = אמת; } אם (Y> 85 && Y <140) {Serial.println ("כפתור 3"); אם (מספר == 0) מספר = 3; אחרת מספר = (מספר*10) + 3; // לחצו פעמיים} if (Y> 140 && Y <192) {Serial.println ("לחצן 6"); אם (מספר == 0) מספר = 6; אחרת מספר = (מספר*10) + 6; // לחצו פעמיים} if (Y> 192 && Y <245) {Serial.println ("לחצן 9"); אם (מספר == 0) מספר = 9; אחרת מספר = (מספר*10) + 9; // לחצו פעמיים}} אם (X165) // זיהוי לחצנים בעמודה 3 {Num1 = Number; מספר = 0; tft.setCursor (200, 20); tft.setTextColor (אדום); if (Y> 0 && Y <85) {Serial.println ("תוספת"); פעולה = 1; tft.println ('+');} אם (Y> 85 && Y <140) {Serial.println ("חיסור"); פעולה = 2; tft.println ('-');} if (Y> 140 && Y <192) {Serial.println ("כפל"); פעולה = 3; tft.println ('*');} if (Y> 192 && Y <245) {Serial.println ("Devesion"); פעולה = 4; tft.println ('/');} עיכוב (300); }} void CalculateResult () {if (action == 1) Number = Num1+Num2; אם (פעולה == 2) מספר = Num1-Num2; אם (פעולה == 3) מספר = מספר 1*מספר 2; אם (פעולה == 4) מספר = Num1/Num2; } void DisplayResult () {tft.fillRect (0, 0, 240, 80, CYAN); // תיבת תוצאות נקה tft.setCursor (10, 20); tft.setTextSize (4); tft.setTextColor (שחור); tft.println (מספר); // עדכן ערך חדש} voro IntroScreen () {tft.setCursor (55, 120); tft.setTextSize (3); tft.setTextColor (אדום); tft.println ("ARDUINO"); tft.setCursor (30, 160); tft.println ("מחשבון"); tft.setCursor (30, 220); tft.setTextSize (2); tft.setTextColor (כחול); tft.println ("-Circut Digest"); עיכוב (1800);} void draw_BoxNButtons () {// צייר את תיבת התוצאות tft.fillRect (0, 0, 240, 80, CYAN); // צייר את העמודה הראשונה tft.fillRect (0, 260, 60, 60, אדום); tft.fillRect (0, 200, 60, 60, שחור); tft.fillRect (0, 140, 60, 60, שחור); tft.fillRect (0, 80, 60, 60, שחור); // צייר עמודה שלישית tft.fillRect (120, 260, 60, 60, ירוק); tft.fillRect (120, 200, 60, 60, שחור); tft.fillRect (120, 140, 60, 60, שחור); tft.fillRect (120, 80, 60, 60, שחור); // צייר טור שני וארבע עבור (int b = 260; b> = 80; b- = 60) {tft.fillRect (180, b, 60, 60, BLUE); tft.fillRect (60, b, 60, 60, BLACK);} // צייר קווים אופקיים עבור (int h = 80; h <= 320; h+= 60) tft.drawFastHLine (0, h, 240, WHITE); // צייר קווים אנכיים עבור (int v = 0; v <= 240; v+= 60) tft.drawFastVLine (v, 80, 240, WHITE); // הצג סימני לוח מקשים עבור (int j = 0; j <4; j ++) {for (int i = 0; i <4; i ++) {tft.setCursor (22+(60*i), 100+(60* י)); tft.setTextSize (3); tft.setTextColor (לבן); tft.println (סמל [j] ); }}} לאחר העלאת הקוד תוכל לראות את המחשבון פועל בתצוגה שלך כשלי ועכשיו תוכל לבצע חישובי מתמטיקה בסיסיים בנושא. אז תהנה להכין מחשבון משלך עם Arduino UNO.
מוּמלָץ:
מחשבון מסך מגע Arduino: 7 שלבים
מחשבון מסך מגע Arduino: שלום! זהו פרויקט לייצור מחשבון מסך מגע באמצעות Arduino Uno ומגן TFT LCD. המצאתי את הרעיון לשיעור התכנות שלי בחינוך ביתי, והניסיון בבניית הפרויקט הזה היה מעניין מאוד. מחשבון זה יכול
ציפור פלאפי ארדואינו - Arduino 2.4 אינץ 'TFT מסך מגע SPFD5408 פרויקט משחק ציפורים: 3 שלבים
ציפור פלופי ארדואינו | Arduino 2.4 אינץ 'TFT מסך מגע SPFD5408 פרוייקט משחקי ציפורים: פלאפי בירד היה משחק פופולרי מדי שם כמה שנים והרבה אנשים יצרו אותו בצורה משלהם וכך גם אני, יצרתי את הגרסה שלי של ציפור פלאפי עם ארדואינו ו -2.4 TFT הזול מסך מגע SPFD5408, אז בואו נתחיל
BluBerriSix - מסך מגע TFT / Arduino: 12 שלבים (עם תמונות)
BluBerriSix - מסך מגע TFT / Arduino: 2019 הוא יום השנה ה -20 ל- RIM Blackberry 850! ההמצאה הקנדית הקטנה הזו שינתה את הדרך שבה העולם מתקשר. היא חלפה מזמן, אך מורשתה ממשיכה! במדריך זה תלמד כיצד להשתמש ב- MCUfriend.com 2.4 " TFT dis
נעילת דלת מסך מגע Arduino TFT: 5 שלבים
מנעול דלתות מסך מגע Arduino TFT: זהו ההוראה הראשונה שלי. פרויקט זה משתמש בארדואינו וב- 2.8 " מסך מגע TFT עם שרטוט סיסמה להפעלת ממסר ששובר את המעגל לדלת נעילה מגנטית. ברקע, מנעול ה- RFID על דלת בעבודה נשבר במקום לחבר מחדש את
Arduino Uno: הנפשת מפות סיביות במגן תצוגת מסך מגע ILI9341 TFT עם Visuino: 12 שלבים (עם תמונות)
Arduino Uno: הנפשת מפות סיביות במגני תצוגת מסך מגע ILI9341 TFT עם Visuino: מגיני תצוגה מבוססי TFT מבוססי ILI9341 הם מגיני תצוגה בעלות נמוכה מאוד עבור Arduino. ל- Visuino יש תמיכה בהם לא מעט זמן, אך מעולם לא הייתה לי הזדמנות לכתוב מדריך כיצד להשתמש בהם. לאחרונה אולם מעטים שאלו