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

טאבלט/טלפון כמסך Arduino, ואוססילוסקופ של 2 $: 4 שלבים
טאבלט/טלפון כמסך Arduino, ואוססילוסקופ של 2 $: 4 שלבים

וִידֵאוֹ: טאבלט/טלפון כמסך Arduino, ואוססילוסקופ של 2 $: 4 שלבים

וִידֵאוֹ: טאבלט/טלפון כמסך Arduino, ואוססילוסקופ של 2 $: 4 שלבים
וִידֵאוֹ: טכום | מסך אינטראקטיבי | תוכנת לוח חכם 2024, נוֹבֶמבֶּר
Anonim
טאבלט/טלפון כמסך ארדואינו, ואוסילוסקופ של 2 $
טאבלט/טלפון כמסך ארדואינו, ואוסילוסקופ של 2 $
טאבלט/טלפון כמסך ארדואינו, ואוסילוסקופ של 2 $
טאבלט/טלפון כמסך ארדואינו, ואוסילוסקופ של 2 $
טאבלט/טלפון כמסך ארדואינו, ואוסילוסקופ של 2 $
טאבלט/טלפון כמסך ארדואינו, ואוסילוסקופ של 2 $

אמנם אפשר לקנות מסך מגע LCD זול בגודל 320x240 לפרויקט מבוסס ארדואינו, אך זה יכול להיות נוח יותר-במיוחד לאב טיפוס ובדיקת סקיצה-להשתמש בטאבלט או בטלפון כמסך מגע וגם כמקור כוח עבור פּרוֹיֶקט. תוכל לקבל רזולוציה גבוהה בהרבה ותצוגה נאה יותר במכשיר האנדרואיד שלך (למשל, כל השורות שלך יהיו נגד כינוי).

המסך מבוסס אנדרואיד יכול להיות מחובר באמצעות USB Serial, Bluetooth או WiFi (למשל, ESP8266).

לשם כך כתבתי את VectorDisplay (מקור כאן), אפליקציית אנדרואיד המתאימה לספריית Arduino המיישמת קבוצת משנה גדולה של ממשק ה- GFX של Adafruit. אתה יכול לכתוב קוד שאפשר להעביר אותו בקלות לשימוש במסך עצמאי, או להמשיך להשתמש בסקיצה עם תצוגה מבוססת אנדרואיד. ואתה יכול לשלוח פקודות מאפליקציית אנדרואיד כדי לשלוט בסקיצה של Arduino. ספריית ה- Arduino אינה תלויה במידה רבה בלוח: היא צריכה לפעול עם כל לוח המספק אובייקט יציאה טורית USB בשם Serial או עם ESP8266 באמצעות WiFi או עם Bluetooth (חבר את הלוח הראשון שלך).

כהוכחה ליישום קונספט, העברתי את פרויקט STM32-O-Scope החשוף כדי להשתמש ב- VectorDisplay במקום התצוגה של ILI9341. התוצאה היא אוסצילוסקופ נייד (מחוספס בקצוות), המונע באמצעות סוללה 1.7MS/s, הדורש לא יותר מלוח STM32F103C בשווי 2 $ (באמצעות ליבת Arduino מבוססת libmaple), שני חוטים, כבל USB OTG ומכשיר אנדרואיד. כמובן שכל מה שאתה מקבל עם זה הוא טווח שבין 0 לכ -3.3 וולט.

שלב 1: התקן תוכנה

אני מניח שיש לך Arduino IDE שהוגדר ללוח האהוב עליך וכי ללוח המועדף עליך יש ממשק USB טורי.

עבור אל סקיצה | כלול ספרייה | נהל ספריות. הכנס את "VectorDisplay" לאזור החיפוש ולחץ על "התקן" ברגע שהוא נמצא.

הורד את ה- zip של הספרייה מכאן.

פתח את התיק לתיקייה בתוך תיקיית ה- Arduino/libraries שלך.

הורד את VectorDisplay מ- Google Play והתקן אותו במכשיר האנדרואיד שלך. ייתכן שיהיה עליך לאפשר התקנה ממקורות לא ידועים במכשיר ה- Android שלך. אפליקציית האנדרואיד משתמשת בספריית UsbSerial ונקודת המוצא הייתה אחת האפליקציות לדוגמה לספרייה.

שלב 2: סקיצת הדגמה

סקיצה להדגמה
סקיצה להדגמה
סקיצה להדגמה
סקיצה להדגמה
סקיצה להדגמה
סקיצה להדגמה
סקיצה להדגמה
סקיצה להדגמה

חבר את הלוח שלך (במצב העלאה במידת הצורך) למחשב שלך ועבור לקובץ | דוגמאות | תצוגת וקטור | מעגלים ב- IDE Arduino שלך. לחץ על כפתור ההעלאה (חץ ימינה).

הפעל את אפליקציית VectorDisplay במכשיר ה- Android שלך. חבר את הלוח למכשיר אנדרואיד באמצעות כבל USB OTG. (אם ללוח שלך יש יציאת מיקרו USB, וודא שהצד המארח של USB OTG עובר למכשיר אנדרואיד). כעת אתה אמור לקבל שאילתת הרשאה ל- VectorDisplay. לחץ על אישור.

