קטגוריות: מעגלי מיקרו-בקר
מספר צפיות: 6809
הערות לכתבה: 0
בקרי מיקרו ניתנים לתכנות ב- JavaScript: איזה מהם לבחור, תכונות ויכולות
בארצנו, לאחר בערך 2010, התחביב של חובבי הרדיו קיבל רוח שנייה עם כניסת היכולת לתכנת בקרי מיקרו בשפות תכנות ברמה גבוהה, רחוקים מברזל. פרויקט ההמונים הראשון היה משפחת מועצת ארדואינו. בחנו שוב ושוב את בקרי המיקרו הללו במאמרים, אך היום נדבר על בקרי מיקרו שמתוכנתים ב- JavaScript. כן! אותה שפה ששימשה בעיקר בעת כתיבת דפי WEB.

היקף או האם בכלל יש בקרי מיקרו כאלה?
אם ניקח בחשבון מנקודת המבט של האלקטרוניקה במכשירים אותם נשקול להלן, משתמשים בבקרי מיקרו רגילים. ההבדל בין המוצרים מהיצרן הוא רק שיש להם תוכנית מטעינה המותקנת מראש, אם כי תקראו לזה מה שאתם רוצים, שמאפשרת לכם לבצע את קוד התוכנית שהורד לכם, ובמקרים מסוימים, לתקשר עם המחשב באמצעות USB, אם הוא לא מיושם בחומרה.
בשביל מה מיועדים מיקרו-בקרים ל- javascript ולשפות אחרות שאינן מסורתיות? יש ויכוחים בקרב חובבים ואנשי מקצוע בפיתוח האלקטרוניקה בפורומים ייעודיים, בהם חלק מהללים פרויקטים כמו "ארדואינו", בעוד שאחרים משפילים ומלעגים אותם בכל דרך אפשרית לפשטות ומופשטות של היזם ממרבית הנושאים עם ברזל.
חשוב: בחלק זה של המאמר אנו אומרים: "Arduino", מכיוון שהוא הפך לנקודת המוצא של מרבית האוהדים לעצב מכשירים אלקטרוניים.
ניתן לתכנת arduins ב- C. אך האם זה הכרחי? בואו נסתכל מדוע ברוב המקרים אין צורך במהירות התגובה של בקרי מיקרו. עובדי ארדואינו לרוב אוהבים להרכיב בקרים להשקיה אוטומטית והכללת תאורה כדי "להאיר" צמחים. מכשיר משולב כזה יהיה עזר מצוין למי שאוהב לגדל משהו בדירות או בחממות.
אבל איזה מהירות של התקן בקרה דרושה כאן? לפני 15-20 שנה איש לא ישתמש בזה כאן בקר מיקרו - מעצב חובב היה מנהל בהצלחה זוג מגברי תפעול או אלמנטים לוגיים. אבל אם נדבר על התאמתם של בקרי המיקרו הנדונים לפרויקטים אלה, אז הנה זה אדיש לחלוטין אחרי כמה אלפיות השנייה התאורה האחורית נדלקת או שהאדמה מתחילה להשקות את המים.

הפרויקט הפופולרי הבא הוא תחנת מזג האוויר הביתית, ומתברר שלמטרות כאלה היכולות הבסיסיות של arduins מספיקות בכדי לקרוא מידע מחיישנים ולהציג אותם בתצוגה מסנתזת תווים.
בדוגמאות ניהול רצועת LED RGB נוריות נוריות רגילות או חכמות עם שליטת "פיקסל אחר פיקסל" (דוגמה לקלטת SMART כזו וסימון שלה אתה רואה בתמונה למטה) מספקות גם מספיק משאבים.

אבל איפה אתה צריך מהירות ואינך מתאים לשימוש בשפות תכנות פשוטות יותר כמו Scratch או javascript? הכל פשוט מאוד:
-
במעגלי דיוק;
-
באזעקות ומערכות אבטחה;
-
במכשירי מדידה בעלי דיוק גבוה עם הצורך לקחת במהירות נתונים מה- ADC, כולל עבור אוסצילוסקופים רגילים;
-
במכשירים עם דרישה לעבודה אוטונומית לטווח הארוך במצב שינה;
-
במקרים בהם עליכם "לדחוף" כמה שיותר פונקציות וקוד למיקרו-בקר, אך זו לא הפכה למשימה דחופה מאוד לאחרונה בקשר להפחתת העלות של מרבית המכשירים בשוק.
ברוב המשימות הללו, אבן הנגף היא מהירות וזיכרון.לקבלת תוצאות מיטביות, במקרה זה סביר יותר להשתמש אפילו לא ב- C / C ++, אלא באסמבלר (ASM). אכן, אם אתה מכוון לפרויקטים מסוג זה, פירוש הדבר שיש לך ידע מסוים, מה שאומר שאין צורך בכך.
המסקנה?
יש צורך במיקרו-בקרים עם שפות פשוטות כאשר אין דרישות קפדניות כגון מהירות או דיוק מדידה, אך גם במצבים מסוימים הם יספקו דיוק למכשירים שאינם מיוחדים המיועדים לשימוש חובבני.
אספרוינו - מיקרו-בקר חזק ושפת ג'אווה סקריפט פשוטה
פלטפורמת Espruino היא קבוצה של תוכנה וחומרה לתכנות בקרי מיקרו בשפת javascript, היא כוללת שלושה אלמנטים:
1. קושחה למיקרו-בקר עם מתורגמן לשפת JS.
2. סביבת פיתוח עבור ה- Espruino Web IDE.
3. לוח עם בקר מיקרו עם הקושחה עצמה לעבודה ישירה עם אספרוינו.

הרעיון פותח ויושם על ידי גורדון וויליאמס בשנת 2013, והוא גייס כספים עבורו באמצעות פלטפורמת המימון הקהל (Kickstarter). למעשה, תמצית הפיתוח הייתה פיתוח קושחת אספרוינו (מנוע) להעמסתו למיקרו-בקרים. הוא משמש בעיקר במיקרו-בקרים ממשפחת STM32, עם ארכיטקטורת ARM-cortex. התקנים נוחים יותר להפעלה, נשקול בהמשך.

כדי לכתוב תוכניות למיקרו-בקר ב- javascript, עליכם להתקין את ה- Espruino Web IDE. זוהי תוכנית או סיומת לדפדפן האינטרנט הפופולרי של Google Chrome שמתקין בלחיצה אחת בלבד.
לאחר לחיצה על כפתור "התקן" בתפריט "שירותים", יישום יישום ותוכלו להיכנס לתפריט זה על ידי הקלדת שורת הכתובת: chrome: // apps /
כשאתה לוחץ על הסמל עם כוס קפה, סביבת הפיתוח נפתחת, דבר שלא ניתן להבחין בדפדפן, אלא בחלון נפרד.
סביבה זו מעניינת גם לילדים וגם למשתמשים מתחילים, מכיוון שתוכלו להזין את הקוד באופן ידני או להשתמש בעורך הגרפי, המבוסס על שפת התכנות Scratch. לשם כך, לחץ על הסמל אליו מצביע החץ.

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

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

מפרט של מכשיר זה:
-
54X41 מ"מ (חצי כרטיס אשראי);
-
STM32F103RCT6 מעבד 32 סיביות 72MHz ARM Cortex M3
-
פלאש 256KB, זיכרון RAM של 48KB;
-
יציאת מיקרו USB
-
טווח מתח כניסה בין 3.6 ל 15 וולט;
-
מחבר סוללה (JST PHR-2 2 Pin);
-
חריץ כרטיס SD מובנה;
-
שלושה נוריות לד (ירוק וכחול אדום);
-
פלטפורמות להתקנת מודול Bluetooth-HC;
-
המרחק בין המוקשים - 2.54 מ"מ 0.1 ";
-
44 סיכות GPIO, מתוכן 26 PWM (PWM), 16 ADC (ADC), 3 USARTs, 2 SPI, 2 I2C ו- 2 DAC (DAC);
-
ניתן להשתמש בשטח בלוח לחיבור מספר מכשירים, כגון מודולי Wi-Fi, סרוו, הניתנים להרחבה ל 14 יציאות עם זרם של עד 500 mA.

מראה הלוח והחלוקה המותנית של צמתים לאזורים
בעיני רבים, הלוח עשוי להיראות לא מושך ולא שלם, אך זו הייתה רק האפשרות הראשונה שלו, ואז הם נראים מוכרים ומתקדמים יותר. Puck.JS הוא לוח מיניאטורי במקרה, יש לו על גבי Bluetooth ומשדר אינפרא אדום.

על פי מידע מהאתר הרשמי, המפרט הטכני והתכונות שלו הם כדלקמן:
-
אנרגיה נמוכה בלוטות ';
-
מתורגמן JavaScript של Espruino שהותקן מראש;
-
לב הלוח הוא nRF52832 SoC - 64 מגה הרץ ARM Cortex M4, 64 קילוגרם זיכרון RAM, 512kB פלאש;
-
יציאות GPIO 8 x 0.1 אינץ '(כולל PWM (PWM), SPI, I2C, UART, קלט אנלוגי);
-
9 x יציאות SMD GPIO (כולל PWM, SPI, I2C, UART);
-
מכונת כביסה לדיור עשויה מפלסטיק ABS;
-
כיסוי סיליקון עם מפתח;
-
מגנטומטר MAG3110 - מד שדה מגנטי בעל שלושה צירים;
-
משדר IR
-
מדחום, חיישן אור ורמת הסוללה;
-
שלושה נוריות לד (אדום, ירוק וכחול);
-
ניתן לתכנות באמצעות תג JS NFC.
-
סיכות יכולות לתפוס מגע לפי יכולת (עקרון הפעולה של מסכי מגע של סמארטפונים);
-
משקל 14 גרם;
-
גדלים של מארז הפלסטיק: קוטר 36 מ"מ, עובי - 12.5 מ"מ;
-
מידות הלוח: קוטר 29 מ"מ, עובי 9 מ"מ.
הפגנת עבודה:
הלוח הבא הוא Wi-Fi של אספרוינו, כפי שהשם מרמז, התכונה שלו היא מודול אלחוטי מובנה עבור Wi-Fi.

המאפיינים הטכניים שלו:
-
מידות הלוח: 30X23 מ"מ;
-
ללוח מחבר מיקרו USB;
-
21 GPIO: 8 כניסות אנלוגיות, 20 PWM, יציאה טורית 1, 3 SPI, 3 I2C;
-
ללוח 3 נוריות LED, 2 מהן ניתנות לתכנות על ידי המשתמש, ו- 1 מציג פעילות Wi-Fi;
-
היציאות תואמות לארדואינו מבחינת מתח ותומכות בסמל 5 וולט;
-
כפתור 1;
-
בנוי על בקר מיקרו STM32F411CEU6 32-bit 100MHz ARM Cortex M4 מעבד;
-
זיכרון: פלאש 512kb, זיכרון RAM של 128kb;
-
תקשורת Wi-Fi עם ESP8266 (802.11 b / g / n);
-
RTC (שעון בזמן אמת עם גנרטור חיצוני).
-
על הלוח מותקן מייצב 3.3 וולט עם זרם של עד 250 מיליאמפר, מתח אספקה של 3.5 עד 5 וולט תומך.
-
הצריכה הנוכחית במצב שינה היא עד 0.05 מיליאמפר, המאפשרת לעבוד 2.5 שנים על סוללה של 2500 מיליאמפר / שעה (אם כי מדובר בשיווק רב יותר, אך סביר יותר שהמצבר עצמו יפרוק מהר יותר).

הפגנת מועצה:
Espruino Pico - בקר מיקרו ל- javascript בפורמט מקל USB
נשקול את זה בקטע נפרד, מכיוון שהוא נפוץ בעיקר ברוסיה ובעולם הקרוב לחו"ל, אולי הרבה בזכות חברת אמפרקה. הלוח נוח להכשרה ויישום פרויקטים מוגמרים, לוח מיניאטורי המוחדר ישירות ליציאת ה- USB של המחשב לצורך תכנות.

מפרט:
-
מידות: 33x15 - תוך התחשבות בתקע ה- USB;
-
22 יציאות GPIO, כולל: 9 כניסות אנלוגיות, 21 PWM, 2 סידורי (יציאות טוריות), 3 SPI, 3 I2C;
-
סיכות GPIO תומכות ברמות אות 5 וולטות, המאפשרות לשלב את הלוח עם מגנים והתקנים ל arduino;
-
תקע ה- USB מסוג A הוא חלק מהלוח.
-
שני נוריות לד וכפתור לתכנות אחד
-
בנוי על STM32F401CDU6 32-bit 84MHz ARM Cortex M4 בקר מיקרו מעבד
-
זיכרון: פלאש 384kb, זיכרון RAM של 96kb
-
ווסת מתח של 3.3 וולט 250mA מולחמת על הלוח ומאפשרת להפעילו בין 3.5 ל 16 וולט.
-
במצב שינה, היא צורכת זרם של עד 0.05 מיליאמפר, והיצרן טוען כאן 2.5 שנות פעולה מסוללה אחת במהירות 2500mAh;
-
טרנזיסטור מובנה באפקט שדה לשליטה במעגלים בעלי זרם גבוה.
זה הלוח הקטן ביותר בתור. לאורך הקצוות שלה יציאות קלט / פלט. במקרה זה, שכבת המתכת קיימת הן על החורים עצמם והן לאורך קצה הלוח המודפס.

המגרש ליצירת קשר הוא סטנדרטי, זה מאפשר לך להלחם אליו קווי PLS סטנדרטיים (זה השם שהם נושאים).

סקירה מפורטת של לוח זה:
חנות מקוונת אמפרקה ושורת הלוחות שלה עם Javascript
תרצו או לא, אבל הפופולריזר הגדול ביותר של תכנות לא מסורתיות של בקרי מיקרו, במיוחד ב- javascript הוא אתר אמפרקה. יש להם ערוץ יוטיוב בו הם מלמדים להשתמש ולתכנת את המוצרים שלהם, וגם מראים את יישום הפרויקטים באמצעות קו לוחות משלהם של מיקרו-בקרים.
הקו הממותג של היצרן המקומי הוא ISKRA JS ששמה קורא את שם השפה המדוברת. המאפיינים הטכניים שלו:
-
בקר מיקרו: STM32F405RG (32-bit ARM Cortex M4);
-
תדר שעון: 168 מגהרץ;
-
זיכרון פלאש: 1024 kB;
-
SRAM: 192 kB;
-
מתח תפעולי מדורג: 3.3 וולט;
-
מתח כניסה מומלץ: 7–15 וולט או 3.6–12 וולט;
-
זרם מקסימלי מאוטובוס 5V: 1000 mA;
-
זרם מרבי מאוטובוס 3.3 וולט: 300 מיליאמפר (כולל ספק כוח מיקרו-בקר);
-
זרם מקסימאלי מפין או סיכה: 25 mA;
-
זרם כולל מקסימאלי מפינים או סיכות: 240 mA;
-
יציאות קלט / פלט למטרה כללית: 26;
-
יציאות עם תמיכה ב- PWM: 22;
-
יציאות ADC: 12 (12 סיביות);
-
יציאות עם DAC: 2 (12 סיביות);
-
ממשקי חומרה זמינים: 4 × UART / סידורי, 3 × I² C / TWI, 2 × SPI;
-
מידות: 69 × 53 מ"מ.

מבחינה מבנית, הלוח קרוב מאוד ל- Arduino Uno R3 - פירוש הדבר שתוכלו להשתמש בכרטיסי ההרחבה עבורו.אילו דברים מעניינים אנו רואים במפרט הטכני? בואו נשווה אותם עם כל הארדואינו החביב עליכם.

הם שונים מבחינת הזיכרון והיכולות, וכל אחד ימצא את היישום שלו. למרות שארדיאו עדיף ברוב המקרים, מכיוון שניתן לקנות אותו בכמה מאות רובל, וניצוץ - לא.
אמפרקה מוכרת גם מיקרו-בקרים ו- מחשבי מיקרו כמו פטל פי, כמו גם ערכות הדרכה לעבודה איתן. יש גם שורה של כרטיסי הרחבה עבור בקרי מיקרו, אלה מה שמכונים מודולי טרויקה. הם מיוצרים באותו צבע לבן כמו שאר מוצרי החברה.
כמו כל מגנים אחרים, מוצרים של אמפרקה כלולים בלוחות מעגלים מודפסים כיחידה הפונקציונאלית העיקרית - חיישן, מכשיר מיתוג, מאסטר או מפעיל והתקנים הנחוצים אליו. עשינו כבר סקירה גסה של מודולים טיפוסיים עבור Arduino - המגנים הפופולריים ביותר לארדואינו, כאן הכל באנלוגיה. באתר האינטרנט או בקהילה של אמפרקה תוכלו למצוא ספריות לשימוש במודולים עם Iskra JS או Arduino.
בין שלושת המודולים ישנם:
-
ג'ויסטיק
-
מקודד
-
מודול עם ממסר;
-
כרטיסי הרחבת נמל (מגן טרויקה);
-
מדי תאוצה וחיישני מיקום אחרים;
-
חיישני אור, קרבה, זרם, טמפרטורה, אולם, רעש, גז, אלכוהול ואחרים;
-
מקלטים לקריאת תגי NFC;
-
ציוד לניהול מנוע (גשרי H, נהגים) ועוד.
במכירה יש ערכה מעניינת למתחילים "IODO".
מילה נפרדת על פריט בודד בתצורה היא # הקבלן. אלה הם חלקים להרכבת הבתים והנשיאת חלקים מהמבנים שלך, הם מחוברים כמו מעצב של ילד ומאפשרים לך ליצור מערך יציב בדרך כלל עם אפשרות לנשיאה בטוחה, כמו גם פיתרון סוהר לשימוש יומיומי.

אגב, תוכלו להרכיב את ערכת האימונים שלכם, וחוברת ההדרכה מהערכה זמינה באתר הרשמי בצורה אלקטרונית וזמינה בחופשיות.
מסקנה
כדי לתכנת בקרי מיקרו ב- javascript, אתה רק צריך להתקין את המעטפת המתאימה במדגם שלך. עם זאת, לא לכל עותק יש קושחה מקבילה, עם זאת, ניתן למצוא מכשירים פופולריים בפורומים נושאיים. לדוגמה, במיקרו BBC Micro: bit bit, מתואר תהליך העבודה עם הסביבה בסרטון הבא, וההתקנה מבוצעת במספר צעדים ספורים.
האם יש צורך ב- JavaScript על בקרי מיקרו? בהחלט כן! עבור מרבית המשימות החובבניות, עשה זאת בעצמך לא זקוק לדיוק או למהירות התגובה, ולמספר משימות מקצועיות יכולות הפלטפורמות הללו מספיקות. גישה כזו לתכנות מאפשרת להתחיל לפתח מכשירים באופן מעשי מבלי ללמוד את המבנה והפקודות של המיקרו-בקר. אך בשיטת התכנות הקלאסית היה צורך לקחת בחשבון מספר דברים, כגון סוגים שונים של משתנים, כתובות זיכרון וכן הלאה.
ראה גם באתר elektrohomepro.com
: