1 / 32

סדנאת ארדואינו (לאנשי תוכנה  )

סדנאת ארדואינו (לאנשי תוכנה  ). מרצה: גיא ברשפ. רגע לפני-מי שעוד שלא מכיר. בימי חמישי- הרצאות/סדנאות העשרה בתחומים כלליים וטכנולוגיים, כולכם מוזמנים לגראג' לשמוע וליזום שת"פים. מהרצאות העבר: שרשראות מרקוב ושימושים בסיסמאות פרו-אקטיביות NEO 4J –דטהבייס גראפי ( NOSQL ) Bitcoin

Télécharger la présentation

סדנאת ארדואינו (לאנשי תוכנה  )

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. סדנאת ארדואינו (לאנשי תוכנה  ) מרצה: גיא ברשפ

  2. רגע לפני-מי שעוד שלא מכיר... • בימי חמישי- הרצאות/סדנאות העשרה בתחומים כלליים וטכנולוגיים, כולכם מוזמנים לגראג' לשמוע וליזום שת"פים. • מהרצאות העבר: • שרשראות מרקוב ושימושים בסיסמאות פרו-אקטיביות • NEO 4J–דטהבייס גראפי ( NOSQL) • Bitcoin • Synthetic terrain • Phone OS • למידה חישובית ו- SVM • VLSI Design • ועוד' • מהרצאות העתיד: ECC,Natural language proccessing, • ובפעם הראשונה : • סדנאת Hands ON!

  3. עקרונות הסדנא-מתחילים! • מטרות הסדנא הינן: שיתוף פעולה , תרגול עקרונות פשוטים, כדי לקבל תחושה מספיק טובה כדי לעבוד עם הארדואינו בהמשך. • האופן שבו תבוצע ההדרכה (באידאל): • הסבר תיאורטי קצר (אני)-5 דקות • הדגמה פשוטה(אני)- 5 דקות • תרגול של דברים מתקדמים (אתם)-10-15 דקות • כלל הרכיבים הנם רכוש פרטי,נא להקפיד לשמור עליהם. • לאחר ביצוע המשימות הניתנות,מוזמנים בזמן שנותר לנסות דברים חדשים. • המלצה לעבודה: חלוקת אחריות לחומרה/תוכנה עבור משימה, ושיתוף פעולה. • התלהבות ועזרה הדדית בסיום המשימות.

  4. מה נדבר ומה נתרגל? ארדואינו סקירה (סוגי החומרות,מבנה,שימושים,היכרות עם הציוד) סביבה ,שפה, ועקרונות בסיסיים המעגל האלקטרוני הראשון שלנו  היכרות בסיסית עם מושגי "חומרה"(אנלוגי/דיגטלי) קריאה מסנסור ראשון (והכנת בקר למשאיות ברברס..) הנעת מנוע צד (...) התחברות לממשק סריאלי (RPI/מחשב/מע' שו...) ופיצוח סיסמאות נסיון לבניית פרוייקט עם הרכיבים שהבאתם הדגמת "רואה יורה" open-source.

  5. קצת רקע על עולם המיקרו-בקרים מיקרו-בקר הוא רכיב מתוכנת, שהוא למעשה מערכת מחשבפונקציונלית שלמה, המוכללת ברכיב אלקטרוני בודד. כך ניתן למצוא בתוך הרכיב את כל המרכיבים המקובלים של מערכת מחשב, כמויחידת עיבוד וזיכרון. כפי ששמו מרמז, מטרתו של המיקרו-בקר היא לבקר על תהליכים, ולצורך כך, נמצא במיקרו-בקרים גם רכיבי כניסות ויציאות (I/O), המשמשים לבקרה ולתקשורת עם העולם החיצוני. מיקרו-בקרים מצויים כמעט בכל מוצר המכיל אלמנט אלקטרוני/חשמלי כלשהו, כגון כלי-רכב, מכונות ביתיות ומשרדיות וצעצועים. השימוש במיקרו-בקר כמעגל משולב בודד, במקום מספר רכיבים נפרדים (מיקרו-מעבד, זכרונות ובקרי I/O), מאפשר להקטין בגודל ועלות היצור של מוצרים. קיימים מיקרו בקרים שניתן לתכנת אליהם ב.NET , python ועוד'..

  6. סקירה-ארדואינו אַרְדוּאִינוֹ (מאיטלקית Arduino) הוא מיקרו-בקר בעל מעגל מודפס יחיד (Single Board MicroController), עם סביבת פיתוח משולבת (IDE) ברישיון קוד פתוח, אשר מטרתה ליצור סביבה נוחה וזולה לפיתוח פרויקטים המשלבים תוכנה עם רכיבי אלקטרוניקה.

  7. דוגמאות לפרוייקטים(או: למי יש 40$ לבזבז?) Soon….YOUR ‘S HACKS!

  8. סוגי ארדואינו ליליפאד mega2560 uno /Duemilanove mini אפשרויות משחק עם גודל,מס' יציאות. מאחר שהארדואינו – open hardware,יש מלא סוגים נוספים: Freeduino, RBBB (Really Bare Bones Board), DFRuino, Seeeduino, Roboduino (for robotics), Gator

  9. תכלס, מה נדרש כדי להתחיל עם ארדואינו?(או: בוא נפתח את קופסאת ההפתעות....) מחשב... (35-300$) לוח ארדאינו ( 12$-30$) Breadboard-אופציונלי ( 5$) סנסורים..( סדר גודל 5-10$ לאחד) Shields (סדר גודל של 40$) לדים,נגדים,טרנזיסטורים...( סדר גודל של 15$) ערכת בסיסית טובה ניתן למצוא ב60$, אחרי חיפוש יסודי בגוגל

  10. היכרות ציוד-ארדואינו אונו Background Specs Flash Memory32 KB (ATmega328) of which 0.5 KB used by bootloader SRAM2 KB (ATmega328) EEPROM1 KB (ATmega328) Clock Speed16 MHz

  11. היכרות ציוד-BreadBoard איור: איך חוטי החשמל מחוברים בלוח מאחורה.

  12. היכרות ציוד- LED יש לבדוק V באמצעות מולטימטר

  13. נגדים ( resistors) נמדדים באוהם.(Ω) אין חשיבות לכיוון. ככל שערכם גדול יותר,כך מאבדים יותר מתח. ניתן לחשב את עוצמת ההתנגדות ע"פ טבלת צבעים. (או להיעזר במולטימטר )

  14. Ultrasonic-Sensor מודד מרחק ע"י שליחת פולס בהמשך נחקור את הdata-sheet שלו

  15. ציוד נוסף שיהיה זמין בסדנא באזר(משמיע קול) כפתור-מפסק מנוע צד רגש אור רגיסטר ועוד כ-40 סנסורים בסוף הסדנא (גלאי אש, IR, ג'ויסטיק ועוד'...)

  16. שפה וסביבה-מתחילים לתכנת... סביבת ארדואינו דומה לC- נקראת Wiring (הIDE בנוי ב- JAVA) עוטפת פקודות מכונה של ארדואינו לעבודה בצורה כמעט מיידית. ניתן להוריד אותה בצורה חופשית מ: arduino.cc תוכנית נקראת sketch נכתבת בסינטקס של C ניתן לצרף Headers ומס' קבצים,אך אין לעבור תוכנית מקומפלת גדולה מגודל הFLASH – במקרה של UNO – 32K יש להגדיר את סוג הboard ,קצב הbaud וה-COM תרגול- הארדואינו מחובר למחשב(אם יש צורך,נא להתקין driverמהתיקייה של ארדואינו)

  17. היכרות סביבת עבודה

  18. Basics programming שני מתודות הכרחיות-Setup,loop בSetup נגדיר את כל הפינים שהולכים להשתמש בהם ב Loop נשתמש בהם . פקודות בסיסיות להתחלה: PinMode( pinNumber, type:Output/input) pinNumber,HIGH/LOW))digitalWrite digitalRead(pinNumber, HIGH/LOW) Delay(msec) תרגול ראשון לחימום: הדלקת פין 13

  19. Now for the real thing… אחרי ששיחקנו עם לד קבוע... הגיע הזמן ל.... הרכבת מעגל ראשון!!!!!!!

  20. לפני שמתחילים מעגל ראשון... 1o דרכים בטוחות להרוס את הארדואינו Method #1: Shorting I/O Pins to Ground Method #2: Shorting I/O Pins to Each Other Method #3: Apply Overvoltage to I/O Pins Method #4: Apply External Vin Power Backwards Method #5: Apply >5V to the 5V Connector Pin Method #6: Apply >3.3V to the 3.3V Connector Pin Method #7: Short Vin to GND Method #8: Apply 5V External Power with Vin Load Method #9: Apply >13V to Reset Pin Method #10: Exceed Total Microcontroller Current הוראות אלו נכתבו בעשן וריח של שרוף....

  21. מעגל חשמלי ראשון(קלט/פלט) • ממה מורכב? • זרם ממתח גבוה למתח נמוך • הארקה • רכיבים לטובת מעגלים שניצור: • לד (החלק הקצר יותר מיועד לGND) • נגד(בכיר..) • BreadBoard • איך נראית הסכימה? (UML של עולם החומרה..) • הדגמה פשוטה:הדלקת לד בדיליי

  22. קצת על חומרה ,חוק אום וחוק קירכהוף • חוק אום:V=IR, V-מתח, I-זרם חשמלי, R-התגנדות • לכן אם נתונה לנו נורת לד שתומכת בעלת מתח 1.7 וזרם: 20mA • ע"י חישוב פשוט נקבל כי נצטרך : 0.020 :( 5-1.7) = X אוהם • חוקי קירכהוף(מה לעשות כשיש מספר רכיבים): • בחיבור חשמלי בטור של שניים או יותר רכיבים חשמליים, הזרם שעובר בכל אחד מהרכיבים - זהה, והמתח הכולל עליהם שווה לסכום המתחים על כל אחד מהם בנפרד.ואילו ההנגדות הינה: Req = R1 + R2 + .... Rn • בחיבור חשמלי במקביל של שניים או יותר רכיבים חשמליים, המתח על כל אחד מהם - זהה, והזרם הכולל שעובר בהם שווה לסכום הזרמים שעובר בכל אחד מהם בנפרד. Req = 1/{(1/R1)+(1/R2)+(1/R3)..+(1/Rn)} • הדגמה:מעגל עם נורה. תרגול: הפעלת דימר • תרגול בונוס: עבודה עם רגיסטר

  23. Digital vs analog רציף מול בדיד אנלוגי- אותות רציפים,חלקים,הרבה רעשים,צריך עיבוד. החלפת אנלוגי לדיגטלי מבצע קוואנטיזציה כדי לבצע המרה הפוכה משתמשים ב PWM (~), וכותבים בצורה אנלוגית בשיטה זו בעזרת ארדואינו,ניתן להמיר אות דיגטלי למספר בכ-1024 ( 210 )

  24. (תמונה שווה יותר מ100 מילים)PWM • אות דיגטלי יודע להוציא מתח של 5V או 0V ( duty cycle) • כדי לשלוט על עוצמת אור/מנוע חשמלי נדרשים יותר מצבים. • איך ניתןלמשל להעביר 2.5V ? • נעביר חצי מהזמן 5V חצי מהזמן 0V( 50% duty cycle) • בעזרת הטריק הזה בעצם מבצעים "אינטגרציה" כדי לקבל טווח גדול יותר של ערכים,כאשר זה מתבצע בתדירות גבוהה יחסית

  25. פונקציות שימושיות • map(val, 300, 700, 0, 1024); • analogRead() –from A0-A6 pins • שימו לב כי sensorValue * (5.0 / 1023.0)= Sensor Votls • analogWrite() -via PWM • תרגול: קריאת אות אנלוגי מפוטומטר, והדלקת הנורה בעוצמת האור ההפוכה

  26. סנסור Ultra Sonic • דרכי הפעולה בהתממשקות לסנסור • חיפוש וקנייה בDX/seed studio/… • עיון ב-Data sheet • מחקר עצמאי ( לעשות לו: Reversing..) • מציאת קוד שמישהו כבר מימש... • משימה: כתיבת מערכת למשאיות (ככל שמתקרב יותר,ככה משמיע צלצול בתדירות גבוהה יותר)

  27. מנוע סרבו ניעזר בספרייה Servo.h סרבו הינו סוג של מנוע מיני רבים( סטפר,וכד') מנוע מוגבל ל180 מעלות(וניתן לקבוע לו את הערך (POS) יש לשים לב לחבר אותו ליציאה PWM. יש לשים לב לא להחליף את ה + , - (אדום זה +, חום זה -, כתום=דאטה) אל תקטינו את הדיליי יותר מדיי! זה יתקע אותו. תרגול: Clapper עם כפתור

  28. ממשק סריאלי עם המחשב תקשורת סדרתית (byte by byte) הקצב נמדד ב baud- bits per second (נכוון ל-9600) ניעזר בספרייה Serial Serial.begin(baud); if (Serial. available () > 0) {            value = Serial.read();           /// Serial.write(value);            delay(200); } משימה: לכתוב הזדהות רק ליוזר בשם שלכם להפעיל לד )נתונה תוכנית בפייתון)

  29. הדגמה ממשק סריאלי מערכת רואה יורה שימוש בRaspberry Pi ,לקבלת Input ממצלמה וביצוע "ראייה ממוחשבת" לצורך זיהוי בן אדם. שימוש ב SimpleCV ביצוע reversing לאקדח בועות,והתחברות למנוע שמפגעיל לא "מבצעי" עקב זרם נמוך מהפינים של ארדואינו

  30. ארדואינו בפעם הבאה.. Sheilds סנסורים זה כיף ומגניב... אבל מה עם תקשורת ethernet/BT/zigbee? שמירה על זכרון קבוע (SD)? התממשקות זה למיקום GPS? קבלת מידע מתגי RFID? תקשורת בין רכיבים ( SPI),מגוון מנועים כל אלו ועוד נעשו ע"י Shieldsייעודיים,ופונקציות מוכנות לשליפה, בכ- 40$ לאחד

  31. מקורות http://www.ladyada.net/learn/arduino/ JermeyblumBLOG Hwzone.co.il (המדריך של טובי) Arduino.cc כמוכן את המצגת תוכלו למצוא ב: Barshapp.roadmap.co.il

More Related