אם הכל ילך כשורה, VectorDisplay יציג כעת שני לחצנים בצד שמאל של המסך: עיגול וצבע. לחיצה על מעגל מציירת עיגול אקראי על המסך וצבע משנה את הצבע לצבע אקראי לפני העיגול הבא.

אם תסתכל על שרטוט העיגולים ב- IDE, תראה שתצוגת הווקטור הסדרתי מוכרזת עם:

תצוגת SerialDisplayClass;

ולאחר מכן אתחל בהתקנה () עם:

Display.begin ();

לאחר מכן מתבקשים לחצני פקודה באמצעות Display.addButton (). ואז לולאה () קוראת Display.readMessage () כדי לחפש פקודות שנשלחות באמצעות לחצני הפקודה.

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

שלב 3: API

ה- API בספרייה נמצא בקובץ VectorDisplay.h. תחילה עליך לאתחל אובייקט תצוגה. לשימוש ב- USB, בצע זאת באמצעות:

תצוגת SerialDisplayClass;

אתחל את החיבור עם Display.begin ().

ישנן שתי קבוצות שיטות זמינות באובייקט SerialDisplayClass: ערכה אחת משתמשת בצבע 32 סיביות (כולל אלפא) ופקודות שהן די קרובות לפרוטוקול הטורי USB בו האפליקציה VectorDisplay שלי משתמשת, והערכה השנייה היא קבוצת משנה של התקן שיטות ספריית GFX של Adafruit, באמצעות צבע של 16 סיביות. לרוב ניתן לערבב באופן חופשי את שתי קבוצות הפקודות, למעט שאם אתה משתמש בשיטות תואמות Adafruit, עליך להשתמש בפקודות הצבע של 16 סיביות ששמותיהן מסתיימים עם 565 במקום אלה של 32 סיביות.

אתה יכול להגדיר את מערכת הקואורדינטות באמצעות Display.coordinates (רוחב, גובה). ברירת המחדל היא רוחב = 240 וגובה = 320. אם אתה רוצה לחקות תצוגה עם פיקסלים לא מרובעים, תוכל להשתמש Display.pixelAspectRatio (יחס).

כמה מהשיטות, כולל pixelAspectRatio (), לוקחות ארגומנט FixedPoint32. זהו מספר שלם של 32 סיביות המייצג מספר נקודה צפה, כאשר 65536 מייצג 1.0. כדי להמיר מספר נקודה צפה x ל- FixedPoint32, בצע: (FixedPoint32) (65536. * X) (או רק TO_FP32 (x)).

בנוסף ליכולת לשלוח פקודות מכפתורי Android, אירועי מגע במסך נשלחים גם ל- MCU.

לשימוש ב- WiFi, עיין בדוגמה circels_esp8266. יהיה עליך ללחוץ על כפתור ה- USB באפליקציה כדי לעבור למצב WiFi.

עבור Bluetooth, אתה אמור להיות מסוגל לבצע:

תצוגת SerialDisplayClass (MyBluetoothSerial);

… MyBluetoothSerial.begin (115200); Display.begin ();

ולאחר מכן המשך בדיוק כמו במקרה הטורי USB, כאשר MyBluetoothSerial הוא כל אובייקט Stream (למשל, Serial2) המחובר למתאם ה- Bluetooth שלך.

שלב 4: אוסצילוסקופ של 2 $

אוסצילוסקופ של 2 דולר
אוסצילוסקופ של 2 דולר
אוסצילוסקופ של 2 דולר
אוסצילוסקופ של 2 דולר
אוסצילוסקופ של 2 $
אוסצילוסקופ של 2 $

עבור האוסילוסקופ המהיר והמלוכלך, תזדקק ללוח STM32F103C8 כדור כחול או שחור (קל יותר להתמודד איתו), אותו תוכל להשיג ב- Aliexpress בפחות מ -2 $. אני מתאר כיצד להכין את הלוח לשימוש עם סביבת Arduino עבורו ולהתקין כאן סקיצות.

הורד סקיצה זו על הלוח, המהווה גרסה שונה של מערכון STM32-O-Scope של פינגמנקפנגווין. ערוך את השורה #define BOARD_LED כך שיתאים ללוח שלך. אני משתמש בכדור שחור שהנורית שלו היא PB12. הכדורים הכחולים (וכמה כדורים שחורים בעלי אותו pinout כמו הגלולה הכחולה) כוללים נורית PC13.

חבר חוט אחד-בדיקה קרקעית-לקרקע הלוח וחוט אחר לסיכת B0 של הלוח. חבר את הלוח למכשיר אנדרואיד עם הפעלת VectorDisplay, ויש לך אוסצילוסקופ נייד המונע באמצעות סוללות.

בתמונה יש לי את האוסילוסקופ מחובר לפוטו טרנזיסטור. העקוב על המסך הוא משלט רחוק אינפרא אדום לטלוויזיה.

מוּמלָץ: