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

מארגן שולחן עבודה עם LCD: 4 שלבים
מארגן שולחן עבודה עם LCD: 4 שלבים

וִידֵאוֹ: מארגן שולחן עבודה עם LCD: 4 שלבים

וִידֵאוֹ: מארגן שולחן עבודה עם LCD: 4 שלבים
וִידֵאוֹ: אל תיגע לבחורה באיפור בחייםםם !!!! don't do that !!! 2024, נוֹבֶמבֶּר
Anonim
Image
Image

** נערך **

לפרויקט HKU arduino החלטתי להכין מארגן שולחני הכולל מסך LCD המציג ציטוטים להשראה שיאספו אותך כשאתה מסובב את מד הקוטר שלך!

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

הדברים שתצטרך

  • *arduino uno
  • מד סיר
  • *חוטי כריתה מסוג זכר
  • *מודול LCD! עם קורא כרטיסי SD! (יש לי arduino tft LCD)
  • *כרטיס מיקרו אס די
  • *עץ (מיחזרתי מגירות מיני ישנות והשתמשתי בכמה חלקי עץ חלופיים, וודא שאתה יכול לפחות ליצור קופסה קטנה להסתיר בה את הארדואינו שלך!

שלב 1: הגדרת מד החום ב- Arduino

הגדרת מד הכדור על ארדואינו
הגדרת מד הכדור על ארדואינו

חבר את מד הסיר שלך כפי שמוצג בתמונה

כדי להתחיל את מד הסיר לעבודה

יהיה עליך להתחיל עם כמה משתנים בראש הסקיצה לפני ההתקנה:

קוד:

const int analogInPin = A0; // סיכת כניסה אנלוגית שאליה מחובר הפוטנציומטר

int sensorValue = 0; // ערך נקרא מהסיר int outputValue = 0; // פלט ערך ל- PWM (יציאה אנלוגית)

בתמונה 2 אני מראה כיצד מד המידה ממופה בלולאת החלל

קוד:

// קרא את האנלוגי בערך:

sensorValue = analogRead (analogInPin); // למפות אותו לטווח האנלוגי החוצה: outputValue = map (sensorValue, 0, 1023, 0, 255); String stuffToPrint = String (outputValue); // שנה את ערך החוצה האנלוגי:

stuffToPrint.toCharArray (תדפיס, 9); // טקסט סטטי myScreen.setTextSize (1);

Serial.print ("sensor ="); Serial.print (sensorValue); Serial.print ("\ t output ="); Serial.println (outputValue);

עיכוב (50);

זה ממפה את הנתונים האנלוגיים ממד הסיר לטווח של 0 עד 255, נשתמש בטווח זה כדי לשלוט על מצגת ה- LCD שלנו

אם אתה זקוק לעזרה בהגדרת מד הסיר; השתמשתי בקוד מתוך הדרכה מועילה זו, הסיכות זהות לחלוטין ויעבדו עם הגדרת ה- LCD בשלבים הבאים.

www.toptechboy.com/arduino/lesson-11-arduin…

שלב 2: הגדרת ה- LCD

הגדרת ה- LCD
הגדרת ה- LCD

הגדר את הסיכות כמו בדוגמה למעלה.

כאשר נעשה כראוי המסך שלך יידלק בלבן.

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

אנו נשתמש באופן חלקי ב"ציור התמונה מכרטיס SD "בשלב הבא.

שלב 3: הגדרת מצגת השקופיות

הגדרת מצגת השקופיות
הגדרת מצגת השקופיות

כעת, לאחר שהגדרנו את מד הקוטר וה- LCD, נוכל להגדיר "מצגת שקופיות" באמצעות הערכים הממופים של מד הקוטר.

באמצעות הטווח של 0 עד 255 נוכל להצביע על טווח מסוים בו נוכל להפעיל את הארדואינו להציג תוכן כלשהו על ה- LCD.

דוגמה ראשונה כפי שמוצג בתמונה:

if (outputValue <51) {// range one if (rangeOne == true) {rangeTwo = true; myScreen.setRotation (90); myScreen.background (0, 0, 0); myScreen.stroke (255, 255, 255); myScreen.text ("שלום לך נפלא", 10, 50); myScreen.text ("סובב את הסיכה> אל", 10, 60); myScreen.text ("קבל עידוד.", 10, 70); rangeOne = false;

אם מד הסיר הופך לטווח נמוך מ -51, המסך עם תצוגה (במצב דיוקן = rotatio 90) מעט טקסט.

כדי להיות מסוגל להציג תמונה וודא שסיכת ה- CS CS שלך מוגדרת כהלכה, או שהארדואינו לא יצליח לאתחל את ה- SD (לכן הקפד לבדוק את החוטים שלך!)

אם אתה רוצה לבדוק את סיכות ה- LCD שלך, תוכל לעיין במדריך הרשמי בנושא "חיבור המסך"

הגדרתי את סיכת ה- CS CS שלי כ -4 עכשיו כי ערבבתי את החוטים שלי, למשל! - אני שמח לשתף אותו אופי קטן כי זה יחסוך לך הרבה זמן בחיפוש באינטרנט אחר השגיאה "נכשל אתחול". שאליו בכמה פורומים נאמר שהתיקון הוא שיהיה לך דגם מסוים של כרטיס SD. אז בדוק תחילה את החיווט לפני רכישת כרטיסי SD חדשים !!

שלב 4: דוגמה מלאה לקוד

#לִכלוֹל

#include // ספרייה ספציפית לחומרה #include

#הגדר SD_CS 4 #הגדר CS 10 #הגדר DC 9 #הגדר איפוס 8

const int analogInPin = A0; // סיכת כניסה אנלוגית שאליה מחובר הפוטנציומטר

int sensorValue = 0; // ערך נקרא מהסיר int outputValue = 0; // פלט ערך ל- PWM (החוצה אנלוגי) bool rangeOne = true; bool rangeTwo = true; bool rangeThree = true; bool rangeFour = true; bool rangeFive = true;

TFT myScreen = TFT (CS, DC, RESET);

תמונת PImage; תדפיס const char [9];

הגדרת void () {Serial.begin (9600); myScreen.begin (); // נסה לגשת לכרטיס SD Serial.print ("אתחול כרטיס SD …"); if (! SD.begin (SD_CS)) {Serial.println ("נכשל!"); לַחֲזוֹר; } Serial.println ("בסדר!");

// לאתחל ולנקות את מסך GLCD myScreen.begin (); myScreen.background (255, 255, 255);

} לולאת void () {// קרא את האנלוגי בערך: sensorValue = analogRead (analogInPin); // למפות אותו לטווח האנלוגי החוצה: outputValue = map (sensorValue, 0, 1023, 0, 255); String stuffToPrint = String (outputValue); // שנה את ערך החוצה האנלוגי:

stuffToPrint.toCharArray (תדפיס, 9); // טקסט סטטי myScreen.setTextSize (1);

Serial.print ("sensor ="); Serial.print (sensorValue); Serial.print ("\ t output ="); Serial.println (outputValue);

עיכוב (50);

if (outputValue ל- ", 10, 60); myScreen.text (" לקבל עידוד. ", 10, 70); rangeOne = false;}} if (outputValue> 52 && outputValue 102 && outputValue 154 && outputValue <205) { / /טווח ארבע אם (rangeFour == true) {rangeThree = true; rangeFive = true; myScreen.setRotation (90); myScreen.background (255, 255, 255); // נקה את תמונת המסך = myScreen.loadImage ("quote2.bmp "); // כתוב את התמונה על המסך myScreen.image (image, 0, 0); myScreen.stroke (255, 255, 255); myScreen.text (" אני כל כך גאה ", 10, 50); myScreen.text ("ממך!", 10, 60); rangeFour = false;}}

if (outputValue> 206 && outputValue

מוּמלָץ: