← ArduinoJS Course​ — מחזור 3

מפגש 1 — פתיחת הקורס (2024-05-27)

טוען נגן…

תמלול

## מה נלמד בקורס

בריף מהיר על מה אנחנו הולכים ללמוד, ככה שיהיו לכם את הנושאים. חלק מוכר, יכול להיות חלק פחות מוכר. המטרה היא שאנחנו נלמד מושגי יסוד ומה שאנחנו מכנים הנדסת חשמל ומחשבים, שמאוד רלוונטי לעולם המייקרים ולעולם האלקטרוניקה.

יש לנו את כל ה... באמת מה זה Arduino ומעגלים חשמליים, למה Arduino הוא כזה הליל למייקרים. את הפרק של מה זה LEDs, resistors, coil ו-capacitors, שהם האבני בניין של מעגל חשמלי. אנחנו נעבור גם כמובן על מה זה מעגל בטור ומעגל במקביל, שכשאתם תחווטו פרויקטים, אתם תצטרכו לקחת בחשבון אם זה בטור או אם זה במקביל, כי יש לזה משמעויות פיזיקליות.

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

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

נעשה דאבל קליק על מה זה מיקרו-קונטרולר, CPU. בטוח שמעתם את המונח הזה, מה זה Central Processing Unit. ונצלול למה זה ATmega328, שזה המיקרו-בקר הספציפי של ה-Arduino.

Setting up a development environment - נשלים שוקי אם צריך, אנחנו נגיע לזה ונשלים לך את כל ההתקנות כדי שזה יהיה בטוח 100% יעבוד לך. ונדבר על Firmata ו-Firmata WiFi.

לאחר מכן, אתם תכירו את יואב. יואב הוא המרצה ל-JavaScript, שיעבור איתכם וילמד אתכם מהבסיס, שוב ימינה-שמאלה בהתאם להתקדמות ולצרכים שלכם, מה זה HTML, CSS, JavaScript. נבנה Front-End. המטרה של ה-Front-End הזה זה בסוף להיות ממשק המשתמש שהוא מה שיפעיל לנו את הרובוט.

לאחר מכן יש לנו את שכבת ה-Back-End, שנכון כנראה לשחר זה ה-core state. שוקי, אם אתה לא מבין, אז תעצור אותי ואני אחדד את זה. שכבת ה-Back זו השכבה שאחראית על הלוגיקה ועל האלגוריתמיקה, שהיא מפעילה לנו את הרובוט. אוקיי?

מה שהעירו לי, וזה מצחיק אותי אז אני לא מתקן את זה, שכתבתי פה ש-ArduinoJS זה Crowse, זה קללה, ולא קורס. אבל זה פה, אתה רואה, שכחתי פה u. התירוץ שלי שזה generated by AI, DALL-E עשה לי את זה. אתם מכירים את המודל DALL-E של OpenAI? אז הוא מג'נרט מאוד מאוד יפה תמונות, אבל האנגלית שלו לא שלוש יחידות. אז יצא כזה ש-JS זה Crowse, קללה. אז זה מצחיק, אז השארתי את זה וזה ככה יימשך עד ש... לא יודע, יהיו מודלים שידעו אנגלית.

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

איך עובדים עם מסמכים, לה לה לה. ובסוף יש לנו עוד הרצאה מאוד מעניינת, שאני חושב שהיא סופר קריטית, שהיא על Open Source, על מה זה Git, הטכנולוגיה של Git, שזאת טכנולוגיה שהיא פחות מוכרת לעולם המייקרים. למי שמפתח הרבה זמן אז Git זה באמת דבר מאוד בסיסי וחשוב.

Fun fact על Git: זה מי שהמציא את Linux. Linux האגדי, הוא גם המציא את Git, ומשניהם הוא לא נהיה עשיר, למרות שכל העולם משתמש בטכנולוגיות שלו, בגלל שזה Open Source ומאוד קשה לעשות כסף מ-Open Source. אבל הוא תרם את תרומתו למדע.

נציג לכם את ה-Final Project, ששוקי, קיבלתי הודעה שזה מחכה לך בתיבה.

- נכון, קיבלתי הודעה שזה הגיע, ואשתי אמרה היום: אסוף את זה.

אז כן, הייתי בטוח שזה יגיע מחר, זה הגיע יותר מהר ממה שציפיתי.

ו-GitHub. GitHub זה אם כל ה-repositories, זה בעצם תוכנה ששייכת ל-Microsoft, שבחוכמה רבה היא רכשה אותה. ומה השימוש הכי אדיר שהיא עושה בה עכשיו מעבר לגבות כסף על דברים בסיסיים שם? ה-CoPilot.

- ה-CoPilot.

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

- אתה יכול רגע להרחיב על ה-GitHub, מה זה עוד פעם?

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

אם אני רושם github.com, אז זה ייקח אותי לתוך התוכנה הזאתי, שהתוכנה הזאתי היא כמו Google Drive, רק אך ורק של קוד, של פרויקטים בקוד. לצורך הדוגמה... מה, סליחה?

- איזה שפה? זה חשוב איזה קוד? הקוד באיזה שפה?

זה לא חשוב באיזה שפה, זה מאינדקס לך, אתה יכול לראות, ראית? שזה כותב לי ומאתר לבד באיזה שפה. זה JavaScript, רוב העבודה שלי ב-JavaScript. אבל זה Python, פרויקט שכתבתי ב-Python. פה זה JavaScript, אתה רואה שזה כותב לי איזה שפה בצהוב? הכל זה Python. פה יש TypeScript, TypeScript זה וריאציה של JavaScript, שבעצם מה שהיא עושה היא יותר טובה למוצרים סופיים. זה ArduinoStudio, זה האפליקציה ש... אם אתה רוצה אפשר לחזור אליה, שפיתחנו בשביל הקהילה שלנו, שהיא להפעיל Arduino ללא שימוש בקוד בכלל, No code לגמרי. אז היא ב-TypeScript.

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

בסדר? זה ההבדל בין duck typing ל-TypeScript. Duck typing זו שפה של JavaScript שהיא לא עוברת קומפילציה, היא לא עוברת איזשהי וריפיקציה לפני שהיא רצה. אגב, גם Python וגם JavaScript מתנהגים ככה, הם רצים רצים רצים עד שיש בעיה. איפה שעובד סטנדרטי, C++ ב-Arduino, הוא לא יכול לצרוב את הקוד אם יש בו בעיה, הוא לא ירוץ לו בכלל. אפס לגמרי. זה ההבדל. בגלל זה JavaScript מאוד ידידותית למשתמש ומאוד נחמדה.

ככה נראה GitHub. אם אני עכשיו פותח איזשהו קוד לדוגמה, אז אני רואה את כל התיקיות. בתוך התיקיות אני ממש יכול לראות את הקוד שלי.

ואם אתם רוצים, אני יכול לספר לכם פה איזה משהו כזה של גיקים, שאם אתם מחליפים את ה-com ב-dev, עושים Enter, אז זה פותח לכם את ה-Visual Studio Code בגרסת ה-browser שלו. ומה שאפשר לראות ולשחק עם הקוד. זו פלטפורמה מאוד מאוד מאוד נוחה.

זה ממש ה-IDE של Microsoft, שאנחנו משתמשים בו כדי לתכנת JavaScript. שאם אני מחליף פה את ה-com ב-dev, אז אני יכול להשתמש בו כ-editor לכל דבר ועניין. צריך לראות, שאנחנו נלמד על זה, זה פקודות של Git, שאנחנו מושכים ומעדכנים כל פעם את הקוד משני המקורות. אם אנחנו עובדים בשני אדיטורים, אז צריך כל פעם לדאוג ששניהם מעודכנים. בסדר?

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

## פרויקט הגמר

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

יש לנו גישה לקוד C++, ואנחנו רוצים מעבר לזה שזה יעבוד ב-C++, שזה אובביוס, לפתח אותו בעזרת ArduinoJS. כלומר ליצור לו ממשק משתמש כלשהו, אם זה הפעלה ידנית של המנועים, אם זה לא יודע, לקרוא את החיישנים, קריאה אנלוגית ולהציג אותם במסך. וזה אומר גם ליצור את ה-Front-End וגם ליצור לוגיקה מבוססת JavaScript ב-Back.

כי C++ כבר יש לכם את הקוד מוכן. אז כדי שזה יהיה מעניין, ובגלל שאנחנו לומדים פה JavaScript ולחבר אותו ל-Arduino, המטרה היא להפעיל את זה בעזרת JavaScript.

בסדר? אתם יכולים להשתמש בקהילות, יש הרבה סטודנטים שכבר עשו את זה, להשתמש בכלי AI שיעזרו לכם לתרגם את הקוד, אבל המטרה בסוף זה להצליח להתכנס ל-JavaScript עם Front-End, מחובר לעוקב שמש, שעוברים עם פנס ועובד לנו כמו שהוא מראה פה.

זה יכול ממש להיות על הכיפאק. הרבה עשו את זה, והרבה גם לקחו את זה למקומות מופלאים. כמו התותח לייזר, מישהו פירק פה את השני סרוואים, הדפיס להם כזה כמו חביתוש, ושם ב-JavaScript משהו שמזהה את היד שלו. ברגע שהוא סוגר את היד זה לוגר, הוא מזיז את היד זה זז איתו שני סרוואים. הוא בנה מזה משחק ממש יפה.

עוד דוגמה שהבאתי לשחר, בגלל שצפצפתי לו במחשב ראיתי שיש לו Unity, אחד הסטודנטים בנה ממש תלת-ממד Snake, המשחק שהיה בטלפונים של פעם, ב-Nokia 3210. אז הוא בנה כזה ב-Unity או בעזרת גם כן כל מיני כלים של JavaScript של תלת-ממד, והוא מפעיל אותם בעזרת ממש פקדים פיזיים, בעזרת הפוטורזיסטורים במקום החצים במקלדת, הוא ממשק איתם בעולם האמיתי בעזרת סנסורים, שזה הרבה יותר מגניב לדעתי. מדהים.

## סקירה היסטורית של Arduino

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

עכשיו, מי שמכיר קצת את העולם של המה זה כולל כל האלקטרוניקה, כדי להצליח ולבנות כזה בורד לבד, יש פה המון המון המון מקצועות שמעורבים. הדבר הירוק הזה, או הכחול הזה, קוראים לו PCB. Printed Circuit Board. יש דיסציפלינה שלמה שקוראים לה Board Designer, שהוא יושב עם תוכנות כמו Altium Designer, מי שמכיר, ומתכנן אך ורק את הדבר הכחול הזה או הירוק הזה, איפה יהיו הרכיבים שלו, מי יתחבר למה. כל זה, מה שאתם רואים פה, קוראים לזה Routing, זה להעביר את החוטים, המוליכים, בין אחד לשני. זה דיסציפלינה אחת.

דיסציפלינה שנייה זה מה שצרוב פה על הזיכרון. יש מה שנקרא Software Embedded Engineer. מישהו שכותב את הקוד ומטמיע אותו על הדבר הזה.

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

מה שהם עשו, הם אמרו: בוא נעשה general purpose כזה, זה בורד, שיהיה one for all, שיהיה אוניברסלי, עם חלקים קיימים זולים, ופשוט נצליח להשתמש בו לכל מה שאנחנו רוצים: להדליק LEDs, לכבות LEDs, להפעיל סנסורים, לכבות סנסורים. וזה מה שיצא להם. בורד ששינה את העולם.

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

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

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

וככה העולם התחיל, וזה כולו לפני 19 שנה, כן? זה לא בעידן הקרח.

הוא נחשב המיקרו-בקר הכי נפוץ בעולם. לפי האתר הרשמי של ארדואינו, Arduino UNO בלבד, המקורי, נמכר 10,000 יחידות בשבוע. ואין יכולת לדעת כמה סינים לא מקוריים נמכרים, אבל אני מעריך שפי 100 או פי 1,000. כי זה פשוט בורד מצוין.

והם השלימו בספטמבר שנה שעברה סיבוב של 54 מיליון דולר השקעה, ונכנסו לעולם המקצועי. הם הוציאו ליין של מוצרים שקוראים להם Arduino Pro, שמאוד מנסים למחוק את הסטיגמה הזאתי שהם לא מתאימים לשימושים בתעשייה, ולקחת את כל הקהל ואת כל הקהילה ואת כל המותג שלהם ולהתחיל להיות בתוך התעשייה. הם הוציאו מה שנקרא PLC, הם הוציאו PLC של ארדואינו, הם הוציאו חיישן, מצלמה כזאתי, הם הוציאו בורד שמאוד מיועד ללימוד מכונה של AI, הם הוציאו המון המון דברים מאוד מאוד יפים.

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

## אבולוציה של ארדואינו

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

וככה אנחנו עוברים את כל האבולוציה עד שזה היום Arduino UNO המקורי R3, שהוא הרבה יותר אלגנטי, הרבה יותר אמין, עם הרבה יותר הגנות, עם רכיבים פחות מגושמים, עם מחבר שהוא גם כן לא הכי עדכני, אבל הוא לפחות פחות... חיבור של מדפסות של פעם, פעם, של נראה לי 32 פינים שהיה.

אז זה קצת על ההיסטוריה שלו ואיך הגענו אליו.

## Arduino UNO R4

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

מה שהם עשו, הם לקחו את הבורד הרגיל והחליפו את הכניסה המצ'וקמקת והמסובכת שיש, למרות שלכם יש כבר... לכם יש חיבור שהוא לא חיבור ישן, יש לכם חיבור של אנדרואיד כזה של Type-B אני חושב קוראים לו, אבל פה הם לקחו את זה ל-Type-C.

הם נותנים למשתמשים להכניס עד 24V לתוך הבורד הזה. להבדיל מ-Arduino UNO R3, שוב, תעשו גוגל, אבל ה-nominal voltage שלו זה 12V, ואם אני זוכר נכון המקסימום שלו זה 17V. ומעל 17V פשוט יעלה לכם עשן ויתחמם, אז הם מאפשרים פה 24V, שזה מאוד נוח להמון אפליקציות להשתמש ב-24V. זה פשוט נותן יותר הספק למנועים ודברים כאלה.

הם שיפרו משמעותית את המעבד שלו. המעבד ATmega328 הוא מאוד מאוד ישן ועובד בקצב של 16MHz. הם שמו לו פה ארכיטקטורה של ARM, 32 ביטים, Cortex-M4, שזה מעבד עם ביצועים הרבה יותר גבוהים, הרבה יותר זיכרון, מהירות שעון באמת הרבה יותר אקטואלית ורלוונטית למחשבים רלוונטיים היום.

ועוד שדרוג אדיר שהם שמו לו, הוא הושק במאי שנה שעברה, הם שמו לו ממיר Digital to Analog Converter.

אנחנו אמרנו שאנחנו אנשים אנלוגיים. מחשב הוא יצור דיגיטלי. אנחנו מדברים עם מחשב, והוא צריך לתרגם את זה ל-1 ו-0 כדי להבין אותנו. אז ב-Arduino UNO R3, אתם תראו, פה זה R4, מה שיש לכם זה R3, יש מה שנקרא ADC, זה Analog to Digital Converter. זה כל החיישנים, הפוטו-רזיסטורים שיש לכם בפרויקט, נותנים ערכים אנלוגיים. השמש זה דבר אנלוגי, זה דבר רציף. המחשב, הארדואינו, מה שהוא עושה, הוא קולט את זה ומחלק את זה ל-1,024 צעדים קטנים, ואז הוא יודע לקרוא ערכים אנלוגיים.

אני יכול לדבר ולתרגם את זה מערך אנלוגי לדיגיטלי, אני יכול לשים מיקרופון ב-Arduino R3. אני לא יכול לשים רמקול, אני לא יכול להפוך אות דיגיטלי לאנלוגי בלי הממיר שהם שמו, ה-Digital to Analog Converter.

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

## הגדרות יסודות

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

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

אז נתחיל מ-External Power Supply. אנחנו יכולים להכניס ל-Arduino UNO R3 חשמל, אנרגיה, מכמה נקודות. הראשונה ביניהן זה הסוקט הזה. זה חיבור סטנדרטי שיש אותו להרבה ראוטרים או כל מיני מוקדים שמחוברים לכם לטלוויזיות, שיוודעים להכניס חשמל. צריך לשים לב פר כל בורד שאתם בוחרים מה מתח העבודה שלו. כמו שאמרתי, אם תכניסו ל-UNO R3 24V, הוא יתחמם ויהרס. לעומת זאת, בורד Arduino UNO R4 יודע לקבל 24V. מאוד קל לכתוב בגוגל Maximum Voltage Arduino UNO R3 ולראות את המספר הזה.

אנחנו כ-makers, כמתכננים מכניים, או אם תעשו פרויקטים ללקוחות שלכם, חשוב לשים כמה שיותר קרוב ל-datasheet, כמה שקרוב יותר ל-nominal. יש לזה משמעויות של פיזור חום ושל העברת אנרגיה, ואנחנו לא רוצים לשרוף אותו. אז זה היכולת שלנו פעם אחת להכניס לו פה אנרגיה.

שתים, זה אנחנו יכולים להתחבר ל-USB. ה-USB זה גם כן, הוא מכניס לנו 5V, והארדואינו יעבוד מזה.

אפשרות שלישית שלנו זה מה שאנחנו רואים פה, יש לו פה VIN. אתם רואים את ה-VIN? הפין הזה. זה VIN.

- "ה-USB הוא תמיד מכניס 5V?"

- USB הוא תכניס מה? 5V?

- "הוא תמיד מכניס 5V?"

- כן, אני חושב שזה סטנדרט. שוב, USB סטנדרטי Type-B, כי ב-Type-C יש כל מיני כבר יצרנים שנותנים הספקים מטורפים עם 9V, 24V. כי נגיד אני יודע שיש יצרנים סינים, Huawei וכל אלה, שטוענים ב-10 דקות סוללה, אז יש להם עוד פין נוסף שם שהם שמים אותו. אבל ה-USB במחשב שלנו מוציא 5V. בסדר? אנחנו בגלל זה מחברים כבל ישירות בין המחשב לפלאפון והוא לא נשרף. לא צריכים איזשהו הורדת מתח.

אם אנחנו נחבר בין ה-220V שלנו לארדואינו, אז אנחנו נעשה שני דברים: אנחנו א' נמיר AC ל-DC, וב' נוריד 220 ל-12V, לצורך העניין. זה שתי פעולות, המרה והורדת מתח.

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

איך אנחנו יוצאים, איך אנחנו מוציאים ממנו מתח? אז כל הבורדים הסטנדרטיים...

- "ה-3.3 ו-5V למטה גם כן?"

- זה לא כניסות.

- "מה זה, יציאות?"

- יציאות, יציאות. זה יציאות, זה output.

פה, אתה רואה? פה, יש לך VIN. זה הכניסה. מפה אתה מכניס את ה-+, אנחנו עוד מעט נדבר על ה-GND. נחלק את זה ל-+ ול-GND.

כל עולם המיקרו-בקרים והלוחות האלה נה על שני מתחים ראשיים: 3.3V ו-5V. מי שיצא לו לעבוד עם ESP32 או Arduino MKR ובורדים דומים, הם עובדים עם 3.3V. Arduino UNO והרבה בורדים אחרים עובדים עם 5V. אבל יש לו יציאה של 3.3V ויציאה של 5V.

חשוב לשים לב, שזה כלל אצבע, שארדואינו הוא לא ספק כוח. הוא מוציא וולט, 3.3V או 5V, הוא לא מוציא זרם גבוה. אנחנו בהמשך נלמד את ההבדל בין I, שהיחידות מידה שלו זה אמפר, לבין וולט, שהיחידות מידה שלו זה וולט. בסדר? בין current ל-voltage. הוא לא יודע להוציא זרמים.

אם אנחנו נחבר לו איזשהו ספק חיצוני, עדיין מכאן, מהיציאות האלה, לא יצא הזרם שיכול להפעיל לי מנועים או חיישנים מסוימים. אנחנו צריך לחבר אותם לספק כוח חיצוני. מה זה כן טוב לי? הרבה חיישנים צריכים איזשהו 3.3V לא בזרם גבוה. הסרוואים שיש לכם יכולים לעבוד עם זרם של כמה עשרות מיליאמפרים. ככה שהיציאה של 5V יכולה לספק כמה עשרות מיליאמפרים. אתם יכולים לבדוק בגוגל, datasheet, אנחנו יכולים גם לעשות את זה יחד בהמשך, ולראות כמה מקסימום מיליאמפר מוציא הפין הזה. אם הסרוו שלי צריך 20mA וזה יודע להוציא 40mA, אפשר לחיות עם זה. שכלל אצבע, זה לא נכון שארדואינו הוא יהיה הספק זרם שלי.

- "זה לא יותר מיחידת פיקוד."

- אך ורק יחידת פיקוד, נכון. לא ספק כוח. ESP הרבה פעמים נשרף מהדברים האלו, כי הוא פחות אמין מהארדואינו לפחות לדעתי. שאנשים מנסים להפעיל איתו המון המון דברים, וכשיש עומס יתר, אז פשוט הוא מתחיל להתחמם. כי הרבה מאוד זרם מנסה לעבור בו, זרם זה בסוף אנרגיה שעוברת במוליכים מסוימים. המוליכים פה, זה אלו, ה-routing האלה, היחידות האלו שצרובות פה על הבורד, הם מאוד מאוד דקים. ואם הוא מתחמם טיפה ומשהו מאוד קרוב, אז הוא יכול טיפה לקצר, ואז זה באסה. או במקרה היותר טוב, אז פשוט לא יעבוד לכם הרכיב שציפיתם. תשימו לב לזה. אפשר להוציא פה 3.3V ו-5V, אבל לשים לב לזרם. נדון על זה בהמשך.

בוא נעבור לפה, GND. אתם יודעים מה זה הארקות?

- "כן."

- יפה. חשוב מאוד, שגם אם אתם מחברים External Power Supply או כל חיישן חיצוני שהוא מדבר ב-DC, ואנחנו מדברים אך ורק על direct current, על DC, כל ההארקות חייבות להיות מקוצרות. כל ההארקות חייבות להיות מקוצרות. מתח זה דבר יחסי. אם לא נקצר את כל ההארקות, הם לא ידעו לדבר ביניהם באותה שפה, ויהיה סלט והחיישנים לא יעבדו. מה אנחנו לא עושים? אנחנו לא מקצרים את ה-+-ים. אנחנו לא מערבבים 5V, 3.3V, 12V, זה נפרד לחלוטין. חד-משמעית אנחנו לא מערבבים את ה-+-ים. ההארקות בכל המעגל שלי של ה-DC שקשור לפיקוד ולחיישנים ול-External Power Supply חייבות להיות מקוצרות. תזכרו את זה, תרשמו את זה איפה שהוא.

- "גם אם בעתיד נעשה משהו עם יחידות כוח, דרייברים יותר חזקים ויותר זרמים?"

- כן. ההארקות של כל המערכת DC שלך, אך ורק ה-DC, אני לא מדבר על AC, AC אל תערב ואנחנו לא נגע בזה, כל המערכת DC שלך, גם אם אתה מכניס איזשהו מנוע של 24V שמקבל פיקוד מהארדואינו דרך איזה דרייבר, ההארקות חייבות להיות מקוצרות. כי אחר כך ה-24V שלו וה-12V של הארדואינו, הם לא ידעו מה זה כל דבר. מתח זה דבר יחסי, צריך איזשהו 0 שכולם הסכימו עליו. אם הם לא מסכימו על ה-0 הזה, משהו לא יעבוד.

מה זה אומר לנו? מה המשמעות פה? זה אומר שיש לנו פה את השני פינים האלה, ויש לנו פה עוד פין GND. הפין הזה והפינים האלה בהכרח מה הם?

- "שותפים."

- מקוצרים, נכון.

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

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

אז האנלוגי וה-Digital כ-Ground צריך להיות מקוצר. אם אתם רוצים לעשות הפרדה בין Analog Ground ל-Digital Ground, שמים ביניהם בדרך כלל קבל, ככה שהם גם מקוצרות אבל יש קבל שמונע רעשים. זה לענייננו.

## Analog In (פינים אנלוגיים)

אם כבר אמרנו אנלוגי, מה אומר לנו אנלוגי? יש לנו פה 0 עד 5 אנלוגיים. 0 עד 5, שש כניסות אנלוגיות.

אנחנו אמרנו, אנחנו אנשים אנלוגיים. המחשב הוא דיגיטלי. פה יש לנו את מה שאמרנו, את ה-Analog to Digital Converter. הפינים האלו מחוברים לתוך המיקרו-קונטרולר הזה שיודע להמיר אותות אנלוגיים לאותות דיגיטליים.

באיזה רזולוציה? יש לנו 1024 צעדים. 2 בחזקת 10 יתן לנו 1024, זה מה שנקרא 10 bit. אז הממיר Analog to Digital Converter של Arduino Uno הוא 10 bit.

אם אתם זוכרים שדיברנו על ה-R4, אמרתי שיש לו שם גם את הממיר ההפוך שיודע להוציא אותות דיגיטליים לאנלוגיים, 12 bit, שזה כבר 4096. זה רזולוציה הרבה יותר טובה.

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

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

ככל שיש לי ממיר 10 bit, 12 bit... אם אתם עכשיו לא יודע, תקנו כרטיס קול מטורף, מי שמתעסק פה בהגברה, ישנם כרטיסים גם של 16 bit, כי איכות הסאונד וההמרה בין אנלוג לדיגיטל וחזרה בין דיגיטל לאנלוג מאוד מאוד קריטית להם. הם צריכים שכל פיפס יהיה מדויק. ובסוף זאת ה רזולוציה שלנו: כמה אנחנו יכולים להפריד בין אות לאות, בין קריאה לקריאה.

אוקיי, אז האנלוגי שלנו. עד לפה אנחנו בסדר? יפה, אנחנו ממשיכים.

## Reset וזיכרון Flash

Reset pin וכפתור Reset. גם הם מקוצרים. אני יכול ברמה הלוגית לחבר את ה-Reset pin שלי ולתת לו פקודה בקוד לעשות Reset, כי למעשה הוא יפעיל פה את ה-High, יתן פקודה לוגית, הוא יעשה Reset. מה קורה שאני עושה Reset ל-Arduino?

מאפס אותו. אתה מוחק את הקוד בעצם, אתה חוזר לנקודת ההתחלה.

אני לא... אני חוזר ל-void setup. אני לא גונז את הקוד. הקוד נשאר והוא צרוב בזיכרון Flash. יש זיכרון בתוך המיקרו-בקר, קוראים לו Flash, ששם הקוד צרוב בפקודות בינאריות: 01, 001, 110. אני לא מוחק אותו. אני עושה Reset אך ורק לתוכנה. נכון? בקוד, במבנה הקוד עברנו על זה, יש לנו setup ויש לנו loop.

כן, אז הוא יתחיל את ה-loop...

setup רץ פעם אחת ו-loop רץ אינסוף פעמים. אני לוחץ על ה-Reset, הוא מחזיר אותי לפה, ל-setup, ירוץ פעם אחת ואז נכנס ל-loop.

זה אומר שהוא מחזיר אותך לתחילת העבודה.

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

אני יכול לעשות את זה גם בעזרת קוד. במידה ויש איזשהו error בקוד, ואתם רואים שהרובוט שלכם שבר ימינה, ורכב אוטונומי, אוקיי, יש איזשהן נקודות צומת בקוד שלו, שאם הוא לא יודע מה לעשות, אתם תגדירו לו "תעשה Reset. אין, אתה עכשיו לא תלך להרוג לי בן אדם, תתחיל מהתחלה, משהו לא טוב קרה". אז אתם יכולים לעשות איזשהן נקודות קצה ברובוטים שלכם, איזשהן אינדיקציות, אם אתם מודדים טמפרטורה ופתאום יצא לכם 7000 מעלות וזה לא הגיוני, תתחילו מהתחלה. משהו לא טוב קרה, תקיילו מחדש את המערכת.

וביכולתכם לעשות את זה או בעזרת הפין הזה, או בעזרת כפתור פיזי ללחוץ עליו פה. יש שתי שיטות שלנו לעשות Reset.

אם אני נותן High לוגי לפין הזה, הוא יעשה Reset. נותן לי Reset. אם אני לוחץ על הכפתור הזה ב-Ground, אני סוגר מעגל, הוא יעשה Reset. אז אני יכול לעשות את זה דרך איזשהו ממסר, או טרנזיסטור, אני יכול לסגור אותו.

## צריבת קוד ו-Bootloader (ICSP ו-UART)

למעשה סיימנו את כל החלק הזה.

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

כאן מה יש לנו? כאן זה מאוד דומה למה שאנחנו עושים עם פירמוט. יש דרך להשתלט על ה-ATmega הזה ללא צורך בצריבת קוד, כלומר לדלג על מה שנקרא זיכרון Flash. אוקיי? אני יכול להתחבר לששת הפינים האלה, שאם אתם תקראו אתם תראו שזה גם ששת הפינים פה, כן? הם מקוצרים לאותם פינים, פשוט עשו אותם כאן מרוכז, לכתוב איזשהן פקודות מסוימות ולצרוב Bootloader ולצרוב קוד ישירות על ה-Flash ללא צורך ב-USB בכלל, ללא צורך בכלל ב-IDE שלי. למה זה עוזר לי?

מה, ב-Runtime?

כן, אפשר לעשות את זה ב-Runtime. ברגע שאני מתחבר USB, אני מדבר ב-0 ו-1 ב-Serial command, נכון? יש פה רכיב שקוראים לו UART. מכירים את הרכיב הזה? שמעתם עליו?

לא.

הוא ממיר את ה-001 הזה, מה שאני מקבל מהמחשב שלי, לפקודות שהבורד יודע לקחת ולצרוב אותם ב-Flash. הוא בעצם, אם אתם תחברו USB, הרכיב שהמחשב מזהה לכם זה ה-UART הזה. בדרך כלל זה ה-CH340. הוא לא מזהה את ה-ATmega328. אם תחברו עכשיו את ה-Arduino למחשב שלכם ותלכו ל-Device Manager שלכם, אתם תזהו את ה-CH340. הוא מזהה את הרכיב הזה שאחראי על ה-USB.

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

עוד שיטה שיש זה דרך TX/RX. ה-RX זה Receiver, ה-TX זה Transmitter. אני יכול להעביר פקודות סריאליות in ו-out ולצרוב את ה-Arduino שלי בעזרת Arduino אחר, ליצור תקשורת ביניהם בעזרת ה-Serial Out ו-Serial In. אל תשאלו למה כדאי לעשות את זה, זה אתגר ממש מגניב כמייקר.

אתה מתכוון שאפשר לשרשר לוחות כאילו?

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

## רכיבי ESP וסוגי Shields

ESP8266, אתם מכירים את הכרטיס הזה?

שמעתי את השם.

8266, סליחה...

כמו ה-ESP32.

וואחד פחות מוצלח. וואחד פחות מוצלח, פחות התחברו אליו. מה שכן, הוא זול לאחריד, הוא עולה כמה סנטים בודדים. למה הוא זול לאחריד? כי חסכו לו את ה-USB, חסכו לו את ה-Bootloader, חסכו לו פה המון המון רכיבים. מה אני צריך לעשות כדי לצרוב אותו?

לחבר ל-TX/RX.

נכון. אני משתמש בעצם ב-Bootloader של ה-Arduino, אני משתמש ב-Arduino כדי לצרוב אותו. בגלל זה הוא פחות מוצלח, אנשים לא אוהבים את ההתעסקות. אנשים אוהבים להוסיף עוד דולר ולקבל בורד שאפשר לצרוב עם USB. אבל 8266 יצא לי להשתמש בו, עובד. עובד יופי, מתחבר ל-Wi-Fi, מתחבר ל-Bluetooth, עובד יופי. אפשר גם לקנות Shield שמתחבר לזה ולהמיר את ה-Arduino Uno עם 8266 ולצרוב עליו את ה-Firmata Wi-Fi, זה גם עובד יופי.

למה אתה מתכוון שאתה אומר Shield?

Shield זה... אתה תראה, בערכת שמש שלך קיבלת Shield. זה משהו חיצוני שמתחבר לפינים שלו ועוזר לי בחיים בכל מיני דברים. או מוסיף לי יכולות שלא קיימות בבורד הקיים, או במשהו שאתם קיבלתם, הופך את החיבורים למאוד מאוד נוחים. אתה רוצה להראות את זה שחר?

כן, אני אראה לו שנייה.

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

אפשר להלחים עליו או...?

יש Shields שאפשר להלחים אליהם, ספציפית זה לא. Shield זה מילה גנרית, זה הרחבה של יכולת או תוספת ל-Arduino, זה מילה כללית.

רואים? זה ה-Arduino, זה ה-Shield, ואני מלביש אותו...

אה, הוא פשוט ננעץ עליו? יש לו... זה חייב נקבה כזה שנינעצים אחד על השני?

כן. הנקבות זה ה-Arduino עצמו.

הבנתי. ומה יוצא לך מה-Shield? מה הוא נותן לך? מה האופציות שהוא נותן לך?

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

יש Shield שעושה הרחבה ל-Wi-Fi, יש Shield שעושה הרחבות ל-Bluetooth, יש Shield שעושה הרחבות לחיבור Ethernet. Shield זה מילה כללית של המון המון דברים.

## פינים דיגיטליים ו-PWM

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

לצורך הדוגמה, אם פין 1 נמצא ב-High ועשיתם Reset, הוא יכנס למצב צריבה. ואז מאוד קשה להסביר למה הקוד לא עונה. מה שאלת שחר, סליחה?

לא, אני אומר, אז שזה בעצם ה-TX וה-RX, ה-0 ו-1?

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

זה נכון גם ל-ESP32, יש לו TX, RX, עדיף לא להשתמש בהם. כי הוא מעביר שם דאטה וזה בעצם משתלט על המעבד, זה נותן יכולת לקנפג אותו, אז הוא מעלה אותו למצב של Bootloader, של לקבל קוד או לצרוב קוד.

זה גם אתם תראו הרבה פעילות. יש לכם פה לדים, הרבה פעילות אתם תראו בלדים של TX ו-RX, הם מהבהבים כל פעם שיש העברה של מידע. אתם תראו אותם בהתחלה כשהם צורבים עובדים הרבה מאוד, ואם אתם חושבים והשתמשתם בזה והגעתם למקום לא נכון, אתם תראו אותם בפעילות ותבינו שיש פה בעיה.

יפה. אנחנו ממשיכים. פינים 2 עד 13. אז אנחנו נתחיל ב-13. 13, הדבר המיוחד לו, מה זה?

הוא מחובר ללד הקטן הזה בפנים?

נכון, הוא מחובר ללד. יש לו built-in LED שהוא מחובר אליו. בסדר? למה? אינדיקציה. זה מאוד נוח. רואים בורד עובד, לא עובד. קוד של שלוש שורות, blink LED, built-in LED 13, עובד, לא עובד. מאוד נוח, באמת. אחלה טסט.

מה עוד יש לנו פה? כל הפינים האלו אותו דבר, אבל מה אנחנו רואים הבדל שיש ליד 11, 10, 9, 6, 5 ו-3?

מה זה הקו הזה?

טילדה. טילדה משמעה בבורדים: PWM.

אה, אוקיי.

PWM אנחנו נרחיב על זה בהמשך, אני לא יכנס לזה עכשיו. אבל הוא סוג של הופך לנו אות אנלוגי לאות דיגיטלי בצורה מתוחכמת. מה זה נותן לי? דימר ל-LED. אני רוצה ש-LED לא יפעל במקסימום עוצמה, אני רוצה שהוא יפעל בחצי. אני יכול להגדיר לו פקודה בקוד, שיש לי פה זה 8 bit, בסדר? זה 2 בחזקת 8, זה 256. אוקיי? אז אני יכול להגדיר לו שיעבוד לא ב-255...

מקסימום, אלא ב-120. שזה כמעט חצי. 170, 190, ואז אני נראה את העוצמה של ה-LED שלי יורדת.

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

- מה הסימן של זה? איך קראת לסימן של זה?

- טילדה. זה מה שיש לך מעל ה-Tab במקלדת. אתה רואה את ה-Tab שלך?

- כן.

- זה טילדה.

- אוקיי.

- יש לזה משמעות, זה לא סתם. אתם רואים, גם כתוב לכם Digital PWM ~ (טילדה).

- זאת אומרת שאם אני רוצה לעשות PWM, אני צריך להשתמש בפינים האלה שיש להם טילדה.

- אך ורק בפינים האלו. שוב, זה עניין של המעבד שלך במה הוא תומך או לא תומך. אנחנו ניגע ונרחיב על מה זה PWM.

הפין האחרון שנשאר לנו זה Analog Reference. אנחנו אמרנו שאנחנו יודעים לקייל בין 0 ל-1023. איך הוא מחלק את זה? בין 0 ל-5V, נכון? אם קיבלתי ערך של 2.5V, הוא יתרגם את זה לחצי של сколько זה, 512, נכון? נגיד 512, יאללה, בסדר? הוא יתרגם את זה ככה.

אם אני עובד על אפליקציה שהיא לא 5V, אפליקציה שהמקסימום שאני רוצה למדוד זה 2V, אני יכול – ואנחנו ניגע בזה קצת בהמשך, אבל תדעו שיהיה לכם בחלק האחורי של הראש – אפשר להפוך את ה-Arduino שהייחוס שלו לא יהיה 5V, אלא או יהיה רכיב פנימי פה כלשהו שיש לו פה, שהוא לדעתי 1.1V, או ערך חיצוני שאני מכניס לו.

יותר מזה, אני יכול לבדוק הרכיב יש לו פה רגולטור, לזה קוראים רגולטור, שהוא ממיר כל מתח שאתם עושים ל-5V ומייצב אותו, אני יכול למדוד האם יוצא לי באמת 5V מהרגולטור הזה או 4.97V. למה זה טוב לי? כי ככה אני יכול להגיע לרמות דיוק הרבה יותר גבוהות במדידות שלי. ברוב האפליקציות זה לא נחוץ. אנחנו הולכים להיות professional. אנחנו הולכים לתת ללקוחות שלנו ציוד קצה מדהים. אנחנו צריכים לדייק את הדברים האלה.

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

שאלות על ה-board?

- בפינים האלה אני יכול גם להכניס מידע וגם להוציא מידע?

- פה?

- כן. כולל ה-Analog Reference Pin?

- Analog קורא מידע. אני יכול להוציא דיגיטל באנלוג, אני יכול להוציא 1 ו-0 באנלוג. ה-default שלו זה לקרוא מידע.

- אוקיי.

- הפינים האלו אני לא יכול להוציא מידע, הם לא מחוברים ל-Analog-to-Digital. אני מוציא או 0 או 1, HIGH או LOW. אני יכול להוציא PWM. אני קורא מידע, אני יכול להפעיל כפתור נגיד ולראות HIGH. אבל צריך מה שנקרא Pull-up או Pull-down resistor. אתם מכירים את המונח מפלץ מתחים?

- לא, שלום.

- כן. אם אני מכניס 5V לתוך ה-board ישירות, אני יקצר אותו, נכון? אני יגע פלוס במינוס, אני יקצר אותו. נכון? תקחו עכשיו את החשמל שלכם בבית, תחברו פלוס למינוס, יקפוץ לכם הבית ויזמינו לכם אמבולנס. לא טוב.

אז מה שעושים, יש מה שנקרא Pull-up resistor. יש נגד בתוכו, בתוך הפינים האלה יש נגד פנימי שאם אנחנו מגדירים שורת קוד שקוראים לה Pull-up, אז הוא יודע להפעיל את הנגד הזה ובמצב שאתם עושים HIGH הוא יפרוק את זה על הנגד ואז הוא לא ישרוף את ה-board. הוא יקבל HIGH לוגי, הוא יקבל 1 לוגי ולא ישרוף את ה-board. אני לא יכול להכניס לו ערכים אנלוגיים, לא יעזור לי בחיים, הוא לא יודע לקרוא אותם, הוא לא יודע מה לעשות איתם, אין לו ממיר. אני יכול רק פה להכניס את הערכים האנלוגיים.

- ה-PWM הוא בעצם ערכים דיגיטליים.

- ערכים דיגיטליים Output, לא Input.

- Output, אוקיי.

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

אוקיי, שאלות על ה-board? הדבר הכל כך חשוב הזה שקוראים לו Arduino, וכל מה שאמרתי פה תופס ל-ESP32, ל-Raspberry Pi, לכל board שתיתקלו בו. זה ז'רגון מילים גנרי.

- כולם בנויים באותה שיטה?

- ה-Embedded engineering של כולם הוא אותו דבר, כן.

- מה זה ראשי תיבות של Embedded? מה זה המילה הזאת, או שזה לא ראשי תיבות?

- Embedded זה לא ראשי תיבות, אני חושב שבעברית זה מערכת משובצת. Embedded זה מוטמע, אוקיי? רוב האנשים לא יודעים מה קורה בתוך המיקרו-בקר הזה. המיקרו-בקר הזה יש לו קוד. הקוד הזה זה Embedded firmware, זה קוד שמוטמע ממש ברמת החומרה. בסדר? מהנדס Embedded – לא כולם, אבל חלקם – מתעסקים באסמבלי, בעריכת קוד אסמבלי, זה קוד מכונה.

- אוקיי.

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

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

- מה שביקשתי שתגיד כמה מילים, מה זה ה-ICSP בצד ימין במצגת?

- מה ראשי התיבות?

- כן, ICSP.

- In-Circuit Serial Programmer. אני יכול לעשות In-Circuit, בתוך המעגל עצמו, לתכנת פקודות סריאליות, לשלוח לו פקודות סריאליות. ואז אני בעצם עוקף את ה-Bootloader. אם יש לי בעיה ב-Bootloader אני יכול ישירות לעבוד עם פקודות סריאליות דרך השישה פינים האלה.

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

- זה מ-2 עד 7?

- צריך לראות, יש שם כל מיני שמות. יש שם MISO, MOSI, כל מיני כאילו שמות שאתה תראה שהם חופפים.

- אוקיי.

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

אוקיי, שאלות על ה-board או שאני ממשיך?

- אפשר להמשיך.

## דגמים נפוצים

יאללה, מדהים. איזה עוד דגמים של Arduino יש לי? Arduino Uno לא לבד, יש עוד המון המון Arduino-ים בעולם, שטוב שכך.

יש את Arduino Mega, שבטוח שמעתם עליו.

יש את Arduino Nano.

יש Arduino עם חיבור Ethernet מובנה.

יש את LilyPad הזה, שמאוד מותאם למוצרי IoT.

יש המון המון המון Arduino-ים. ומעבר ל-Arduino-ים שיש לנו, יש המון המון המון board-ים בכללי.

## השוואה בין בורדים

יש המון המון board-ים בכללי, אז בואו שנייה נבין למה אנחנו בוחרים Arduino אחד ולא Arduino שני, ואז נצלול למה אנחנו בוחרים ESP ולא Arduino.

לקחתי פה את ה-4 הכי נפוצים, בסדר? שכמתכננים, אתם צריכים, לפני שאתם מתחילים פרויקט, להבין מה אתם עושים ולבחור את ה-board הנכון. אז אני משווה פה בין Uno, Mega, Nano ו-Due, שהפרמטרים להשוואה זה כמות ה-Analog Inputs שלהם, כמה PWM יש להם, כמה Digital ו-Analog יש להם, ה-Operating Voltage, הגודל הפיזי והמחיר המשוער. גרוסו מודו, זה המחיר למקורי. גם יש חיקויים סיניים, אז אם יש חיקוי סיני זה בכלל שובר את השוק.

אז בואו נראה את ההבדלים הבסיסיים. אני צריך נגיד עכשיו פרויקט... תנו לי איזה name dropping של פרויקט שיש לכם בראש שאתם רוצים לעשות.

- אני רוצה לפתוח את השער של החנייה עם הטלפון.

- אוקיי, אתה צריך לצורך העניין מעט מאוד Analog Inputs, נכון? אתה לא צריך הרבה. אתה צריך אחד שיתחבר לך לאיזה ריליי, או ל-receiver אם יש לך RF, אז אתה יכול לחבר את זה ל-receiver ולשלוח RF. אז אתה יכול להשתמש ב-board... הייתי לוקח... הגודל הפיזי זה משהו משנה לך? אתה הולך לשים אותו באיזה מקום צפוף? לזווד אותו באיזה מקום שיש לך בעיה של גודל פיזי?

- לא, אני אמור לשים אותו מול ה... שער כזה פרימיטיבי של פעם, יודע.

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

- מה זה כל החוטים האלה שאפשר לתקוע פינים ולחבר ישירות ולא לחזור להלחים ולעשות כאל דברים?

- מה שהם עשו, Arduino Uno מאוד טוב לפיתוח, Arduino Mega מאוד טוב לפיתוח. מאוד קל לפתח איתם, לחבר ולנתק ולא להלחים. הלחמה זה דבר שמאוד קשה להוריד אותו. אז יש board-ים שיותר קלים לפיתוח, כמו Arduino Uno. Arduino Nano, המוצר הבסיסי שלו בא בלי נקבות בכלל, בא ישר שצריך להלחים. המיקרו-מעבד שלהם אותו מיקרו-מעבד, הקוד שיעבוד פה זה הקוד שיעבוד פה. רק צריך לשים לב שיש הבדלים בכמות ה-PWM pins. כך שאם נגיד היית אומר לי שאתה רוצה להזיז 4 סרוואים, Arduino Nano לא טוב לזה, כי הוא לא יכול, צריך 4 יציאות של PWM לפחות.

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

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

- מאוד. כנראה, כנראה, כנראה שרוב האפליקציות שלך בבית בלי לשים לב זה איזשהי וריאציה של ESP32 או משהו דומה.

- אה, אוקיי.

- אם המזגן שלך מתחבר ל-Wi-Fi, כנראה שהרכיב שם לא רחוק מ-ESP32 כמו שאתה מכיר אותו. פשוט הם עשו את זה על board ייעודי שיכנס להם בגודל וגם יותר זול לייצר board לבד במיליון חתיכות מאשר לקנות מוצר מדף. אבל יכול להיות שהמיקרו-מעבד שלו עצמו זה ESP32, זה ממש אותו אחד. יצא לי ורצים בשוק המון אפליקציות שבניתי בעצמי ב-industrial machine, של בדיקות, של לקוחות, של דברים כאלו שמבוססי Arduino, ESP32. מאוד אמינים, באמת מאוד אמינים. וה-worst case, חמישה דולר הלכו.

- כן, נכון, אבל אצלי זה באסה התקלה.

- נכון. אז מאוד אמין. ה-ESP32 לדעתי טיפה פחות אמין, שוב, מי שפה אוהד של ESP32 אל תעלבו מזה. ה-ESP32 יצא לי לשרוף יותר מ-Arduino. ל-Arduino לדעתי יש יותר הגנות, הוא יותר אמין.

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

- כן.

- שמים דבק חם על ההלחמות, זה מונע ניתוקים ומונע קצרים.

- וואלה.

- זה מדהים. כל פרויקט שאני מלחים, אני שם דבק חם עליו.

- רעיון מגניב. אוקיי.

- נגע בשקף.

אם אתם לא מטבילים את זה בדלי של מים, אין סיבה שיהיה קצר.

אפשר שאלה? השילדים לא יכולים לעזור לנו ולהגדיל את כמות ה-outputs וה-inputs?

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

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

כפל מצבים בעצם.

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

אז אפשר לעשות את זה, כן. משתמשים בזה לפעמים.

אני זוכר שהיה הייתה, אני חושב שזה נקרא bridge. bridging, שאתה רוצה להגיד לחבר הרבה סרבואים לארדואינו, נכון? אז יש את האפשרות להוסיף bridging כאלה שאתה יכול לחבר אליהם הרבה?

נכון, יש כאלו של 30, כן, 30 סרבואים, נכון.

אז איפה זה כאילו מה, זה משהו שהוא פחות טוב לעשות, או שצריך כאילו...

אין עם זה בעיה, רק צריך לשים לב לזרמים. אם הארדואינו שוב, ברמת ה-board והכול, זה רכיב, זה רכיב, זה צ'יפ, זה פשוט צ'יפ שאתה מקנפג אותו בקוד, והוא יודע להגיד לך להמיר את זה לארדואינו מה 1 ומה 0, אתה מדבר איתו דרך היציאות הקיימות והוא מתרגם את זה לעוד שערים.

וואלה.

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

כן.

אז עם זה יהיה לך בעיה, אז אתה צריך איזה ספק זרם חיצוני.

כן, אז ה-bridge יצטרכו את הספק, נכון? לא הארדואינו.

באופן כללי זה פרקטיקה טובה לא לקחת זרמים מהארדואינו.

או קיי.

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

אם אתם עכשיו הולכים לשים 30 סרבואים ומפעילים על הארדואינו, זה פשע גדול.

לא היית ממליץ לקחת לכל מנוע driver משלו? את ה-driver המתאים לו?

תלוי, יש פה עניין של עלויות. אם אתה רוצה, כל driver עולה כסף, ואתה מנסה לחסוך.

הבנתי, אוקיי.

אני עכשיו בסוף לתת ללקוח פתרון. אני יכול שיהיה לו, אתה יודע מה זה BOM? Bill of Materials, טבלה של כל הרכיבים? יכול להיות שיהיה שם 2,000 רכיבים וזה יעלה 10,000 שקל, ואני יכול שיהיו שם 1,000 רכיבים וזה יעלה 1,000 שקל.

הבנתי.

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

אז זה השוואה, אז הבאתי פה בעצם כמות ה-analog inputs, PWM, digital, operating voltage. Arduino Due עובד על 3.3V. הוא לא יודע להוציא לכם חיישן שצריך 5V. לוגית הוא לא יודע להוציא את זה. זה גם משהו שצריך לשים לב אליו. האם החיישנים שאתם עובדים איתם מצפים לקבל high של 5V או high של 3.3V? אם תקחו עכשיו חיישן שמצפה לקבל 3V והסף רגישות שלו הוא מעל 4.5V, ברגע שתיתנו פה high לוגי ב-Arduino Due הוא לא ידע מה לעשות עם זה.

צריך שהחיישן שלכם והבורד שלכם ידעו מה מוציאים ומה מקבלים. אז זה משהו שחשוב לשים אליו לב.

אוקיי, ומחיר. שוב, Arduino Uno זה הבורד שיש לו הכי הרבה חיקויים, אז הוא מאוד מאוד זול. כל השאר מאוד קשה למצוא חיקויים שלהם.

איך ה-Arduino Uno שקניתי, אה, בעצם זה חיקוי סיני, בגלל זה הוא היה כזה זול.

סיני. גם מה שתקבל עכשיו בתיבה זה חיקוי. בסדר? הבורד המקורי Arduino Uno עולה סתם, סתם יקר, אין סיבה להשתמש בו. כאילו יש לי, אני כן קונה ארדואינוים מקוריים, יש לי פה את ה-R4, אבל עוד לא יצא לו חיקוי סיני, הוא חדש יחסית, הוא בן שנה. לוקח לסינים זמן לעבוד.

איך קל לחקות את זה? כי זה open source? כל הסקיצות והכול בחוץ?

כן, הכול קיים.

## השוואה לבורדים אחרים

בוא נשווה את זה קצת ימינה שמאלה לבורדים אחרים. אז לקחתי פה את הארבעה הכי נפוצים. אז Arduino Uno זה ה-baseline שלנו, זה נקרא לזה הקבוצת ביקורת. Arduino MKR WiFi, ה-MKR זה עוד סדרה שיש לארדואינו המקורי שניסתה להתחרות ב-ESP32, ממש ניסתה להתחרות בהם ראש בראש. ו-Raspberry Pi.

אז זה אנחנו יודעים אותו, מכירים אותו, ה-16MHz שלו, ה-ATMega שלו. ה-MKR כבר יש לו בורד הרבה יותר מהיר, אתם רואים, זה פי 3, ה-48MHz מבחינת מהירות שעון, Cortex-M0, המעבד שלו הרבה יותר מהיר, יש לו יכולות אינהרנטיות של Bluetooth ו-Wi-Fi. אגב, הוא עובד ב-3.3V, כמו ה-ESP32. הוא לא עבד להם, הוא לא נפוץ, אין לו הרבה קהילה שתומכת בו, כי אנשים קונים ב-ESP32 בשקל תשעים, וזה עולה באזור ה-30 ומשהו דולר.

אז בסוף המחיר ניצח פה, למרות שארדואינו זה מותג חזק. איך אנחנו יודעים יותר מזה שארדואינו התקפלו? יש Arduino Uno R4 WiFi עם הצ'יפ של ESP32. הם התיישרו. If you can't beat them, join them. הם לקחו את מה שיש טוב ב-ESP32 ושמו על הארדואינו. Arduino Uno R4 WiFi הוא עם צ'יפ של ESP32.

הם קנו, בעצם הם קנו את זה או שהם פשוט העתיקו?

זה לא העתיקו, כי זה חומרה. הם לקחו את החומרה ואת כל הספריות שיש לחומרה הזאתי, שהיא open source, והשתמשו בה.

הבנתי.

אתה יכול להגיד העתיקו, בעולמות ה-open source להעתיק זה משהו שהוא לא יודע, איך אתה מגדיר ב-open source שאתה לוקח קוד ומשתמש בו ועושה לו קצת מודיפיקציות? זה לא בדיוק העתקה.

לא, זה לגיטימי.

לגיטימי, כן.

עכשיו, כל מה שנלמד עכשיו לעשות, זה יתאים לכל היחידות האלה, נכון? הקודים שאנחנו נלמד לכתוב, זה הכול עובד על כל היחידות האלה, נכון?

נכון. ESP32, Arduino MKR, Arduino Uno, הקוד הבסיסי שלהם זה C++. אנחנו כותבים JavaScript בקורס הספציפי הזה. ה-C++ באופן כללי, כל המיקרו-בקרים בעולם, גם המקצועיים, אם יצא לכם לשמוע על STM32, NXP, Texas Instruments, כולם כתובים, בסוף ה-syntax זה C++. ימינה שמאלה הספריות זה מה ששונה. יש המון המון ספריות לכל דבר.

ופה כבר נכנסת ההתמחות של כל אחד במיקרו-בקר הספציפי. אנחנו כותבים JavaScript. ה-JavaScript הוא גנרי. ה-JavaScript הוא צריך פירמוור כדי להתממש, כדי לצרוב בצורה שאנחנו עובדים. אז הוא תומך ב-MKR, הוא תומך ב-Uno, ב-ESP32 הוא לא תומך. בסדר? אבל ה-MKR מאוד דומה ל-ESP32, וגם ל-Arduino Uno אפשר לשים את ה-shield של ה-8266 ואז יהיה לכם Wi-Fi. אפשר לעשות את זה. מי שרוצה פרוטוקולים, אנחנו שולחים, ניגע בזה, מה-Node.js TCP.

נשלח ב-TCP ברגע ששמים את הפירמוור Wi-Fi הארדואינו יודע מה לעשות עם זה.

Raspberry Pi הקונספט שלו זה ממש מיני מחשב. יש עליו מערכת הפעלה Linux, אוקיי? שעל הבורדים עצמם, על המיקרו-בקרים האלו אין מערכת הפעלה. מערכת הפעלה Linux זה כבר ממש, מי שמכיר את המונח kernel, שולט במשאבים, כותבים לו בצורה שונה. הוא overkill להמון המון דברים.

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

אפשר להריץ עליו כל מיני סימולציות ב-Python שיעשו אנליזות ל, לא יודע, פנל חיישנים, כל מיני דברים כאלו. אבל צריך להבין למה משתמשים בו, מה הייעוד שלו בחיים.

יתרון שיש לו, לא יודע, יצא לי להתקין אותו על איזה פרויקט, ואתה יכול להריץ עליו ממש Linux. מי שמכיר Linux מתחבר לזה. יצא לכם לעבוד עם Linux?

לא, לי לא.

אז שוב, אנחנו עובדים עם Windows, זה המערכת הפעלה שמפעילה לנו את המחשב. יש אנשים שעובדים עם Mac, אז יש להם את ה-iOS שלהם, המערכת הפעלה של Apple. יש מערכת נוספת, מי שאמרנו שהמציא את Git, המציא גם את Linux. זה מערכת שהיא קוד פתוח, מערכת הפעלה קוד פתוח. נחשבת מאוד מאוד קלה, מתכנתים אוהבים אותה כי אין לה ויזואליזציה, כותבים בה שורות קוד. עובדים איתה כמו בטרמינל, ב-one-line prompt כזה.

ואז אפשר לעשות ב-bulk שינויים על המון קבצים. מי שמפתח מאוד אוהב Linux. זה ההשוואות ימינה שמאלה. שאלות? על איזה בורד, למה בורד, מה הפרמטרים?

יש לי שאלה לגבי משהו, נגיד שאתה שם אצל לקוח, אתה תשים לו מקורי, או שאתה בראש שקט גם תשים לו משהו שקנית באליאקספרס?

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

אם זה משהו שאני יודע שאני יכול, אתה יודע, הכי גרוע אחרי שנתיים להחליף אותו, כי אני שמתי לו איזה shield או משהו נורא, אז אני עם מה שיש לי במלאי, מה שיש לי בשלוף מתחת לאבל.

ESP32 בכל מקרה, שוב, זה הסינים מכתיבים את השוק. אפשר לקרוא לכל סיני. הארדואינו Uno המקורי מיוצר באיטליה, אם אתם סומכים על האיטלקיים. החיקוי מאוד טוב.

אני לא אענה לך, לא על האיטלקים ולא על הסינים, לא לגבי ארדואינו, אבל...

אז לא יודע, אני אף פעם לא נפלתי על זה. אני חייב לציין שלא נפלתי על זה.

מעולה.

שאלה, אנו שוב, הסינים מאוד אמינים. אם אתה לא שורף אותם אקטיבית, והפעולה שלהם עובדת, הם יעבדו גם 20 שנה.

הסינים מאוד השתפרו ב-10 שנים האחרונות, בכל מה שהם מייצרים.

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

עוד כמה פרמטרים שיש פה זה קישוריות, ידידותיות למשתמש. מה שמתאים פה זה התמיכה של קהילה. נגיד MKR מאוד איזוטרי, אין לו הרבה קהילה שתומכת בו. Raspberry Pi יש לו המון גרופיות, מלא. Raspberry Pi זה באמת עולם ה-Linux מפוצץ באנשים. ו-Arduino Uno ו-ESP אז גם כן, יש לו המון המון קהילה. חושב שיש יותר משתמשי Linux, בגלל זה שמתי את Raspberry Pi ב- כאילו כתמיכה גבוהה. כי הוא Linux, מי שאוהב Linux משתמש בו.

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

יפה.

## בעיות נפוצות בשימוש בארדואינו, תמיכה וקהילה

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

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

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

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

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

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

טוב, יפה. אתם צריכים הפסקה או שאתם רוצים להמשיך?

אין בעיה להמשיך, יאללה.

## מבוא למעגלים חשמליים

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

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

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

איפה זה בא לנו לידי ביטוי? יש לנו את מלחמת הזרמים. מכירים את מלחמת הזרמים שלנו? מהצד הימני יש לנו את ניקולה טסלה, מהצד השמאלי יש לנו את תומאס אדיסון.

זה זרם ישר וזרם חילופין, כן.

היו קרבות איתנים ביניהם על איזה זרם הוא הכי טוב. וכיסא חשמלי בסוף היה אחת הסימולציות ללמה DC מסוכן וכל מיני דברים כאלה. הם ניסו לריב מה יותר טוב, ובסוף משתמשים בכל דבר למשהו אחר. ה-AC הוא טוב לתחנות כוח ולהעברת אנרגיה למרחקים ארוכים, אבל מאוד קשה להתעסק איתו. וה-foolproof שלו... בשימוש הביתי, אם אנחנו שמים מינוס לפלוס, זה נוח שהילד שלנו בן ה-15 או 13 דוחף את המטען לחשמל ולא אכפת לו אם זה ימינה או שמאלה, ולא עושה כלום, זה בסדר. יש לנו את התדירות, יש גל סינוס שמתחלף כל 50 או 60 Hz, תלוי בארצות הברית או בארץ, והוא עושה לנו את הגל הזה. אז כל השימושים שלו זה בעצם אספקת הכוח הביתית שלנו, זה AC. זה 230 V AC. זה זרם שנחשב זרם גבוה והוא מסוכן לנו.

אלקטרוניקה, רכיבים, זרם נמוך, טווח קצר – זה DC. כל הפאנלים הסולאריים שלנו, הסוללות, מספקים לנו DC. בגלל זה התכנסנו, עולם האלקטרוניקה זה עולם ה-DC. בסדר? כל התמונות שאתם רואים מאחורה, אגב, זה DALL-E, זה ה-AI.

יש סדרה מצוינת שמספרת על כל המלחמות שלהם, של טסלה ואדיסון, מרתק.

איך קוראים לה?

אני אזיכר בשבוע הבא ואני אגיד לכם.

אני אשמח, אני אוהב תיעודיות.

זה ממש מומלץ.

נכון, זה הגיע למצב שבסוף כיסא חשמלי היה ה-use case שאמרו שבגלל זה זה מסוכן.

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

אנחנו מגדירים מתח נמוך שלא מסוכן עד 24 V, שזה מה שאנחנו מתעסקים בארדואינו. מתח גבוה – מסוכן. צריך הכשרה כמו שיש לשוקי. אם אנחנו מתחילים לעבוד על אפליקציות שדורשות איזשהו חיבור לקיר ודברים כאלה, עדיף שתדעו יותר טוב. מה אתם עושים? בואו נקרא לשוקי, שוקי ישמח לבוא ולעזור לנו.

הבנתי.

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

גם אגב, לקוח, הזוי ככל שיהיה, ביקש מאיתנו לעשות מלכודת עכברים מחשמלת. כמו דמוי טייזר. טייזר, האקדח הזה שיורים וגומר אותך. הוא ביקש לשים שם 600 V.

והעכבר לא היה מתפחם?

הזרם מאוד מאוד נמוך, העכבר יוצא מזה גחלת. אנחנו צריכים כמתכננים להביא חשמלאי חיצוני כדי שייתן לנו את האישור להשתמש בזה, ושמים מדבקה שלו על המעגל. אנחנו לא יכולים לתת את זה ללקוח ככה, זה יהיה חוסר אחריות. אני יכול לתכנן את זה, אני יכול לבנות את זה, בסוף כשאני נותן את זה ללקוח ואני מוציא את זה מחוץ למעבדה שאני אחראי רק על החיים שלי, אני צריך certification ממישהו שמוסמך, שיבדוק שיכוונו את זה כמו שצריך והמעגל בסדר, ומקבלים מדבקה High Voltage, ואז זה בסדר.

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

מה עוד מעניין אותנו בהקשר הזה? התנגדות. אנחנו נשתמש הרבה בנגדים. כל LED שאנחנו נפעיל אותו, כל טרנזיסטור שנפעיל אותו, אנחנו נשתמש בנגד. וכמו שהסברתי לכם על ה-pull-up ועל המחלק מתחים, אז גם כן אנחנו פורקים את הזרם לנגד. ואתם מכירים מה קורה כשאני מחבר בין זרם ומתח, איזה יחס ביניהם? מכירים משהו, אוהם? אגב, זה אומגה באותיות רומיות, זה אומגה קטנה. חוק אוהם, מכירים? שמעתם?

כן, בוודאי.

זה הקשר ב-DC בין מתח שווה להתנגדות כפול הזרם: V = R * I.

ל-AC יש פה עוד איזה רכיב של הפאזה, בגלל שיש תדירות, יש גל סינוסואידלי. אבל ל-DC, אם עכשיו אני רוצה להוריד 5 V ל-4 V ואני יודע את הזרם, אני יכול להתאים את הנגד המתאים. זה straightforward.

עוד מה שמעניין לדעת זה power, ההספק. הזרם שלי כפול המתח שלי שווה ל-P, ל-power. אם אני לוקח עכשיו 24 V, אחד אמפר, יש לי 24 W. בסדר? זה הנגזרת של הזרם, מתח, התנגדות, ואפשר גם להוציא מזה את ההספק.

שאלות? יאללה, ממשיכים.

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

בין המוליך למבודד?

כן. השם לא כזה מתוחכם... מוליך למחצה.

אה, אוקיי. מבוסס על הטרנזיסטור. משם זה בא.

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

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

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

## מעגל חשמלי וסכימה

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

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

טור.

טור, נכון? יש לי פה פלוס, מינוס, פלוס, מינוס. המינוס והפלוס שלהם משורשרים. מה המשמעות של זה? בוא נגיד שזה 9 V, נכון? הבטריה הזאת היא 9 V.

בין הצומת הזאתי לצומת הזאתי יהיה לי 9V. בין הנקודה הזאתי לנקודה הזאתי יהיה לי 9V.

איך הוא יתחלק על הרכיבים פה? אם הם זהים, אז כל אחד יקבל באמת 4.5, נכון? לפי חוק אוהם. ההתנגדות שלהם זהה. אז זה יהיה 4.5 וזה יהיה 4.5. مسכימים על זה?

ככה שאם אני צריך עכשיו במעגל כלשהו לחבר שני לדים, כל לד צריך 5V, אני יכול לקחת בטרייה של 9V, לשים שני לדים בטור וזה יהיה בסדר, הם לא יישרפו לי. כי המתח שלהם יהיה שווה.

אם עכשיו לדוגמה יש לי פה פי 2 התנגדות בחיבור בטור, מה יקרה להם? בחיבור בטור, אם יש לי פה 9V, אם פה ההתנגדות היא פי 2, אז זה יקבל 3V, וזה יקבל 6V. סך הכל יש לי 9V, ההתנגדות שלו גדולה פי 2, הוא יקבל פי 2 מתח. מובן? בסדר?

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

מה הצורה הבאה שיש לנו לחבר רכיבים? במקביל. מה הדוגמה הכי טובה לחיבור במקביל שיש לנו? הבית. כל שקע שאני בא ודוחף – 220V, 230V, נכון? מי שקפדן, שוקי, נכון, זה 230.

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

מה זה אומר לנו שמחובר במקביל? זה אומר שהוא יקבל, אם זה 9V, הוא יקבל 9V, וגם הוא יקבל 9V, בלי קשר להתנגדות שלהם. לא משנה, גם אם ההתנגדות פה פי 2 מזה, שניהם מקבלים 9V.

מה לא יקבלו אותו דבר? זרם. זרם מתנהג לפי חוקי קירכהוף. אתם יודעים מה זה קירכהוף?

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

גם הזרם מתנהג ככה. הזרם הולך לאיפה שקל לו. זה אומר שאם ההתנגדות פה יותר נמוכה, אז יהיה פה יותר זרם. אם ההתנגדות פה יותר גבוהה, יהיה פחות זרם.

זה משהו שקריטי לדעת, שבבית שלכם שאתם מחווטים ושמים פקק של 10A, אתם לא יכולים לשים גם תנור, גם מיקרו וגם את הדוד שלכם על אותו קו. זה לא יעבוד. לא יהיה לכם מספיק זרם לכל הדבר הזה. הזרם ילך לאיפה שנוח לו. אם גם הדוד יעבוד, וגם המיקרו, וגם לא יודע, איזה נורה, אז הנורה בטוח תעבוד, לתנור כבר לא יישאר מספיק זרם. לא יגיע לשם פשוט הזרם. פיזית לא יגיע לשם, הוא ילך לאיפה שקל לו. עד שבסוף הוא ייגמר. יש X זרם מסוים, יש כמות זרם מסוימת שהפקק שלכם לא יודע לתת יותר מזה.

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

שאלות, טענות, תהיות על שני סוגי המעגלים שלנו? הכל סגור. מדהים.

## סימנים מוסכמים

קצת סימנים מוסכמים. אז לקחתי פה את ה-Arduino, ותרגמתי אותו לסימנים של חשמל. אנחנו יכולים לראות איך אנחנו מסמנים motor, איך אנחנו מסמנים נורה, איך אנחנו מסמנים fuse, איך אנחנו מסמנים battery, מקור אנרגיה. ויש פה את כל הסימנים שלנו. לכל אחד מהם יש משמעות, נכון? אנחנו מדברים, יש לנו שפה. לחשמלאים, לאלקטרונאים, יש שפה משלהם. אז אפשר לתרגם את הכל לשפה שבסוף מי שמתכנן את הבורד, ככה הוא מדבר. זה הסימנים שלו.

יש לנו פה קבל, יש לנו פה גראונדים. זה בסוף השפה שלו. ואגב, זה התכנון המקורי של Uno R3, נמצא באינטרנט. זה open source, אפשר לגשת לזה ולראות את זה, ולהבין גם למה פין 5 הוא PWM ופין 7 לא, לפי המעבד שלו, בסדר? מי שזה מעניין אותו, לגמרי מוזמן.

## רכיבים חשמליים חשובים

לא ניתקע על זה, כי זה פחות קריטי, אבל אם אתם תצטרכו לראות איזה שהוא מעגל, או לקוח יגיד לכם: "תקשיבו, אתם יודעים לעשות את זה וזה?", סכמה חשמלית בסוף יש איזה שפה משותפת לכל הדברים האלה.

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

אז בראש ובראשונה, בפינה השמאלית, יש לנו את ה-LED. למה אני אוהב לפתוח איתו? כי LED זה בעצם הכל, נכון? המסכים שלנו זה מסכי QLED, OLED, נכון? הפין 13 built-in LED שלנו, נותן לנו אינדיקציות.

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

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

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

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

רכיב חשוב נוסף: נגד. דיברנו עליו. הוא ממיר אנרגיה חשמלית לאנרגית חום. אם אני רוצה להוריד לפי חוק אוהם, V=I*R, אני יכול להוריד או את המתח או את הזרם, זה המשחק שלי. בדרך כלל עשויים מקרמיקות. ואם אני אקח נגד ויוריד דרמטית את הזרם שלי, הוא פשוט מאוד מאוד יתחמם. צריך לשים לזה לב, או להשתמש ברגולטור או דברים כאלה. יש שיטות אחרות גם להוריד זרם. אבל נגדים פשוט לוקחים אנרגיה חשמלית והופכים אותה לאנרגית חום.

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

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

אפליקציות נוספות שיש לקבלים – יש לכם סטיילוס, כזה שכותבים על הפלאפון או על המחשב? אין שם מקום לבטרייה, נכון? משתמשים בו בהמון מחזורים, לא טוענים אותו עם בטרייה, טוענים קבל. נהיה מאוד נפוץ באפליקציות שצריכים המון מחזורים של פריקה וטעינה, להשתמש בקבלים ולא בבטרייה, כי בבטרייה יש life span, יש חיים יותר קצרים מקבלים. כי זה משהו כימי לעומת רכיב די מכני, די פיזי, זה או קבל לוחות או כל מיני דברים כאלו, אבל שאין בו כימיה, בסדר?

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

רכיב אחרון שקריטי: טרנזיסטור. לטרנזיסטור יש פרק בנפרד. טרנזיסטור זה לא פרס נובל אחד, זה שלושה. אז יש לו פרק בנפרד.

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

## מנוע DC

אבל במנועים אנחנו משתמשים בזה. במנועים אנחנו כן רוצים ליצור את זה. אנחנו לוקחים את המנוע הכי פשוט, שזה מנוע DC, שכולכם מכירים אותו. ובעצם עשינו פה חתך של איך הוא נראה. אז אנחנו משתמשים, מי שיש לו מברגות, יצא לכם פעם לפתוח את המברגה שלכם בבית? שבפנים יש פחמים כאלה?

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

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

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

## PWM

מה זה PWM? תודה ששאלתם. הדרך שלנו, אמרנו, לעשות מניפולציה על רכיבים חשמליים בלי ממיר Digital to Analog. אז אם אני לא יכול לשלוט במה שאנחנו מוציאים, מה אני כן יכול לעשות? לכבות ולהדליק המון המון פעמים ומאוד מאוד מהר.

אז יש ממש, אם תיכנסו לקוד של ה-PWM ב-C++, תלחצו, נכון, אנחנו יכולים ללחוץ על זה ולראות את הפונקציה, אז תראו שזה כמה מחזורים שהמעבד רץ דולק, וכמה מחזורים שהמעבד רץ מבוטל. ואיך אנחנו יודעים לקמת את זה לתדירות? אני יודע ש-Arduino Uno זה 16MHz, 16 מיליון פעמים בשנייה המעבד שלי רץ.

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

ככה אני מעמעם LED, ככה אני מוריד מהירות של מנוע בלי להוריד את המתח שלו. כי אם נגיד מנוע צריך 12V, אני אשים 6V הוא יהיה יותר אטי, אבל יכול להיות שגם החיכוכים וה-settings שלו וכל מה שהוא בנוי לא יעבוד הכי טוב ב-6V, כי הוא צריך 12V. אני אתן לו 12V, וב-duty cycle של 50% אני אוריד אותו לכאילו פעולה של 6V בממוצע. בסדר?

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

נכון. איפה זה יפה בא לידי ביטוי? אתם רואים שהאור שלי מרצד? אתם רואים שיש לי ריצוד? אז בפלורסנטים רואים את הריצוד של הרשת שלנו של ה-50Hz. זה LED. אז המצלמה שלי מאוד אטית, אז היא קולטת את הריצוד של ה-PWM שלי.

אם תיקחו עכשיו את האור של הרכב שלכם, אם יש לכם רכב חשמלי, שמאוד חשוב שם לטסלה להשיג עוד קילומטר בדרך לתחנת טעינה, נכון? הם רבים פה על 480, לא, 500 קילומטר, נכון? על הבטרייה. אז כל התאורות שם הן ב-PWM. הכל שם ב-PWM, המערכת היא 12V, אבל לא צריך שהיא תפעל 100% מהזמן, העין שלנו רואה את זה כאור רציף בלי קשר.

אז יש PWM. תיקחו מצלמה, סקופ, מצלמה שיכולה לקלוט את ה-frame rate הזה, ואתם תראו נגיד מצלמת רוורס של אוטו על פנסים של אוטו חשמלי, אתם תראו את הפנסים מרצדים. כי על ידי זה חסכת, חצי מהזמן הוא לא דולק, חסכת חצי מהאנרגיה.

רק שאלה לגבי ה-duty cycle שכתוב פה. כשאמרת... דיברת על ה-Arduino שזה עובד ב-16MHz, אז איפה ה-duty cycle פה? זה... אתה לוקח לפי ה-16MHz, אתה מחלק את ה-16MHz? לא הבנתי מה...

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

לא לא, רק רציתי להבין...

הלולאה לוקחת, הוא אומר כמה סייקלים יש לו ב-16MHz, וכל כמה זמן הוא מדליק ומכבה את התאורה. וזה כמובן בין 0 ל-255, כמה מהר אתה רוצה.

הבנתי, אז שלב החלוקה בעצם בין 0 ל-255, זה מה שמתחבר לי ממיקודם, הבנתי.

ב-Arduino Uno, PWM זה 256 צעדים, זה בין 0 ל-255. שמה שזה אומר, אני יכול לקחת את ה-LED שלי, מכובה, דולק, ובאמצע יש לי עוד 254 צעדים. מדהים, אז זה מאוד רלוונטי גם למנוע, מאוד רלוונטי גם לסרבו.

## מנוע סרבו

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

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

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

אז הם אמרו: בוא נעשה פה פעולה יותר אטית, חיברו את זה לגיר מכני, ושמו שני רכיבים מאוד מאוד מעניינים. דבר ראשון, פוטנציומטר, שזה נגד שמחליף את ההתנגדות שלו בסיבוב. מה זה אומר? שיש לי איזשהו... נגד, אנחנו כבר יודעים מה הוא, מה זה. לקחו איזשהי קשת, שהיא מחוברת לצורך העניין פה ל-GND. אוקיי? מחוברת ל-GND, ולקחו איזה מוליך שאפשר להזיז אותו. אני יודע שבכל רגע נתון בין פה לפה יש לי $1\Omega$. אם אני אקח פי 2, יש לי פה עוד $1\Omega$. ככל שאני אסגור את המעגל על המוליך הזה ואני אעבור יותר מוליך, הזרם יעבור יותר דרך, ההתנגדות שלי תגדל.

ואז אני יודע ברכיב הפנימי שהם שמו פה, control circuit, למדוד את הזרמים האלה. אני מעביר ל-Arduino מעבר ל-5V, פלוס ומינוס ו-GND, PWM. PWM הוא יודע לקחת את ה-בין 0 ל-255, הוא עושה פונקציה, בטח שחר את מכיר אותה, קוראים לה mapping. נכון? אני ממפה, המרה לינארית, טרנספורמציה לינארית, לכל הערכים שיש לו בין 0 למקסימום התנגדות שיש לו. ובדרך הזאת בעזרת PWM אני אומר לו: לך ל-0 מעלות, לך ל-90 מעלות, לך ל-180 מעלות. ואני שולט באיזה מעלה הוא נמצא.

מנוע סרבו לא עושה סיבובים שלמים?

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

ה-180 חזק יותר, נכון?

זה לא עניין של חזק יותר, אתה יכול לקנות את שניהם מאוד חזקים. יש סרבואים מאוד חזקים שיכולים להרים 20 קילו. העניין הוא של מה היתרון לקחת סרבו ולהסתובב 360? כאילו או שתקח DC, או שתקח stepper motor. אם אתה לא רוצה זווית מאוד מאוד ספציפית ולשלוט בזה, מה היתרון של סרבו?

זאת אומרת סרבו... אתה עובד בעצם עם סרבו כשאתה רוצה לעבוד בטווח של בין 0 ל-180 מעלות?

כן. אם אתה רוצה לעבוד 360 מעלות בצורה מדויקת, תקח stepper. אם אתה רוצה לעבוד 360 מעלות בצורה לא מדויקת, תקח DC. אם אתה רוצה להגיד לו לך לזווית מסוימת, אתה יכול לקחת, להגיד לו לך ל-340 והוא ילך ל-340. אבל צריך להבין מה האפליקציה שאתה משתמש בה, כשאתם בונים מערכת, להבין מה אתם מיישמים, אם יש לזה יתרון או אין לזה יתרון. רוב המנועים של הסרבו זה 180.

ואז אתה יכול לקבוע בעצם בין 0 ל-180 את גודל התנועה שלו?

נכון, ב-Arduino JS אני אגיד לו תלך ל-90 מעלות, הוא ילך ל-90 מעלות. יכולים לעשות כזה מד יפה ב-front ולהזיז אותו, ואתם תראו את הסרבו זז איתכם במעלות.

עכשיו, למדנו כולה שעתיים, אנחנו מ-7.00 עד עכשיו 9.00, אנחנו תיכף נסיים במנוע DC, במנוע stepper. וכבר יש לכם הבנה של כל המערכת פה, מה זה התנגדות, מה זה PWM, מה זה ה-DC, ולמה הוא מתנהג כמו שהוא מתנהג. שזה לדעתי רכיב הסתכלתם עליו עד עכשיו ולא הבנתם בכלל מה הוא עושה. תתקנו אותי אם אני טועה.

לא לא, זה מבחינתי, אתה צודק.

## מנוע צעד

המנוע האחרון שנשאר לדבר עליו, זה מי ששוקי איתה משתמש במדפסות תלת-ממד, אז יש להם המון stepper motors, שהיתרון שלו שהוא רציף ומאוד מאוד מדויק.

אז גם כן, אותה פעולה. לקחנו מוליך, העברנו אותו על איזושהי ליבה, יצרנו שדה חשמלי, שיוצר שדה מגנטי. וכל פעם שאני נותן פולס, אני נותן עוד צעד קטן, עוד צעד קטן, עוד צעד קטן. למעשה אם אני לוקח מנוע סרבו... מנוע, סליחה, stepper, צעד סטנדרטי, שמסתובב 360 מעלות וכל צעד זה 1.8 מעלות, אני יודע שהמנוע הזה זה 200 צעדים.

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

זה מנוע מאוד יקר, מאוד מדויק. מה זה מאוד יקר, כן, שוב, הכל בפרופורציה ביחס לסרבו ול-DC. אבל כל האפליקציות המאוד מדויקות משתמשות בו: מדפסות תלת-ממד, מכונות CNC, חיתוך, ריתוך בלייזר, דברים שצריך רובוסטיות וחזרתיות וכל פעם להגיע לאותו מקום, ולא לתת tolerance, ולא לתת הרבה הרבה אפשרויות להגיע למקום אחר. זה מנוע מאוד מאוד נחמד, שאפשר להשתמש בו ב-Arduino JS.

צריך בשבילו דרייבר חיצוני, כי לא מובנה עליו ה-in-circuit board כמו בסרבו. מה שהדרייבר החיצוני עושה, מעבר לזה שנותנים לו את הזרם לדרייבר החיצוני שיזין את המנוע הזה, כי אנחנו לא נותנים את הזרם מ-Arduino, כי פה בדרך כלל צריך זרמים יותר גבוהים, הוא שולט בפולסים האלו של לתת את הצעד.

מה זה זרמים גבוהים? סתם רק שתגיד.

תלוי באיזה... לא יודע, יצא לי לעבוד עם סטפרים של 1A. שזה נחשב גבוה למעגל חשמלי של Arduino. בכל מקרה Arduino לא יודע לספק 1A, לא משנה כמה תתאמצו, לא יודע.

כמה מספק Arduino פינים שלו, במקסימום?

אז מה שאנחנו עושים, ובזה אנחנו גם נסיים, אני הולך לגוגל, זה חברו הטוב ביותר של האדם, וכותבים: `arduino uno r3 max current`. ורואים את התרשים שלו. 50mA. זה כלום בפיתה. זה כלום בפיתה. אז זה לא המטרה שלו, אתה אמרת את זה בהתחלה, זה נטו בקר לוגי. אין טעם להתעסק בזמן...

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

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

## אלקטרוניקה דיגיטלית וסיכום

אז מה שנשאר לנו כרגע זה בפרק הבא, שבוע הבא, זה להתחיל לצולל למה שאמרתי לכם, על הפין הזה של ה-AREF. אנחנו נתחיל בזה את ההרצאה, כי אפשר להגיע לרזולוציות מדידה מאוד מאוד יפות ב-Arduino. נדבר קצת על חיישנים, ואז ניצול ל-Base 2. Base 2 זה כבר להתחיל לדבר מחשבית. להתחיל לחשוב בינארית.

מי שמתעסק באלקטרוניקה ומדבר בצורה אנלוגית, המוח שלו צריך לחשוב בסוף בינארי, 1 ו-0, אין מה לעשות. עובד, לא עובד. היום דיברתי עם מישהי ואמרתי לה: "אה, זה ברור, זה 1 או 0." היא אמרה לי: "מה זה אומר? מה הכוונה?" אמרתי לה: "עובד, לא עובד, מה זה 1 ו-0?" היא אמרה לי: "אתה תמיד מדבר ככה?" אמרתי לה: "מה לעשות? אנשים בינאריים, אנחנו צריכים ללמוד לדבר בינארית."

סבבה לגמרי. שאלות, טענות, מענות?

לא. מתי אתה מעביר לנו את ה... את הצילום של ההרצאה, של היום?

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

איך מורידים את ההקלטה למחשב?

יהיה לך שם download. יהיה לך לינק ויהיה לך download.

אה, גם של ההרצאה של שבוע שעבר?

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

כן, לינק נתן לי, אבל איך אני מוריד? לא הבנתי איך...

רוצה לפתוח את זה שנייה? אתה רוצה לפתוח להראות לי?

אני יכול לפתוח, כן.

כנס ללינק הזה ואמור להיות לך שם download. אם לא, אני...

כן, אני אכנס אסתכל.

כנראה יש שם download, כי אני לא מנעתי את זה.

שחר, ההרצאה של שבוע שעבר זה היה גם כן הרצאה של התקנות, מה שעשינו. פלוס נגעתי ב-Arduino Studio, אם זה מעניין אותך, arduino.studio.com.

מחכה שתעשה שיתוף. אתה רואה את ה...

לא, אתה צריך על הירוק ולשתף.

רגע.

זה מה שרצינו לשמוע שבוע שעבר, נכון?

לא, אני לא רואה את המסך שלך.

אתה לא רואה את המסך?

עכשיו כן.

עכשיו?

כן.

איך אני מוריד אותו?

יש לך בצד ימין למעלה Download.

איפה?

בצד ימין למעלה. הוא מוריד לך ארבעה קבצים, הוא מוריד לך את קבצי הטקסט... פה בצד ימין. רגע, אני אשים לך annotation שנייה. פה, Download.

איפה? אני לא רואה את הצד ימין.

פה. בצד ימין למעלה, איפה שהיה לך את ה-YouTube.

אה, המיקום שלכם מסתיר את זה, הבנתי, הבנתי.

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

הבנתי, הבנתי. לא ידעתי את זה קודם, אוקיי, תודה לך.

בסדר?

כן, תודה רבה.

בשמחה רבה.

## סיום המפגש

עוד משהו?

לא, תודה רבה, היה מעניין מאוד.

תודה רבה, שחף.

בכיף, בכיף. אם אתם רוצים במהלך השבוע שאלות, טענות, מענות, תרגישו חופשי.

תודה, תודה. שחף, שמתי לך את הכסף.

גם אני, תודה שחף. להתראות.

ביי ביי.

ביי ביי.