- 1 -
‫פרויקט‬ ‫ספר‬
‫לתואר‬ ‫הנדסי‬ ‫גמר‬ ‫פרויקט‬B.Sc.
‫ואלקטרוניקה‬ ‫חשמל‬ ‫בהנדסת‬
‫ממוחשבת‬ ‫ראייה‬ ‫תוצרי‬ ‫יישום‬
‫באמצעות‬‫ע‬ ‫הנשלט‬ ‫רובוט‬"‫י‬FPGA
Implementation of computer
vision products using a robot
controlled by FPGA
‫ציון‬ ‫אדיר‬ ‫רחימי‬ ‫שלומי‬
30128722338084455
‫מנחה‬:‫ד‬"‫נונל‬ ‫טירר‬ ‫ר‬
01/02/16
- 2 -
‫עניינים‬ ‫תוכן‬
‫פרק‬1–‫הקדמה‬...........................................................................................................................6
1.1‫קיצורים‬ ‫רשימת‬......................................................................................................6
1.2‫תקציר‬....................................................................................................................8
1.3Abstract................................................................................................................9
‫פרק‬2–‫רקע‬‫תיאורטי‬..................................................................................................................10
2.1‫מעגלית‬ ‫האף‬ ‫התמרת‬(CHT).................................................................................10
2.2FPGA.................................................................................................................12
2.3‫שפת‬VHDL.........................................................................................................13
2.4‫תוכנת‬‫ה‬-Quartus.................................................................................................13
2.5GUI....................................................................................................................14
2.6‫דיגיטלית‬ ‫תמונה‬ ‫עיבוד‬...........................................................................................15
2.6.1‫כיצד‬‫עובדת‬‫מצלמה‬‫דיגיטלית‬.................................................................................15
2.6.2‫דיגיטלית‬ ‫תמונה‬ ‫עיבוד‬ ‫עקרון‬..................................................................................16
2.7RGB...................................................................................................................18
2.8EEPROM...........................................................................................................19
2.9UART.................................................................................................................20
2.9.1‫מבוא‬....................................................................................................................20
2.9.2‫פונקציו‬‫נאליות‬......................................................................................................20
2.9.3UART‫ב‬-PC.......................................................................................................22
2.10Bluetooth............................................................................................................23
2.10.1SparkFun Bluetooth Modem – BlueSMiRFSilver.............................................24
2.11‫מנוע‬DC-Servo....................................................................................................25
2.11.1‫אמצעי‬‫שליטה‬‫בכיוון‬‫ומהירות‬‫מנועי‬DC)‫גשר‬(H....................................................25
2.11.2‫סכמה‬‫חשמלית‬‫של‬H-Bridge.................................................................................26
2.11.3‫סיכום‬‫אופן‬‫פעולת‬‫קווי‬‫בקרת‬‫המנוע‬‫לקביעת‬‫כיוון‬‫הסיבוב‬........................................26
2.12‫מנוע‬SM-S4303R................................................................................................27
2.13MC74HC541A – octal buffer............................................................................28
2.14‫אפנון‬‫רוחב‬‫פעימה‬–PWM....................................................................................29
- 3 -
‫פרק‬3–‫המערכת‬ ‫מבנה‬................................................................................................................30
3.1GUI....................................................................................................................31
3.1.1‫המשתמש‬ ‫ממשק‬ ‫בניית‬ ‫עקרון‬.................................................................................31
3.1.2‫המשתמש‬ ‫ממשק‬ ‫פעולת‬ ‫אופן‬..................................................................................31
3.1.3‫המשתמש‬ ‫ממשק‬ ‫מבנה‬...........................................................................................32
3.1.4‫ל‬ ‫מהסמארטפון‬ ‫הוידאו‬ ‫שידור‬-Matlab...................................................................33
3.1.5‫פתיחת‬‫הוידאו‬‫בממשק‬‫המשתמש‬............................................................................35
3.1.6‫יצירת‬‫תקשורת‬‫טורית‬‫בעזרת‬‫ממשק‬‫המשתמש‬........................................................36
3.1.7‫שליחת‬‫אותות‬‫ותפעול‬‫פקדי‬‫התנועה‬........................................................................37
3.2‫ע‬ ‫אובייקטים‬ ‫זיהו‬"‫וצבע‬ ‫צורה‬ ‫פ‬..............................................................................38
3.2.1‫רציונל‬..................................................................................................................38
3.2.2‫ע‬ ‫מעגל‬ ‫זיהוי‬"‫התמרת‬ ‫י‬CHT..................................................................................39
3.2.3‫המעגל‬ ‫צבע‬ ‫זיהוי‬...................................................................................................39
3.2.4‫שילוב‬‫ניתוח‬‫הצורה‬‫ובדיקת‬‫הצבע‬‫לכדי‬‫זיהוי‬‫כולל‬....................................................41
3.3UART.................................................................................................................42
3.3.1‫למחשב‬ ‫המודם‬ ‫חיבור‬.............................................................................................42
3.3.2‫ה‬ ‫בניית‬-UART‫וחיבורו‬........................................................................................45
3.4‫חיבור‬‫מוצאי‬‫המערכת‬‫ללוח‬‫ה‬-FPGA....................................................................47
3.4.1‫מנועי‬ ‫חיבור‬‫סרוו‬...................................................................................................47
3.4.2‫ה‬ ‫נוריות‬ ‫חיבור‬-Led..............................................................................................51
3.4.3‫ה‬ ‫חיבור‬-Buffer...................................................................................................52
‫פרק‬4–‫ומסקנות‬ ‫סיכום‬..............................................................................................................53
4.1‫סיכום‬..................................................................................................................53
4.1.1‫קשיים‬‫איתם‬‫התמודדנו‬‫במהלך‬‫הפרויקט‬.................................................................53
4.1.2‫הפרויקט‬ ‫להמשך‬ ‫הצעות‬.........................................................................................54
4.2‫ביבליוגרפיה‬..........................................................................................................55
‫הפרויקט‬ ‫הצעת‬ ‫טופס‬...................................................................................................................56
- 4 -
‫איורים‬ ‫רשימת‬‫וטבלאות‬
‫איור‬1-‫משוואת‬‫מעגל‬..............................................................................................................10
‫איור‬2-‫התמרת‬Hough‫של‬‫מעגל‬‫בעל‬‫רדיוס‬R..........................................................................10
‫איור‬3-‫התמרת‬Hough‫של‬‫מעגל‬‫בעל‬‫רדיוס‬‫שאינו‬‫ידוע‬..............................................................11
‫איור‬4-‫מישור‬Hough.............................................................................................................11
‫איור‬5-‫לוגי‬ ‫בלוק‬....................................................................................................................12
‫איור‬6-‫רכיב‬FPGA‫של‬‫חברת‬Altera......................................................................................12
‫איור‬7-‫ייצוג‬‫סוגי‬‫תמונות‬‫ב‬-Matlab........................................................................................17
‫איור‬8-‫י‬‫יצוג‬‫הקסדצימלי‬‫ל‬-16‫צבעים‬‫בתקן‬HTML 4.01.........................................................19
‫איור‬9-‫זיכרון‬‫מסוג‬EEPROM................................................................................................19
‫איור‬10-‫חבילת‬‫מידע‬‫הנשלחת‬/‫נקלטת‬‫ע‬"‫י‬UART......................................................................20
‫איור‬11-‫סנכרון‬‫קצב‬‫שידור‬‫המידע‬‫המגיע‬‫מהמשדר‬‫למקלט‬..........................................................21
‫טבלה‬12-‫פירוט‬‫הפינים‬‫ביציאה‬‫הטורית‬‫של‬‫ה‬-PC......................................................................22
‫איור‬13-RN42/RN42N to MCU interface.............................................................................24
‫איור‬14-BluteSMiRFSilver Bluetooth modem......................................................................24
‫איור‬15-‫תרשים‬‫רכיב‬‫ה‬-Bluetooth RN41................................................................................24
‫איור‬16-‫מעגל‬‫בקרת‬‫מנועי‬DC‫בארכיטקטורת‬H-Brige.............................................................25
‫איור‬17-‫אופן‬‫פעולת‬‫קווי‬‫בקרת‬‫המנוע‬‫לקביעת‬‫כיוון‬‫הסיבוב‬........................................................26
‫איור‬18-‫מפרט‬‫טכני‬‫של‬‫מנוע‬Servo‫מסוג‬SM-S4303R..............................................................27
‫איור‬19-Buffer function table................................................................................................28
‫איור‬20-‫מבט‬‫כולל‬‫על‬‫כלל‬‫החוצצים‬‫ברכיב‬.................................................................................28
‫איור‬21-Buffer pin assignment..............................................................................................28
‫איור‬22-‫המבנה‬‫הפנימי‬‫של‬‫חוצץ‬‫בודד‬........................................................................................28
‫איור‬23-‫נוסחה‬‫לחישוב‬Duty Cycle..........................................................................................29
‫איור‬24-Pulse Width Modulation..........................................................................................29
‫איור‬25-‫תרשים‬‫זרימה‬‫של‬‫כלל‬‫המערכת‬.....................................................................................30
‫איור‬26-‫מבנה‬‫ממשק‬‫המשתמש‬.................................................................................................32
‫איור‬27-‫צד‬‫לקוח‬‫של‬‫האפליקציה‬DroidCam............................................................................33
‫איור‬28-‫האפליקציה‬DroidCam‫המותקנת‬‫במכשיר‬‫ה‬-Android.................................................33
‫איור‬29-Matlab Support Package Installer............................................................................34
‫איור‬30-Matlab Image Acquisition Tool...............................................................................34
‫איור‬31-‫הצגת‬‫הוידאו‬‫בממשק‬‫המשתמש‬....................................................................................35
- 5 -
‫איור‬32-‫מקלט‬‫ה‬-Bluetooth‫במצב‬‫מחובר‬................................................................................36
‫איור‬33-‫האובייקטים‬‫שנבחרו‬‫לצורך‬‫הזיהוי‬...............................................................................38
‫טבלה‬34-‫טווחי‬‫רמות‬‫הבהירות‬‫לזיהוי‬‫הגוונים‬‫השונים‬.................................................................40
‫איור‬35-‫אחוז‬‫שטח‬‫המעגל‬‫מהתמונה‬‫ה‬-"‫חתוכה‬".......................................................................41
‫איור‬36-‫תרשים‬‫זרימה‬‫של‬‫תהליך‬‫זיהוי‬‫האובייקט‬......................................................................41
‫איור‬37-‫דונגל‬Bluetooth‫דגם‬CSR 4.0.....................................................................................42
‫איור‬38-‫ביצוע‬Pairing‫בין‬‫המחשב‬‫ומודם‬‫ה‬-Bluetooth.............................................................42
‫איור‬39-‫ה‬-COM‫שנוצר‬‫במנהל‬‫ההתקנים‬.................................................................................43
‫איור‬40-‫הגדרות‬‫יציאת‬‫ה‬-COM...............................................................................................43
‫איור‬41-‫אפשור‬‫הצגת‬‫התוכן‬‫המוקלד‬‫בתוכנת‬‫ה‬-Tera Term.......................................................44
‫איור‬42-‫הצגת‬‫הגדרות‬‫מודם‬‫ה‬-Bluetooth...............................................................................44
‫איור‬43-‫שינוי‬‫ה‬-Baud rate‫בתוכנת‬‫ה‬-Tera Term....................................................................45
‫איור‬44-‫רכיב‬‫ה‬-UART...........................................................................................................46
‫איור‬45-‫הצגת‬‫קוד‬‫ה‬-Ascii‫של‬‫תו‬‫בנוריות‬‫ה‬-DE-nano.............................................................46
‫איור‬46-‫כיווני‬‫תנועת‬‫מנוע‬‫ה‬-Servo..........................................................................................47
‫איור‬47-‫מנוע‬Servo‫מדגם‬SM-S4303R...................................................................................47
‫איור‬48-‫רכיבי‬‫ה‬-PWM‫בערוצים‬‫השונים‬..................................................................................48
‫איור‬49-‫ערכי‬‫מחלק‬‫התדר‬........................................................................................................49
‫איור‬50-‫אותות‬PWM‫הנשלחים‬‫למנועי‬‫ה‬-Servo......................................................................49
‫איור‬51-‫סכמת‬RTL‫של‬‫רכיב‬‫ה‬-PWM....................................................................................50
‫איור‬52-‫רכיב‬‫הדלקת‬‫וכיבוי‬‫נוריות‬‫ה‬-Led................................................................................51
‫איור‬53-‫ווקטור‬‫הדלקת‬‫וכיבוי‬‫נוריות‬‫ה‬-Led.............................................................................51
‫איור‬54-‫סכמת‬‫הרכיב‬‫ששולט‬‫בהפעלת‬‫ה‬-Led...........................................................................51
‫איור‬55-‫המבנה‬‫הפנימי‬‫של‬‫חוצץ‬‫בודד‬........................................................................................52
- 6 -
‫פרק‬1–‫הקדמה‬
1.1‫קיצורים‬ ‫רשימת‬
USB – Universal Serial Bus
RPM – Round Per Minute
VGA – Video Graphics Array
RoHS – Restriction of Hazardous Substances Directive
GUI – Graphical User Interface
RGB – Red Green Blue
EEPROM – Electrically Erasable Programmable Read Only Memory
UART – Universal Asynchronous Receiver Transmitter
PC – Personal Computer
DC – Direct Current
PWM – Pulse Width Modulation
FPGA – Field Programmable Gate Array
LED – Light Emitting Diode
CHT – Circular Hough Transform
SOC – System On Chip
VLSI – Very Large Scale Integration
ASIC – Application Specific Integrated Circuit
CCD – Charge Coupled Device
- 7 -
VGA – Video Graphics Array
JPEG – Joint Photographic Experts Group
LCD – Liquid Crystal Display
LSB – Least Significant Bit
MSB – Most Significant Bit
FHSS – Frequency Hopping Spread Spectrum
PAN – Personal Area Network
ISM – Industrial Scientific and Medical
AFH – Adaptive Frequency Hopping Spread Spectrum
SPP – Serial Port Profile
MOSFET – Metal Oxide Semiconductor Field Effect Transistors
WiFi – Wireless Fidelity
IP – Internet Protocol
ISI – Intersymbol Interference
COM – Component Object Model
Ascii – American Standard Code For Information Interchange
VHSIC – Very High Speed Integrated Circuits
VHDL – VHSIC Hardware Description Language
RTL – Register Transfer Logic
- 8 -
2.1‫תקציר‬
‫תחום‬‫ה‬‫ראייה‬‫ה‬‫ממוחשבת‬‫תופס‬‫מקום‬‫הולך‬‫וגדל‬‫במוצרים‬‫שנמצאים‬‫בחזית‬‫הטכנולוגית‬‫בימנו‬.
‫בין‬‫אם‬‫בתעש‬‫י‬‫יה‬-‫באוטומציה‬‫של‬‫תהליכים‬‫אשר‬‫היו‬‫נחלתם‬‫של‬‫מפעילים‬‫אנושיים‬‫בעבר‬,‫כגון‬‫בדיקות‬
‫ואבטחת‬‫איכות‬‫או‬‫בתקשורת‬‫חזותית‬,‫באינטרנט‬‫ובסרטי‬‫וידיאו‬‫דיגיטליים‬.
‫נושאי‬‫אבטחה‬‫משודרגים‬‫הם‬ ‫גם‬‫על‬‫ידי‬‫שימוש‬‫בטכניקות‬‫של‬‫עיבוד‬‫תמונה‬‫וראייה‬‫ממוחשב‬‫ת‬‫לצרכים‬‫של‬
‫זיהוי‬‫ועקיבה‬‫אחר‬‫אנשים‬,‫פנים‬‫ומטרות‬‫אחרות‬.‫ביצוע‬‫של‬‫משימות‬‫מהסוג‬‫הנ‬"‫ל‬‫באמצעות‬‫ראייה‬‫ממוחשבת‬
‫משפר‬‫באופן‬‫משמעותי‬‫את‬‫איכות‬‫תוצאותיהן‬‫ומקטין‬‫מאוד‬‫את‬‫עלות‬‫ביצוע‬‫ן‬.
‫מטרת‬‫ע‬ ‫ויישומם‬ ‫ממוחשבת‬ ‫ראייה‬ ‫תוצרי‬ ‫עיבוד‬ ‫ביצוע‬ ‫היא‬ ‫הפרויקט‬"‫באמצעות‬ ‫הנשלט‬ ‫רובוט‬ ‫י‬FPGA.‫הדבר‬
‫ע‬ ‫נעשה‬"‫ממצלמת‬ ‫אמת‬ ‫בזמן‬ ‫המצולם‬ ‫וידאו‬ ‫בסרט‬ ‫שראשיתה‬ ‫תהליכים‬ ‫שרשרת‬ ‫י‬Smartphone‫ע‬ ‫המותקן‬‫ל‬
‫עיבוד‬ ‫למטרת‬ ‫למחשב‬ ‫ושליחתו‬ ‫הרובוט‬ ‫גבי‬.‫תוכנת‬ ‫באמצעות‬ ‫נעשה‬ ‫העיבוד‬Matlab‫עיקרו‬ ‫כאשר‬,‫זיהוי‬
‫גיאומטרים‬ ‫אובייקטים‬ ‫וסיווג‬)‫הרובוט‬ ‫נמצא‬ ‫בו‬ ‫החדר‬ ‫בחלל‬ ‫מפוזרים‬ ‫אשר‬(,‫ע‬"‫וצבע‬ ‫צורה‬ ‫פ‬.‫העיבוד‬ ‫תוצרי‬
‫מועברות‬ ‫אשר‬ ‫פקודות‬ ‫למתן‬ ‫מתורגמים‬‫בתקשורת‬ ‫שימוש‬ ‫תוך‬ ‫לרובוט‬‫טורית‬‫ע‬ ‫אלחוטי‬ ‫ובאופן‬"‫י‬Bluetooth.
‫למקלט‬ ‫מגיע‬ ‫המידע‬Bluetooth‫הרו‬ ‫גבי‬ ‫על‬ ‫הנמצא‬‫ל‬ ‫ישירות‬ ‫ומוזרם‬ ‫בוט‬-FPGA‫באמצעות‬UART‫אשר‬
‫מהמשדר‬ ‫המגיע‬ ‫המידע‬ ‫שידור‬ ‫קצב‬ ‫עם‬ ‫ומסונכרן‬ ‫בלבד‬ ‫כמקלט‬ ‫מהווה‬)‫המחשב‬.(‫ה‬-FPGA‫כבקר‬ ‫המשמש‬
‫יציאות‬ ‫דרך‬ ‫מחובר‬I/O‫מנועי‬ ‫באמצעות‬ ‫המונעים‬ ‫הרובוט‬ ‫לגלגלי‬Servo‫ולנוריות‬LED‫ירוק‬ ‫בצבעים‬,‫אדום‬
‫וצהוב‬,‫המעובד‬ ‫למידע‬ ‫בהתאם‬ ‫אותם‬ ‫ומפעיל‬.
‫ע‬ ‫ונשלט‬ ‫מנוהל‬ ‫התהליך‬ ‫כל‬"‫אפליקציית‬ ‫י‬GUI‫בסביבת‬ ‫נכתבה‬ ‫אשר‬‫ה‬-Matlab‫המשתמש‬ ‫יכול‬ ‫ובעזרתה‬
‫אמת‬ ‫בזמן‬ ‫עליו‬ ‫המותקנת‬ ‫מהמצלמה‬ ‫הרובוט‬ ‫תנועת‬ ‫את‬ ‫לראות‬,‫יצ‬ ‫דרך‬ ‫הרובוט‬ ‫עם‬ ‫להתממשק‬‫טורית‬ ‫יאה‬
‫ע‬ ‫הנבחרת‬"‫המשתמש‬ ‫י‬,‫ל‬‫שלוט‬‫ע‬ ‫בתנועתו‬"‫אובייקטים‬ ‫זיהוי‬ ‫ולאבחן‬ ‫ייעודיים‬ ‫פקדים‬ ‫י‬‫במרחב‬.
- 9 -
1.3 Abstract
These days, the field of computer vision is playing an increasingly growing part in the
technological front. In the industry we are witnessing automation of processes which were
shared by human operators in the past, such as tests, quality assurance of visual media,
Internet and digital videos. Security issues too, are being upgraded with techniques of image
processing and computer vision for the identification and tracking of people, faces and other
purposes. These techniques significantly improve the quality of the results and greatly reduce
costs.
This project's goal is to process computer vision products and their application, by using an
FPGA-controlled robot. This is done by a chain of processes that begin with real time video
footage taken with a Smartphone mounted on the robot and sent to a computer for processing.
The processing is done using Matlab software that identifies and classifies geometric objects
(scattered in the room where the robot is located), according to shape and color. The products
of this processing are then translated into commands which are transferred to the robot (with
wireless Bluetooth) using serial control media. The information is then broadcast to the
Bluetooth receiver on the robot and sent directly to the FPGA via UART that acts as a receiver
only and is synchronized with the transmission rate of information received from the
transmitter (The computer). The FPGA is used as a controller that is connected via I/O ports to
the robot’s wheels which run with Servo motors and to LED lights (green, red and yellow),
operating them according to the information processed.
The entire process is managed and controlled by a GUI application that was written in the
Matlab environment and with which the user can see the robot's movement from the camera
installed on it, in real-time. The user shares the interface with the robot through a serial port
selected by the user, hereby controlling the motion with dedicated controls and diagnosing
identification of the objects in the space.
- 10 -
‫פרק‬2–‫תיאורטי‬ ‫רקע‬
2.1‫האף‬ ‫התמרת‬‫מעגלית‬(CHT)
‫התמרת‬‫האף‬(Hough transform)‫הינה‬‫שיטה‬‫למציאת‬‫אלמנטים‬‫המשמשת‬‫בניתוח‬‫תמונה‬,‫ראייה‬
‫ממוחשבת‬‫ועיבוד‬‫תמונה‬.‫מטרת‬‫האלגוריתם‬‫הינה‬‫מציאת‬‫מקרים‬‫לא‬‫מושלמים‬‫של‬‫אובייקטים‬‫בתוך‬‫סוג‬
‫מסוים‬‫של‬‫צורות‬‫על‬‫ידי‬‫תהליך‬"‫הצבעה‬."‫הליך‬‫הצבעה‬‫זה‬‫מתבצע‬‫במרחב‬‫פרמטרים‬,‫שממנו‬‫אובייקטים‬
"‫מועמדים‬"‫מתקבלים‬‫כמקסימום‬‫מקומי‬‫במרחב‬‫סוכם‬(Accumulator)‫הנבנה‬‫על‬‫ידי‬‫האלגוריתם‬.
‫אלגוריתם‬‫האף‬‫בהגדרתו‬‫הראשונית‬‫עסק‬‫בזיהוי‬‫של‬‫קווים‬‫בתמונה‬,‫אך‬‫מאוחר‬‫יותר‬‫הורחב‬‫גם‬‫לזיהוי‬
‫מיקומים‬‫של‬‫צורות‬‫כלשהן‬.‫הצורות‬‫הנפוצות‬‫ביותר‬‫בהקשר‬‫להתמרת‬‫האף‬‫הן‬‫מעגלים‬‫או‬‫אליפסות‬.
‫ע‬ ‫מוגדת‬ ‫אשר‬ ‫גיאומטרית‬ ‫צורה‬ ‫הינה‬ ‫מעגל‬"‫הבאה‬ ‫המתמטית‬ ‫התבנית‬ ‫י‬:
( ) + ( ) =
a,b‫המתארים‬ ‫פרמטרים‬ ‫הם‬‫שיעור‬ ‫את‬‫י‬‫ו‬ ‫המעגל‬ ‫מרכז‬-R‫המעגל‬ ‫רדיוס‬ ‫הינו‬.‫ביצוע‬ ‫הוא‬ ‫האלגוריתם‬ ‫מטרת‬
‫קצוות‬ ‫זיהוי‬(edge detection)‫כ‬‫ייצור‬ ‫אשר‬ ‫ראשוני‬ ‫סינון‬ ‫גורם‬‫תמונה‬‫האובייקטים‬ ‫של‬ ‫המתאר‬ ‫קווי‬ ‫ובה‬
‫הנבדקים‬.‫המעגל‬ ‫רדיוס‬ ‫מהו‬ ‫ידוע‬ ‫כאשר‬(R)‫מחפשים‬ ‫אותו‬,‫דו‬ ‫בצורה‬ ‫יתבצע‬ ‫החיפוש‬ ‫אופן‬‫ממדית‬‫ע‬"‫י‬‫סריקת‬
‫הנק‬ ‫כל‬'‫האובי‬ ‫של‬ ‫ההיקף‬ ‫על‬ ‫הנמצאות‬‫נק‬ ‫שיעורי‬ ‫זוג‬ ‫כל‬ ‫כאשר‬ ‫הנבדק‬ ‫יקט‬'‫מסוימת‬(x,y)‫התמונה‬ ‫במישור‬,
‫נק‬ ‫מהווה‬'‫מעגל‬ ‫מרכז‬(a,b)‫רדיוס‬ ‫בעל‬R‫האף‬ ‫במישור‬:
‫איור‬1–‫מעגל‬ ‫משוואת‬
‫איור‬2–‫התמרת‬Hough‫רדיוס‬ ‫בעל‬ ‫מעגל‬ ‫של‬R
- 11 -
‫סוכם‬ ‫המכונה‬ ‫מימדי‬ ‫דו‬ ‫במערך‬ ‫שימוש‬ ‫באמצעות‬(Accumulator)‫הפרמטרים‬ ‫של‬ ‫הערכים‬ ‫את‬ ‫מכיל‬ ‫אשר‬a, b
‫לבצע‬ ‫ניתן‬"‫הצבעה‬"‫מופי‬ ‫הם‬ ‫בה‬ ‫הפעמים‬ ‫כמות‬ ‫לפי‬ ‫לערכים‬‫עים‬.‫ההצבעה‬ ‫את‬ ‫שיקבל‬ ‫הערכים‬ ‫צמד‬
‫המקסימאלי‬‫ת‬‫סף‬ ‫ערך‬ ‫יעבור‬ ‫ואשר‬(Ttreshold)‫מראש‬ ‫שיקבע‬,‫נק‬ ‫יהווה‬'‫רדיוס‬ ‫בעל‬ ‫המעגל‬ ‫מרכז‬R‫נתון‬.
)‫הנק‬'‫בשרטוט‬ ‫הכתומה‬.(
‫המע‬ ‫רדיוס‬ ‫כאשר‬‫גל‬(R)‫אותו‬‫ידוע‬ ‫אינו‬ ‫מחפשים‬,‫נק‬ ‫כל‬'‫חרוט‬ ‫בצורת‬ ‫למשטח‬ ‫מתורגמת‬ ‫התמונה‬ ‫במישור‬
‫האף‬ ‫במישור‬.‫שונים‬ ‫וברדיוסים‬ ‫משותף‬ ‫מרכז‬ ‫בעלי‬ ‫מעגלים‬ ‫של‬ ‫מאוסף‬ ‫בנוי‬ ‫שכזה‬ ‫חרוט‬ ‫כל‬ ‫כאמור‬:
‫מספר‬‫הממדים‬‫של‬‫הסוכם‬‫צריך‬‫להיות‬‫שווה‬‫למספר‬‫הפרמטרים‬‫הלא‬‫ידועים‬(a,b,R),‫כלומר‬,‫שלוש‬.‫נק‬ ‫כל‬'
‫בעל‬ ‫בסוכם‬ ‫לתא‬ ‫מתורגמת‬ ‫התמונה‬ ‫במישור‬‫הפרמטרים‬‫ה‬‫מתאימים‬‫מוגדל‬ ‫וערכו‬‫באחד‬.‫על‬‫ידי‬‫מציאת‬
‫התאים‬‫עם‬‫הערכים‬‫הגבוהים‬‫ביותר‬‫בסוכם‬,‫בדרך‬‫כלל‬‫באמצעות‬‫מציאת‬‫מקסימום‬‫מקומי‬‫בו‬,‫ניתן‬‫לגלות‬‫את‬
‫ה‬‫מעגלים‬‫בעלי‬‫ההסתברות‬‫הגבוהה‬‫ביותר‬.‫כאמור‬,‫הדרך‬‫הפשוטה‬‫ביותר‬‫למציאת‬‫פסגות‬‫אלו‬‫הינה‬‫באמצעות‬
‫הפעלת‬‫סף‬(Threshold).‫עם‬‫זאת‬,‫קיימות‬‫טכניקות‬‫אחרות‬‫אשר‬‫עשויות‬‫להניב‬‫תוצאות‬‫טובות‬‫יותר‬‫בנסיבות‬
‫שונות‬.‫בשל‬‫חוסר‬‫דיוק‬‫של‬‫אלגוריתם‬‫זיהוי‬‫הקצוות‬,‫יש‬‫בדרך‬‫כלל‬‫שגיאות‬‫בסוכם‬,‫אשר‬‫עשויות‬‫להקשות‬‫על‬
‫מציאת‬‫הפסגות‬‫המתאימות‬,‫ובכך‬‫גם‬‫את‬‫ה‬‫מעגלים‬‫המתאימים‬.‫התוצאה‬‫הסופית‬‫של‬‫האלגוריתם‬‫הינה‬‫מערך‬
‫תלת‬‫ממדי‬,‫בעל‬‫ציר‬‫אחד‬‫המייצג‬‫את‬R,‫את‬ ‫המייצג‬ ‫אחד‬ ‫ציר‬a‫וציר‬‫נוסף‬‫המייצג‬‫את‬b.‫לכל‬‫תא‬‫במערך‬‫ערך‬
‫מסוים‬‫והתאים‬‫בעלי‬‫הערכים‬‫הגבוהים‬‫ביותר‬‫מייצגים‬‫את‬‫ה‬‫מעגלים‬‫האינדוקטיביים‬‫ביותר‬‫בתמונה‬.‫במישור‬
‫האף‬,‫הנק‬'‫המבוקש‬ ‫המעגל‬ ‫את‬ ‫המייצגים‬ ‫הערכים‬ ‫בעלת‬,‫כנק‬ ‫תבוטא‬'‫מס‬ ‫נחתכים‬ ‫בה‬'‫מקסימאל‬‫י‬‫של‬
‫קונוסים‬.
‫איור‬3–‫התמרת‬Hough‫ידוע‬ ‫שאינו‬ ‫רדיוס‬ ‫בעל‬ ‫מעגל‬ ‫של‬
‫איור‬4–‫מישור‬Hough
‫כנת‬‫הבנוי‬‫כמעגל‬‫משולב‬Integrated)
‫לתכנות‬.‫בלוקים‬‫לוגיים‬‫הם‬‫אוסף‬‫של‬
‫בוררים‬‫ומפענחים‬‫ואף‬‫רכיבי‬‫ז‬‫י‬‫כרון‬‫מ‬-
‫שכבה‬‫זו‬‫נמצאת‬‫שכבה‬‫שבעת‬‫צריבת‬
‫ה‬‫רכיבים‬‫האלה‬‫ובין‬‫הבלוקים‬
‫המתאים‬‫לקוד‬.‫ה‬-FPGA‫התחיל‬‫את‬
‫הפעולה‬‫של‬‫ה‬-FPGA‫גדלו‬,‫גדל‬‫גם‬‫נתח‬
‫על‬‫שבב‬)SoC.(
‫אותו‬‫אופי‬,‫אך‬‫שונות‬‫אחת‬‫מהשנייה‬
‫קטנות‬.‫במעגלים‬‫אלו‬,‫העלות‬‫של‬
‫לפיתוח‬‫של‬‫מעגל‬‫חשמלי‬‫בעל‬‫ממשקים‬
‫המעגלים‬‫שמיוצרים‬.
‫בתחומים‬‫הדורשים‬‫עיבוד‬‫מקבילי‬,‫וניתן‬
‫אות‬‫השעון‬‫נמוך‬‫יחסית‬.‫יכולת‬‫זו‬
‫של‬‫עיבוד‬,‫שבו‬‫רכיבי‬‫ה‬-FPGA
‫תצורה‬‫ספציפית‬,‫שנטען‬‫לתוך‬‫ה‬-
‫מבחינת‬‫מהירות‬‫והספק‬‫חשמלי‬
‫האפשרית‬‫הנמוכה‬‫ב‬-FPGA,‫בהשוואה‬
‫להפחית‬‫את‬‫הדיוק‬‫היכן‬‫שניתן‬,‫על‬‫מנת‬
‫יחסית‬)‫בהשוואה‬‫לתוכנה‬‫רגילה‬(
‫להשתמש‬‫בתצורה‬‫הזו‬.
‫איור‬6–‫רכיב‬FPGA‫חברת‬ ‫של‬Altera
- 12 -
(Field Programmable Gate Array‫הינו‬‫רכיב‬‫אלקטרוני‬‫מת‬‫ו‬‫כנת‬
‫בתוכו‬‫מספר‬‫רב‬‫מאוד‬‫של‬"‫בלוקים‬‫לוגיים‬"‫הניתנים‬‫לתכנות‬
‫שער‬NOT‫ו‬-(AND,‫רכיבים‬‫מורכבים‬‫יותר‬‫כגון‬‫בוררים‬
‫ועד‬‫רגיסטרים‬‫ובלוקים‬‫שלמים‬‫של‬‫תאי‬‫זיכרון‬.‫מעל‬‫שכבה‬
‫המשתמש‬‫לרכיב‬FPGA,‫יוצרת‬"‫קשרים‬"‫חשמליים‬‫בין‬‫ה‬
‫בהתאם‬‫להגדרות‬‫שקבע‬‫המתכנת‬‫ובכך‬‫נוצר‬‫מעגל‬‫חשמלי‬‫המתאים‬
‫ומתחרה‬‫ל‬-CPLD,‫אך‬‫ככל‬‫שהגודל‬,‫היכולות‬,‫ומהירות‬‫הפעולה‬
‫מסוג‬‫זה‬,‫וכיום‬‫מקובל‬‫למצוא‬‫רכיבי‬FPGA‫כמערכת‬‫על‬
‫ברכיבי‬FPGA‫עבור‬‫מעגלים‬‫שנועדו‬‫לבצע‬‫משימות‬‫בעלות‬‫אותו‬
‫ולא‬‫בממשקים‬‫החיצוניים‬(,‫ואשר‬‫מיוצרים‬‫בכמויות‬‫קטנות‬
‫כל‬‫דגם‬‫היא‬‫גבוהה‬‫יחסית‬,‫ולכן‬‫יש‬‫היגיון‬‫לשאוף‬‫לפיתוח‬
‫שיתאימו‬‫למספר‬‫מוצרים‬‫שונים‬,‫ובכך‬‫להגדיל‬‫את‬‫כמות‬‫המעגלים‬
‫הפנימי‬‫של‬‫רכיבי‬‫ה‬-FPGA,‫הם‬‫שימושיים‬‫במיוחד‬‫בתחומים‬
‫גדולה‬‫יחסית‬‫של‬‫פעולות‬‫וחישובים‬,‫אפילו‬‫כאשר‬‫קצב‬‫אות‬
‫בתחום‬‫פיצוח‬‫הצפנות‬,‫ואף‬‫פתחה‬‫אפשרות‬‫לסוג‬‫חדש‬‫של‬
‫הראשי‬‫בביצוע‬‫פעולות‬‫מסוימות‬,‫לפעמים‬‫על‬‫פי‬‫הגדרת‬‫תצורה‬
‫ביצוע‬‫החישוב‬‫ב‬-FPGA.
‫בשילוב‬‫רכיבי‬FPGA‫במחשבים‬‫היא‬‫יכולת‬‫הביצועים‬‫מבחינת‬
VLSI‫בתכנון‬‫מלא‬‫וב‬-ASIC‫ומגבלת‬‫הס‬‫י‬‫בוכיות‬‫האפשרית‬
‫בתוכנה‬‫רגילה‬.‫אחת‬‫הדרכים‬‫להתמודד‬‫עם‬‫מגבלה‬‫זו‬‫היא‬‫להפחית‬
‫המקביליות‬‫של‬‫ה‬-FPGA.‫מגבלה‬‫נוספת‬‫היא‬‫זמן‬‫ההכנה‬‫הארוך‬
‫מסוים‬‫בתצורת‬‫הטעינה‬‫של‬‫ה‬-FPGA,‫עד‬‫לרגע‬‫שניתן‬
‫לוגי‬ ‫בלוק‬‫איור‬
2.2FPGA
FPGAField Programmable Gate Array)
(Circuit‫המכיל‬‫בתוכו‬
‫שער‬‫ים‬‫לוגיים‬)‫כמו‬
Flip-flops‫בודדים‬‫ועד‬
‫התוכנית‬‫שכתב‬‫המשתמש‬
‫הלוגיים‬‫עצמם‬‫בהתאם‬
‫דרכו‬‫כמקביל‬‫ומתחרה‬
‫השוק‬‫של‬‫רכיבים‬‫מסוג‬
‫נהוג‬‫להשתמש‬‫ברכיבי‬
‫בלוגיקה‬‫הפנימית‬)‫ולא‬
‫התכנון‬‫והייצור‬‫של‬
‫משותפים‬‫שיתאימו‬
‫בזכות‬‫המבנה‬‫הפנימי‬
‫לבצע‬‫בהם‬‫כמות‬‫גדולה‬
‫שימושית‬‫במיוחד‬‫בתחום‬
‫מסייעים‬‫למעבד‬‫הראשי‬
FPGA‫מיד‬‫לפני‬‫ביצוע‬
‫המגבלה‬‫העיקרית‬‫בשילוב‬
‫בהשוואה‬‫למעגלי‬VLSI
‫לאפשרויות‬‫בתוכנה‬
‫לנצל‬‫את‬‫המקביליות‬
‫מרגע‬‫שהוגדר‬‫שינוי‬
‫איור‬5–‫לוגי‬ ‫בלוק‬
- 13 -
2.3‫שפת‬VHDL
‫שפת‬VHDL(Very High Speed Integrated Circuits Hardware Description Language)‫נוצרה‬‫כתוצאה‬
‫מחקר‬ ‫מפרויקט‬‫ה‬ ‫בשנות‬ ‫שערכו‬ ‫גדול‬-80‫האמריקאי‬ ‫ההגנה‬ ‫משרד‬.‫נקרא‬ ‫הפרויקט‬VHSIC
(Very High Speed Integrated Circuit).
‫המטרה‬‫הייתה‬‫ליצור‬‫שפת‬‫תיעוד‬‫וסימולציה‬‫סטנדרטית‬‫לתיאור‬‫חומרה‬‫ספרתית‬‫מורכבת‬.‫במשך‬‫השנים‬
‫הצטרפו‬‫חברות‬‫מהתעשייה‬‫לפיתוח‬‫השפה‬,‫כגון‬:IBM,TI‫וכו‬,'‫ולאחר‬‫שיפורים‬‫שנערכו‬‫הוגדר‬‫בשנת‬1987‫תקן‬
IEEE 1076‫שמגדיר‬‫באופן‬‫בסיסי‬‫את‬‫השפה‬.‫עם‬‫השנים‬‫התווספו‬‫תקנים‬‫לסוגי‬‫מידע‬‫ספציפיים‬,‫כגון‬:‫לסוגי‬
‫מידע‬‫סטנדרטים‬-1164,‫לחבילות‬‫מתמטיות‬-1076.2‫וכו‬'.
‫כיום‬‫השפה‬‫מכילה‬‫בנוסף‬‫לכלי‬‫הסימולציה‬,‫כלי‬‫סינתזה‬‫והינה‬‫אחת‬‫משפות‬‫תיאור‬‫החומרה‬‫הנפוצות‬
‫בתעשייה‬‫ובאקדמיה‬.‫התכנון‬‫בעזרת‬‫השפה‬‫נעשה‬‫בהתאם‬‫לתכנון‬‫הספרתי‬‫המקובל‬‫שהינו‬‫בניית‬‫ארכיטקטורה‬
‫של‬‫המערכת‬,‫הגדרת‬‫יחסי‬‫גומלין‬‫בין‬‫החלקים‬‫המבצעים‬‫לבין‬‫החלקים‬‫המבקרים‬‫בתוך‬‫המערכת‬,‫כתיבת‬‫קוד‬,
‫סימולציה‬‫וסינתזה‬.
2.4‫ה‬ ‫תוכנת‬-Quartus
‫ה‬ ‫תוכנת‬-Quartus‫ע‬ ‫פותחה‬"‫חברת‬ ‫י‬ALTERA‫ל‬‫ברי‬ ‫רכיבים‬ ‫עבור‬ ‫שימושים‬-‫תכנות‬‫כ‬‫דוג‬‫מת‬FPGA.‫בעזרת‬
‫לרכיבים‬ ‫וסינתזות‬ ‫סימולציות‬ ‫לערוך‬ ‫ניתן‬ ‫התוכנה‬‫ו‬‫הנוצר‬ ‫החומרה‬ ‫מימוש‬ ‫את‬ ‫לוודא‬ ‫ניתן‬ ‫בנוסף‬‫ע‬"‫סכמת‬ ‫י‬
RTL‫ברכיבים‬ ‫הקוד‬ ‫את‬ ‫לצרוב‬ ‫ואף‬.‫חברת‬ ‫כיום‬ALTERA‫תשלום‬ ‫ללא‬ ‫תוכנה‬ ‫גרסת‬ ‫מספקת‬‫אשר‬‫נקראת‬
"Quartus II Web Edition".
- 14 -
2.5GUI
GUI(Graphical User Interface)‫הוא‬‫ממשק‬‫משתמש‬‫לתוכנה‬‫או‬‫לאתר‬‫אינטרנט‬,‫המבוסס‬‫על‬‫עיצוב‬‫גרפי‬
)‫להבדיל‬‫מעיצוב‬‫טקסטואלי‬‫בלבד‬(‫של‬‫המסך‬‫המוצג‬‫למשתמש‬.‫כרכיבים‬ ‫המשמשים‬ ‫פקדים‬ ‫מכיל‬ ‫הוא‬
(components)‫משימות‬ ‫לבצע‬ ‫למשתמש‬ ‫מאפשרים‬ ‫אשר‬‫אינטראקטיביו‬‫ת‬.‫המשתמש‬‫אינו‬‫צריך‬‫ליצור‬
‫תסריט‬(script)‫או‬‫להקליד‬‫פקודות‬‫בשורת‬‫הפקודה‬‫כדי‬‫לבצע‬‫את‬‫המשימות‬.‫שלא‬‫כמו‬‫קידוד‬‫תוכניות‬
‫ביצוע‬ ‫למטרת‬‫מש‬‫י‬‫מות‬,‫המשתמש‬‫אינו‬‫צריך‬‫להבין‬‫את‬‫הפרטים‬‫של‬‫איך‬‫המשימות‬‫מבוצעות‬.
‫רכיבי‬‫ממשק‬‫ה‬‫משתמש‬‫יכולים‬‫לכלול‬‫תפריטים‬,‫סרגלי‬‫כלים‬,‫לחצנים‬,‫כפתורי‬‫רדיו‬,‫תיבות‬‫רשימה‬,‫מחוונים‬
‫ועוד‬.‫הנ‬ ‫ממשק‬‫וצר‬‫באמצעות‬‫כלים‬‫כדוגמת‬ ‫ייעודיים‬MATLAB,‫יכול‬‫גם‬‫לבצע‬‫כל‬‫סוג‬‫של‬‫חישוב‬,‫לקרוא‬
‫ולכתוב‬‫קבצי‬‫נתונים‬,‫ל‬‫תקשר‬‫עם‬‫ממשקי‬‫משתמש‬‫אחרים‬,‫ו‬‫להציג‬‫נתוני‬‫ם‬‫גרפים‬ ‫או‬ ‫טבלאות‬ ‫באמצעות‬.
‫לרוב‬,‫מממ‬‫לקריאות‬ ‫מחכה‬ ‫משתמש‬ ‫שק‬‫מהמשתמש‬‫פעולות‬ ‫לביצוע‬,‫התור‬ ‫לפי‬ ‫קריאה‬ ‫לכל‬ ‫מגיב‬ ‫ואז‬.‫פקד‬ ‫לכל‬
‫פונקצית‬ ‫יש‬ ‫ופקד‬Callback‫קריאה‬ ‫קבלת‬ ‫בעת‬ ‫ומבוצעות‬ ‫מראש‬ ‫שנכתבו‬ ‫פקודות‬ ‫של‬ ‫סט‬ ‫מבצעת‬ ‫אשר‬
‫או‬ ‫רדיו‬ ‫כפתור‬ ‫על‬ ‫לחיצה‬ ‫כדוגמת‬ ‫מהמשתמש‬‫תפריט‬ ‫מסוג‬ ‫ברכיב‬ ‫מסוים‬ ‫ערך‬ ‫בחירת‬.‫ישנן‬2‫דר‬‫ליצירת‬ ‫כים‬
‫תוכנת‬ ‫בסביבת‬ ‫משתמש‬ ‫ממשק‬MATLAB:
‫באמצעות‬GUIDE:
‫יוצר‬ ‫זו‬ ‫בגישה‬‫ים‬‫ת‬‫מאוכלס‬ ‫אשר‬ ‫ריק‬ ‫רשים‬‫גרפי‬ ‫עורך‬ ‫מתוך‬ ‫לבחירה‬ ‫הניתנים‬ ‫שונים‬ ‫ברכיבים‬.‫למקם‬ ‫ניתן‬
‫בת‬ ‫ורכיב‬ ‫רכיב‬ ‫כל‬‫הריק‬ ‫רשים‬‫מאפייניו‬ ‫את‬ ‫ולשנות‬‫הויזואליי‬‫ם‬‫צבע‬ ‫כגון‬,‫גופן‬,‫וכו‬ ‫גודל‬,'‫שמאפשר‬ ‫מה‬
‫דינמית‬ ‫שליטה‬‫לבנות‬ ‫רוצים‬ ‫אותה‬ ‫האפליקציה‬ ‫בנראות‬ ‫ופשוטה‬.GUIDE‫פונקצית‬ ‫ובו‬ ‫קוד‬ ‫קובץ‬ ‫יוצר‬
Callback‫המשתמש‬ ‫בממשק‬ ‫רכיב‬ ‫לכל‬.‫מה‬ ‫הן‬ ‫האפליקציה‬ ‫את‬ ‫להפעיל‬ ‫ניתן‬‫הנבנה‬ ‫תרשים‬)‫קובץ‬FIG(‫והן‬
‫שנוצר‬ ‫הקוד‬ ‫מקובץ‬.
‫משתמש‬ ‫ממשק‬ ‫יצירת‬"‫תכנותי‬:"
‫יוצר‬ ‫זו‬ ‫בגישה‬‫ים‬‫בלבד‬ ‫קוד‬ ‫קובץ‬,‫ה‬ ‫כל‬ ‫את‬ ‫מגדיר‬ ‫אשר‬‫ורכיב‬ ‫רכיב‬ ‫כל‬ ‫של‬ ‫וההתנהגויות‬ ‫תכונות‬.‫כאשר‬
‫הקוד‬ ‫קובץ‬ ‫את‬ ‫מפעיל‬ ‫משתמש‬,‫המ‬ ‫תרשים‬ ‫נוצר‬‫ע‬ ‫נשלטים‬ ‫אשר‬ ‫הרכיבים‬ ‫כל‬ ‫את‬ ‫כיל‬"‫המשתמש‬ ‫פעולות‬ ‫י‬.
‫לרוב‬,‫פעולת‬ ‫בכל‬ ‫חדש‬ ‫תרשים‬ ‫יוצר‬ ‫הקוד‬ ‫שקובץ‬ ‫מכיוון‬ ‫לאיטרציה‬ ‫מאיטרציה‬ ‫נשמר‬ ‫אינו‬ ‫התרשים‬
‫הרצה‬.
‫שונה‬ ‫נראים‬ ‫גישה‬ ‫כל‬ ‫של‬ ‫הקוד‬ ‫קבצי‬.‫משתמש‬ ‫ממשקי‬ ‫של‬ ‫קוד‬ ‫קבצי‬"‫תכנותיים‬"‫משום‬ ‫יותר‬ ‫ארוכים‬ ‫הם‬
‫בתרשים‬ ‫ורכיב‬ ‫רכיב‬ ‫כל‬ ‫של‬ ‫המאפיינים‬ ‫כל‬ ‫את‬ ‫מגדירים‬ ‫שהם‬,‫ה‬ ‫פונקציות‬ ‫את‬ ‫גם‬ ‫כמו‬-Callbacks‫לרכיבים‬.
‫ב‬ ‫שימוש‬-GUIDE‫זאת‬ ‫לעומת‬,‫מצומצם‬ ‫יותר‬ ‫קוד‬ ‫קובץ‬ ‫מכיל‬,‫הרכיב‬ ‫הגדרות‬ ‫שכל‬ ‫משום‬‫דרך‬ ‫נעשים‬ ‫ים‬
‫בנייתו‬ ‫בעת‬ ‫עצמו‬ ‫התרשים‬.‫עוסק‬ ‫הקוד‬ ‫עיקר‬‫ה‬ ‫בפונקציות‬-Callback‫המשתמש‬ ‫ממשק‬ ‫ואתחול‬ ‫הרכיבים‬ ‫של‬
‫פתיחתו‬ ‫בעת‬.‫באמצעות‬ ‫משתמש‬ ‫ממשק‬ ‫ליצור‬ ‫ניתן‬GUIDE‫תכנותית‬ ‫אותו‬ ‫לשנות‬ ‫ואז‬.‫זאת‬ ‫לעומת‬,‫שימוש‬
‫בגישות‬ ‫הפוך‬,‫לביצוע‬ ‫ניתן‬ ‫בלתי‬.
- 15 -
6.2‫דיגיטלי‬ ‫תמונה‬ ‫עיבוד‬‫ת‬
‫עיבוד‬‫תמונה‬)Image Processing(‫הוא‬‫תחום‬‫טכנולוגי‬-‫הנדסי‬,‫העוסק‬‫בעיבוד‬‫של‬‫אותות‬‫המייצגים‬‫תמונה‬‫או‬
‫הדמאה‬)image(–‫בין‬‫אם‬‫היא‬‫תמונה‬‫בודדת‬)stills(‫או‬‫תמונה‬)frame(‫מסרטון‬‫וידאו‬.‫תחום‬‫עיבוד‬‫התמונה‬
‫כולל‬‫אלגוריתמים‬‫לשיפור‬‫תמונות‬,‫חילוץ‬‫מידע‬‫מתוך‬‫תמונות‬,‫התאמת‬‫תמונה‬,‫ג‬‫ילוי‬‫שינויים‬,‫זיהוי‬‫תנועה‬
‫ב‬‫וידאו‬,‫ראייה‬‫ממוחשבת‬‫ועוד‬.
‫עיקריות‬ ‫מטרות‬ ‫לשתי‬ ‫נעשה‬ ‫תמונה‬ ‫עיבוד‬:
‫התמונה‬ ‫שיפור‬ ‫לשם‬:‫הפחתת‬"‫רעשים‬",‫פרטים‬ ‫הדגשת‬,‫חי‬‫דוד‬,‫תמונה‬ ‫ריטוש‬,‫אפקטים‬ ‫יצירת‬,
‫תיקון‬‫צבעים‬‫ורמות‬‫אפור‬‫וכדומה‬.
‫מסקנות‬ ‫הסקת‬ ‫לשם‬:‫מדידות‬,‫פגמים‬ ‫זיהוי‬,‫תנועה‬ ‫גילוי‬,‫צורות‬ ‫זיהוי‬‫אובייקטים‬ ‫וסיווג‬.
‫רבים‬ ‫שימושים‬ ‫תמונה‬ ‫לעיבוד‬:
‫פגמים‬ ‫ולזיהוי‬ ‫למדידות‬ ‫משמש‬ ‫התמונה‬ ‫עיבוד‬ ‫בתעשייה‬.‫ש‬ ‫מכונות‬ ‫גם‬ ‫ישנן‬"‫רואות‬"‫המשתמש‬ ‫העובד‬ ‫את‬
‫בהן‬,‫התוצאה‬ ‫את‬ ‫בודקות‬ ‫ואחר‬ ‫העבודה‬ ‫כלי‬ ‫את‬ ‫מכוונות‬.
‫ב‬‫לאומי‬ ‫ביטחון‬,‫ב‬‫פנים‬ ‫ביטחון‬‫וב‬‫אבטחה‬‫צור‬ ‫וסיווג‬ ‫תנועה‬ ‫לזיהוי‬ ‫משמש‬ ‫התמונה‬ ‫עיבוד‬‫ות‬.
‫שצולמו‬ ‫התמונות‬ ‫את‬ ‫לשפר‬ ‫מנת‬ ‫על‬ ‫תמונה‬ ‫בעיבוד‬ ‫משתמשים‬ ‫הרחב‬ ‫בציבור‬.
.16.2‫כיצד‬‫עובדת‬‫דיגיטלית‬ ‫מצלמה‬
‫מקור‬‫לצילום‬ ‫עיקרי‬‫תמונה‬‫דיגיטלית‬‫הוא‬‫מצלמה‬‫דיגיטלית‬,‫כגון‬‫מצלמות‬‫ה‬‫וידאו‬‫הביתיות‬‫האופייניות‬,
‫ומצלמות‬‫ה‬-Still‫החדישות‬‫בהן‬‫במקום‬‫סרט‬‫צילום‬‫ישנה‬‫מדיה‬‫דיגיטלית‬.‫מצלמות‬‫כאלו‬‫מורכבות‬‫סביב‬
‫מטריצת‬‫חיישנים‬‫הרגישים‬‫לאור‬)‫כגון‬‫גלאי‬CCD(,‫אשר‬‫קובעים‬‫מתח‬‫זרם‬‫חשמלי‬‫באופן‬‫יחסי‬‫ישר‬‫לכמות‬
‫הפוטונים‬‫הפוגעת‬‫בהם‬.‫כל‬‫חיישן‬‫מייצר‬‫ערך‬‫עבור‬‫פיקסל‬‫בודד‬,‫ולכן‬‫מטריצות‬‫חיישנים‬‫אלו‬‫צריכות‬‫להיות‬
‫גדולות‬)‫מאות‬‫על‬‫מאות‬‫של‬‫חיישנים‬‫על‬chip‫בודד‬.(‫המתח‬‫זרם‬‫הנוצרים‬‫מומרים‬‫ישירות‬‫ל‬-L‫הסיביות‬
‫המייצגות‬‫את‬‫רמת‬‫האפור‬‫בנקודה‬‫זו‬‫וכך‬‫מתקבל‬‫ערכו‬‫של‬‫הפיקסל‬.‫פרמטר‬‫מרכזי‬‫בקביעת‬‫איכותה‬‫של‬
‫מצלמה‬‫כזו‬‫הוא‬‫מספר‬‫הגלאים‬‫במטריצת‬‫החיישנים‬.‫מצלמות‬Still‫דיגיטליות‬‫עם‬‫מערך‬‫של‬480‫על‬640
‫נחשבות‬‫לרמה‬‫הבסיסית‬‫ביותר‬)‫זוהי‬‫רזולוציית‬VGA(,‫ואיכותן‬‫רחוקה‬‫מלהתחרות‬‫במצלמת‬‫סרט‬
‫קונבנציונלית‬.‫לשם‬‫קבלת‬‫איכות‬‫מתחרה‬‫בסרט‬‫צילום‬,‫על‬‫המערך‬‫להכיל‬‫כ‬-2000‫על‬2000‫חיישנים‬‫ויותר‬.
‫דו‬ ‫למערך‬ ‫כאלטרנטיבה‬-‫חיישנים‬ ‫של‬ ‫מימדי‬,‫חד‬ ‫מערך‬ ‫להציע‬ ‫ניתן‬-‫וסריקה‬ ‫מימדי‬‫מכאני‬‫ת‬)‫המערך‬ ‫של‬,‫מראה‬
‫פריזמה‬ ‫או‬ ‫מטילה‬(‫התמונה‬ ‫את‬ ‫היוצרות‬ ‫שורות‬ ‫אוסף‬ ‫לקבלת‬.‫רזולוציה‬ ‫נדרשת‬ ‫כאשר‬ ‫מקובלת‬ ‫זו‬ ‫גישה‬
‫הצורך‬ ‫הוא‬ ‫זו‬ ‫גישה‬ ‫עם‬ ‫העיקרית‬ ‫הבעיה‬
‫חיישנים‬ ‫מערכי‬ ‫בשלושה‬ ‫שימוש‬ ‫בעיקרון‬ ‫ש‬,‫למסנן‬ ‫מחובר‬ ‫מהם‬ ‫אחד‬ ‫כשכל‬
‫מכל‬ ‫המונע‬ ‫אופטי‬ ‫פילטר‬ ‫עם‬ ‫גלאים‬ ‫מערך‬ ‫י‬
‫לשם‬ ‫אופטי‬ ‫ציר‬ ‫אותו‬ ‫על‬ ‫שונות‬ ‫מצלמות‬ ‫שלוש‬ ‫בפועל‬ ‫תהיה‬ ‫כזו‬ ‫צבע‬ ‫מצלמת‬
‫לתמונות‬ ‫הן‬ ‫אופיינית‬ ‫דיגיטלית‬ ‫מצלמה‬ ‫פועלת‬ ‫בה‬ ‫לדרך‬ ‫מתייחס‬ ‫לעיל‬ ‫האמור‬ ‫כל‬Still‫והן‬‫ל‬‫וידאו‬)‫של‬ ‫סדרות‬
‫אור‬ ‫של‬ ‫לחישה‬ ‫מוגבלת‬ ‫אינה‬ ‫אלקטרונית‬ ‫מצלמה‬ ‫כי‬ ‫לציין‬ ‫חשוב‬‫נראה‬.‫החשים‬ ‫גלאים‬ ‫בהינתן‬
‫דו‬ ‫במערך‬ ‫לסדרם‬ ‫ניתן‬-‫את‬ ‫ולהגדיר‬ ‫מימדי‬
‫אדום‬,‫אחר‬ ‫גל‬ ‫אורך‬ ‫של‬ ‫תמונות‬ ‫המספק‬
‫על‬ ‫רעידות‬ ‫של‬-‫הארץ‬ ‫כדור‬ ‫פני‬,‫ועו‬‫ד‬.
‫שטח‬ ‫ביחידת‬ ‫נקודות‬ ‫יותר‬ ‫שיש‬,‫כך‬
‫של‬ ‫גדול‬ ‫יותר‬ ‫טווח‬ ‫לתת‬ ‫יכולה‬ ‫שנקודה‬ ‫כל‬
‫שהם‬ ‫כמו‬ ‫מאוחסנים‬ ‫הללו‬ ‫הנתונים‬
‫בתמ‬ ‫נקודה‬ ‫לכל‬ ‫רי‬‫ונה‬,‫שנדחסים‬ ‫או‬‫באמצעות‬
‫דחוסים‬ ‫בקבצים‬ ‫ופתיחה‬ ‫שמירה‬ ‫של‬ ‫תהליך‬ ‫בכל‬,
‫איבוד‬ ‫תוך‬ ‫התמונה‬ ‫נתוני‬ ‫את‬ ‫לדחוס‬ ‫שיודע‬‫מינימאל‬‫י‬‫מידע‬ ‫של‬.
‫התמונה‬ ‫את‬ ‫לאחסן‬ ‫המסוגל‬‫בזיכרון‬
‫הדגימה‬ ‫את‬ ‫לנהל‬ ‫המסוגלת‬ ‫מתאימה‬ ‫תוכנה‬ ‫באמצעות‬ ‫אותו‬ ‫לעבד‬ ‫כך‬ ‫ואחר‬,‫ולבצע‬ ‫התמונה‬ ‫של‬ ‫התצוגה‬ ‫את‬
‫ממדית‬ ‫דו‬ ‫מטריצה‬ ‫בצורת‬ ‫בזיכרון‬ ‫תופיע‬ ‫הנדגמת‬ ‫התמונה‬,‫איבר‬ ‫כל‬
‫ה‬ ‫שהפיקסל‬ ‫האור‬ ‫רמת‬ ‫על‬ ‫יה‬‫הצילום‬ ‫בזמן‬ ‫לה‬ ‫נחשף‬ ‫זה‬.
‫ב‬ ‫פיקסל‬ ‫ומייצגים‬ ‫דוגמים‬ ‫ואם‬‫ביי‬‫ט‬)8‫ביט‬(
(Red-Green‫שלוש‬ ‫ישנן‬ ‫ואז‬‫מטריצות‬:
- 16 -
‫ארוך‬ ‫חיישנים‬ ‫מערך‬ ‫ולפיכך‬ ‫מאוד‬ ‫גבוהה‬)‫אלפים‬ ‫של‬ ‫גודל‬ ‫בסדר‬.(‫הצורך‬ ‫הוא‬ ‫זו‬ ‫גישה‬ ‫עם‬ ‫העיקרית‬ ‫הבעיה‬
‫במצלמ‬ ‫מדויקת‬‫ה‬.
‫נדר‬ ‫צבע‬ ‫תמונת‬ ‫לקלוט‬ ‫מנת‬ ‫על‬‫חיישנים‬ ‫מערכי‬ ‫בשלושה‬ ‫שימוש‬ ‫בעיקרון‬ ‫ש‬
‫הרלוונטי‬.‫שכבת‬ ‫כי‬ ‫למשל‬ ‫ייצא‬ ‫כך‬‫ה‬-RED‫ע‬ ‫תיוצר‬"‫מכל‬ ‫המונע‬ ‫אופטי‬ ‫פילטר‬ ‫עם‬ ‫גלאים‬ ‫מערך‬ ‫י‬
‫לחדור‬ ‫אדום‬ ‫למעט‬ ‫צבע‬.‫לכן‬,‫לשם‬ ‫אופטי‬ ‫ציר‬ ‫אותו‬ ‫על‬ ‫שונות‬ ‫מצלמות‬ ‫שלוש‬ ‫בפועל‬ ‫תהיה‬ ‫כזו‬ ‫צבע‬ ‫מצלמת‬
‫הגיאומטרי‬ ‫במובן‬ ‫ביניהן‬ ‫מוחלטת‬ ‫תאמה‬.
‫לתמונות‬ ‫הן‬ ‫אופיינית‬ ‫דיגיטלית‬ ‫מצלמה‬ ‫פועלת‬ ‫בה‬ ‫לדרך‬ ‫מתייחס‬ ‫לעיל‬ ‫האמור‬ ‫כל‬
‫אור‬ ‫של‬ ‫לחישה‬ ‫מוגבלת‬ ‫אינה‬ ‫אלקטרונית‬ ‫מצלמה‬ ‫כי‬ ‫לציין‬ ‫חשוב‬
‫פיזיקאלי‬‫ת‬‫וממיר‬ ‫אחרת‬‫חשמליים‬ ‫לאותות‬ ‫אותה‬ ‫ים‬,‫דו‬ ‫במערך‬ ‫לסדרם‬ ‫ניתן‬
‫דבר‬ ‫לכל‬ ‫דיגיטלית‬ ‫כתמונה‬ ‫החישה‬ ‫תוצאת‬.‫אינפרה‬ ‫בצילום‬ ‫הדבר‬ ‫כך‬-‫אדום‬
‫עצמים‬ ‫של‬ ‫לחום‬ ‫הקשור‬,‫רנטגן‬ ‫בצילום‬ ‫גם‬ ‫כך‬,‫סיסמיים‬ ‫צילומים‬‫על‬ ‫רעידות‬ ‫של‬
‫דיגיטלית‬ ‫תמונה‬ ‫עיבוד‬ ‫עקרון‬
‫הקרויות‬ ‫זעירות‬ ‫מנקודות‬ ‫מורכב‬ ‫תמונה‬ ‫קובץ‬ ‫כל‬‫פיקסלים‬.‫ככל‬‫שטח‬ ‫ביחידת‬ ‫נקודות‬ ‫יותר‬ ‫שיש‬
‫יותר‬ ‫גבוהה‬ ‫התמונה‬ ‫של‬ ‫הרזולוציה‬,‫יותר‬ ‫חדה‬ ‫תראה‬ ‫והתמונה‬.‫כ‬‫של‬ ‫גדול‬ ‫יותר‬ ‫טווח‬ ‫לתת‬ ‫יכולה‬ ‫שנקודה‬ ‫כל‬
‫יותר‬ ‫גדול‬ ‫הצבע‬ ‫עומק‬ ‫כך‬,‫יותר‬ ‫ריאליסטית‬ ‫תראה‬ ‫והתמונה‬.‫שהם‬ ‫כמו‬ ‫מאוחסנים‬ ‫הללו‬ ‫הנתונים‬
‫סיביות‬ ‫מפת‬ ‫תמונת‬(,‫י‬ ‫יש‬ ‫שבו‬‫י‬‫מספ‬ ‫צוג‬‫בתמ‬ ‫נקודה‬ ‫לכל‬ ‫רי‬
‫כ‬ ‫דחוסים‬ ‫בקבצים‬ ‫ונשמרים‬ ‫וחד‬‫דוגמת‬JPEG.‫דחוסים‬ ‫בקבצים‬ ‫ופתיחה‬ ‫שמירה‬ ‫של‬ ‫תהליך‬ ‫בכל‬
‫מיוחד‬ ‫עיבוד‬ ‫בתהליך‬ ‫משתמשת‬,‫איבוד‬ ‫תוך‬ ‫התמונה‬ ‫נתוני‬ ‫את‬ ‫לדחוס‬ ‫שיודע‬
‫ל‬ ‫המחובר‬ ‫תמונה‬ ‫מדוגם‬ ‫מורכבת‬ ‫בסיסית‬ ‫תמונה‬ ‫עבוד‬ ‫מערכת‬‫מחשב‬‫התמונה‬ ‫את‬ ‫לאחסן‬ ‫המסוגל‬
‫הדגימה‬ ‫את‬ ‫לנהל‬ ‫המסוגלת‬ ‫מתאימה‬ ‫תוכנה‬ ‫באמצעות‬ ‫אותו‬ ‫לעבד‬ ‫כך‬ ‫ואחר‬
‫השונים‬.‫ממדית‬ ‫דו‬ ‫מטריצה‬ ‫בצורת‬ ‫בזיכרון‬ ‫תופיע‬ ‫הנדגמת‬ ‫התמונה‬
‫פיקסל‬.‫אינפורמצ‬ ‫מכיל‬ ‫פיקסל‬ ‫כל‬‫ה‬ ‫שהפיקסל‬ ‫האור‬ ‫רמת‬ ‫על‬ ‫יה‬
‫המצלמה‬ ‫חיישן‬ ‫על‬ ‫הפיקסלים‬ ‫צפיפות‬ ‫ידי‬ ‫על‬ ‫נקבעת‬ ‫יה‬,‫ב‬ ‫פיקסל‬ ‫ומייצגים‬ ‫דוגמים‬ ‫ואם‬
‫מ‬ ‫אחד‬ ‫מייצג‬ ‫פיקסל‬ ‫כל‬-256‫אפור‬ ‫רמות‬.
‫ב‬ ‫לרוב‬ ‫משתמשים‬ ‫צבעונית‬ ‫בתמונה‬ ‫טיפול‬ ‫של‬ ‫במקרה‬-RGBGreen-Blue)
‫ארוך‬ ‫חיישנים‬ ‫מערך‬ ‫ולפיכך‬ ‫מאוד‬ ‫גבוהה‬
‫במרכיבי‬‫מכאניק‬‫ה‬‫במצלמ‬ ‫מדויקת‬
‫נדר‬ ‫צבע‬ ‫תמונת‬ ‫לקלוט‬ ‫מנת‬ ‫על‬
‫ל‬ ‫אופטי‬‫צב‬‫ע‬‫הרלוונטי‬
‫לחדור‬ ‫אדום‬ ‫למעט‬ ‫צבע‬
‫ה‬ ‫קבלת‬‫הגיאומטרי‬ ‫במובן‬ ‫ביניהן‬ ‫מוחלטת‬ ‫תאמה‬
‫לתמונות‬ ‫הן‬ ‫אופיינית‬ ‫דיגיטלית‬ ‫מצלמה‬ ‫פועלת‬ ‫בה‬ ‫לדרך‬ ‫מתייחס‬ ‫לעיל‬ ‫האמור‬ ‫כל‬
‫ברצף‬ ‫תמונות‬.(‫אור‬ ‫של‬ ‫לחישה‬ ‫מוגבלת‬ ‫אינה‬ ‫אלקטרונית‬ ‫מצלמה‬ ‫כי‬ ‫לציין‬ ‫חשוב‬
‫תופעה‬ ‫כל‬‫פיזיקאלי‬
‫דבר‬ ‫לכל‬ ‫דיגיטלית‬ ‫כתמונה‬ ‫החישה‬ ‫תוצאת‬
‫עצמים‬ ‫של‬ ‫לחום‬ ‫הקשור‬
.26.2‫דיגיטלית‬ ‫תמונה‬ ‫עיבוד‬ ‫עקרון‬
‫הקרויות‬ ‫זעירות‬ ‫מנקודות‬ ‫מורכב‬ ‫תמונה‬ ‫קובץ‬ ‫כל‬
‫יותר‬ ‫גבוהה‬ ‫התמונה‬ ‫של‬ ‫הרזולוציה‬
‫צבעים‬,‫יותר‬ ‫גדול‬ ‫הצבע‬ ‫עומק‬ ‫כך‬
‫בקובץ‬Bitmap)‫סיביות‬ ‫מפת‬ ‫תמונת‬
‫א‬‫לגוריתם‬‫מי‬‫כ‬ ‫דחוסים‬ ‫בקבצים‬ ‫ונשמרים‬ ‫וחד‬
‫ה‬‫תוכנה‬‫מיוחד‬ ‫עיבוד‬ ‫בתהליך‬ ‫משתמשת‬
‫ל‬ ‫המחובר‬ ‫תמונה‬ ‫מדוגם‬ ‫מורכבת‬ ‫בסיסית‬ ‫תמונה‬ ‫עבוד‬ ‫מערכת‬
‫הדגימה‬ ‫את‬ ‫לנהל‬ ‫המסוגלת‬ ‫מתאימה‬ ‫תוכנה‬ ‫באמצעות‬ ‫אותו‬ ‫לעבד‬ ‫כך‬ ‫ואחר‬
‫את‬‫האלגוריתמים‬‫השונים‬
‫הוא‬ ‫במטריצה‬‫פיקסל‬
‫הרזולוצ‬‫המצלמה‬ ‫חיישן‬ ‫על‬ ‫הפיקסלים‬ ‫צפיפות‬ ‫ידי‬ ‫על‬ ‫נקבעת‬ ‫יה‬
‫ש‬ ‫אומר‬ ‫זה‬‫מ‬ ‫אחד‬ ‫מייצג‬ ‫פיקסל‬ ‫כל‬
‫ב‬ ‫לרוב‬ ‫משתמשים‬ ‫צבעונית‬ ‫בתמונה‬ ‫טיפול‬ ‫של‬ ‫במקרה‬
- 17 -
‫איור‬7–‫ב‬ ‫תמונות‬ ‫סוגי‬ ‫ייצוג‬-Matlab
- 18 -
2.7RGB
‫אדום‬‫ירוק‬‫כחול‬‫או‬‫בשמם‬‫הלועזי‬GREEN RED‫ו‬-BLUE)‫ובקיצור‬‫אותם‬RGB‫מפורסמים‬(‫הם‬‫צבעי‬‫יסוד‬
‫היוצרים‬‫את‬‫התמונות‬‫שעל‬‫מסכי‬‫המחשב‬‫והטלוויזיה‬.‫בין‬‫אם‬‫מדובר‬‫במסכים‬‫מיושנים‬‫וכבדים‬‫או‬‫במסכים‬
LCD‫ופלזמה‬‫שטוחים‬,‫ואפילו‬‫במקרני‬‫ווידאו‬.‫חיבור‬‫עצמות‬‫מתאימות‬‫של‬‫קרני‬‫אור‬‫בצבעים‬‫אלו‬‫מאפשר‬‫לנו‬
‫לקבל‬‫כמעט‬‫כל‬‫גוון‬‫צבע‬‫שנרצה‬.
‫בין‬ ‫השלמים‬ ‫המספרים‬ ‫השמת‬ ‫ידי‬ ‫על‬ ‫נעשית‬ ‫השונים‬ ‫הצבע‬ ‫מרכיבי‬ ‫של‬ ‫העוצמות‬ ‫קביעת‬0‫ל‬255‫מן‬ ‫אחד‬ ‫לכל‬
‫המשתנים‬G , R‫ו‬B -,‫כאשר‬0‫הפיקסל‬ ‫את‬ ‫בכלל‬ ‫להאיר‬ ‫לא‬ ‫פירושו‬,‫ו‬-255‫העוצמה‬ ‫במלוא‬ ‫הארה‬ ‫מסמל‬.
)‫מסמנים‬ ‫לעתים‬‫ב‬ ‫חלוקה‬ ‫ידי‬ ‫על‬ ‫יחסית‬ ‫עוצמה‬-255,‫בין‬ ‫הם‬ ‫הערכים‬ ‫ואז‬0‫ל‬-1.(‫לתרגם‬ ‫נהוג‬ ‫הנוחות‬ ‫לשם‬
‫ל‬ ‫אילו‬ ‫מספרים‬ ‫את‬‫הקסדצימלי‬ ‫בסיס‬)‫בסיס‬16(‫ב‬ ‫רק‬ ‫צורך‬ ‫יש‬ ‫בו‬-2‫הנ‬ ‫בטווח‬ ‫מספרים‬ ‫לייצג‬ ‫כדי‬ ‫תווים‬"‫ל‬.
‫היסוד‬ ‫צבעי‬ ‫משלושת‬ ‫אחד‬ ‫לכל‬ ‫מקצים‬ ‫זה‬ ‫באופן‬(RGB)‫תווים‬ ‫שני‬‫לימין‬ ‫משמאל‬.‫נע‬ ‫הטווח‬ ‫צבע‬ ‫בכל‬‫בין‬
00-FF)0-255‫דצימלי‬ ‫בבסיס‬(‫הצבע‬ ‫אותו‬ ‫של‬ ‫רוויה‬ ‫שמבטאים‬.‫ליצור‬ ‫ניתן‬ ‫מרכיב‬ ‫שבכל‬ ‫מכיוון‬256‫גוונים‬
‫שוני‬‫ם‬,‫הוא‬ ‫זה‬ ‫באופן‬ ‫לייצג‬ ‫שניתן‬ ‫השונים‬ ‫הצבעים‬ ‫מספר‬256‫שהם‬ ‫שלוש‬ ‫בחזקת‬16,777,216‫שונים‬ ‫צבעים‬.
‫מסוים‬ ‫צבע‬ ‫של‬ ‫מרכיביו‬ ‫עוצמת‬ ‫לקביעת‬ ‫מקובלת‬ ‫דרך‬,‫שלשה‬ ‫באמצעות‬ ‫היא‬‫הקסדצימלית‬.‫שלשה‬ ‫כל‬
‫בתים‬ ‫שלושה‬ ‫בן‬ ‫הקסדצימלי‬ ‫מספר‬ ‫המייצגות‬ ‫ספרות‬ ‫משש‬ ‫בנויה‬ ‫הקסדצימלית‬,‫הצבעי‬ ‫את‬ ‫המייצגים‬‫אדום‬ ‫ם‬,
‫הסופי‬ ‫הצבע‬ ‫את‬ ‫מרכיבים‬ ‫אשר‬ ‫וכחול‬ ‫ירוק‬:
‫מס‬ ‫בית‬'1-‫אדום‬ ‫צבע‬.
‫מס‬ ‫בית‬'2-‫ירוק‬ ‫צבע‬.
‫מס‬ ‫בית‬'3-‫כחול‬ ‫צבע‬.
‫בטווח‬ ‫מספר‬ ‫מייצג‬ ‫הללו‬ ‫הבתים‬ ‫משלושת‬ ‫אחד‬ ‫כל‬‫הנע‬‫בין‬00-FF)‫הקס‬ ‫ייצוג‬‫דצימלי‬(,‫לסולם‬ ‫המקביל‬‫בין‬ ‫הנע‬
0-255‫ו‬ ‫עשרוני‬ ‫בייצוג‬‫צבע‬ ‫לכל‬ ‫עוצמה‬ ‫רמת‬ ‫מגדיר‬.‫בס‬‫ה‬"‫כ‬‫של‬ ‫צבע‬ ‫עומק‬ ‫מתקבל‬24‫סיביות‬(Truecolor)‫ומס‬'
‫המיוצ‬ ‫הצבעים‬‫על‬ ‫עומד‬ ‫זו‬ ‫בשיטה‬ ‫גים‬16,777,216=224
=2563
.‫ל‬‫דוגמה‬,‫מהערכים‬ ‫המורכב‬ ‫צבע‬
‫העשרוניים‬36,104,160)‫אדום‬,‫בהת‬ ‫וכחול‬ ‫ירוק‬‫אמה‬(,‫ההקסדצימלי‬ ‫הערכים‬ ‫את‬ ‫מקבל‬‫ם‬24,68‫ו‬-A0
‫בהתאמה‬,‫השלשה‬ ‫ידי‬ ‫על‬ ‫ומיוצג‬2468A0.
‫מכנים‬ ‫לעתים‬ ‫המקוצרת‬ ‫הכתיבה‬ ‫את‬RRGGBB‫מ‬ ‫השמאליות‬ ‫הספרות‬ ‫שתי‬ ‫שכן‬‫י‬‫האדום‬ ‫כמות‬ ‫את‬ ‫יצגות‬,‫שתי‬
‫הכחול‬ ‫את‬ ‫והימניות‬ ‫הירוק‬ ‫כמות‬ ‫את‬ ‫האמצעיות‬.‫תקן‬HTML 4.01‫שישה‬ ‫מגדיר‬‫פי‬ ‫על‬ ‫צבעים‬ ‫שמות‬ ‫עשר‬
‫בטבלה‬ ‫המפורט‬‫הבא‬ ‫בעמוד‬:
- 19 -
2.8PROMEE
EEPROM)Electrically Erasable Programmable Read-Only Memory(‫הינו‬‫זיכרון‬‫ל‬‫קריאה‬‫בלבד‬‫אשר‬
‫ל‬ ‫ניתן‬‫מחיקה‬‫ו‬‫לתכנות‬.‫סוג‬‫הז‬‫י‬‫הוא‬ ‫כרון‬"‫בלתי‬‫נדיף‬"‫ו‬‫משמש‬‫במחשבים‬‫ומכשירים‬‫אלקטרוניים‬‫אחרים‬‫ב‬‫כדי‬
‫לאחסן‬‫כמויות‬‫קטנות‬‫יחסית‬‫של‬‫נתונים‬‫ובנוסף‬,‫מאפשר‬‫מחיקה‬‫ותכנות‬‫מחדש‬‫של‬"‫בתים‬"‫ייעודיים‬.
EEPROM‫בנוי‬‫כמע‬‫רך‬‫של‬‫טרנזיסטורים‬‫בעלי‬‫שער‬‫צף‬.‫ניתן‬‫ל‬‫ול‬ ‫מחוק‬‫תכנת‬EEPROM,‫על‬‫ידי‬‫מתן‬‫אותות‬
‫מיוחדים‬.‫במקור‬,EEPROM‫הי‬‫ה‬‫מוגבל‬‫לפ‬‫על‬ ‫עולות‬"‫בית‬"‫אחד‬,‫מה‬‫שגר‬‫ם‬‫ל‬‫להיות‬ ‫ו‬‫איטי‬‫יותר‬,‫אבל‬
EEPROM‫מודרני‬‫מאפשר‬‫פעולות‬"‫בתים‬ ‫מרובות‬".‫כמו‬‫כן‬,‫חיים‬ ‫אורך‬ ‫מגבלת‬ ‫קיימת‬‫למחיקה‬‫ותכנות‬‫מחדש‬,
‫של‬ ‫גודל‬ ‫סדר‬ ‫על‬ ‫עומדת‬ ‫אשר‬‫מיליון‬‫פעולות‬‫עבור‬EEPROM‫מודרני‬.‫כן‬ ‫אם‬,‫ה‬ ‫חיי‬ ‫אורך‬-EEPROM‫אשר‬
‫בשימוש‬ ‫נמצא‬ ‫המחשב‬ ‫כאשר‬ ‫קרובות‬ ‫לעיתים‬ ‫מתוכנת‬,‫הינו‬‫שיקול‬‫חשוב‬‫ב‬‫כולה‬ ‫המערכת‬ ‫ותכנון‬ ‫בנייה‬.
‫שלא‬‫כמו‬‫רוב‬‫ה‬‫סוגים‬‫של‬‫זיכרון‬‫בלתי‬‫נדיף‬,EEPROM‫מאפשר‬‫בדרך‬‫כלל‬‫ל‬-"‫בתים‬"‫לקרוא‬,‫להימחק‬,
‫ולהי‬‫כתב‬‫מחדש‬‫באופן‬‫אינדיבידואלי‬.EPROM‫נמחק‬‫על‬‫ידי‬‫חשיפת‬‫ה‬‫שבב‬‫לאור‬‫אולטרה‬‫סגול‬‫את‬ ‫מוחק‬ ‫אשר‬
‫כל‬‫התוכן‬‫של‬‫ו‬.‫זיכרון‬FLASH‫זאת‬ ‫לעומת‬,‫ומחיקה‬ ‫לתכנות‬ ‫ניתן‬‫רק‬‫ב‬‫קבוצות‬‫של‬"‫בתים‬",‫הנעות‬‫בין‬‫עשרות‬,
‫לעשרות‬‫אלפי‬"‫בתים‬"‫עבור‬‫מכשירים‬‫שונים‬.
‫איור‬8–‫ייצוג‬‫הקסדצימלי‬‫ל‬-16‫בתקן‬ ‫צבעים‬HTML 4.01
‫איור‬9–‫מסוג‬ ‫זיכרון‬EEPROM
‫הקליטה‬ ‫בעת‬ ‫ופענוח‬ ‫לשידור‬ ‫מידע‬ ‫לקידוד‬ ‫האחראי‬.‫או‬ ‫הנקלט‬ ‫מידע‬
‫וסיבית‬ ‫החבילה‬ ‫בתחילת‬‫סוף‬)logic high(.‫חבילת‬
,‫הזוגיות‬ ‫ביט‬ ‫את‬ ‫להוסיף‬ ‫ניתן‬.
‫ה‬ ‫בציור‬ ‫לראות‬ ‫ניתן‬ ‫כזו‬ ‫מידע‬ ‫חבילת‬ ‫ל‬‫בא‬:
‫עצירה‬ ‫סיביות‬.
‫שמשדר‬ ‫המשדר‬ ‫של‬ ‫התקשורת‬ ‫הקצב‬ ‫את‬ ‫לגלות‬
‫בשי‬ ‫שגיאות‬ ‫לגילוי‬ ‫הזוגיות‬ ‫סיבית‬‫דור‬.‫אחת‬
‫זוגי‬ ‫נו‬.
‫ויוודא‬ ‫הזוגיות‬ ‫סיבית‬ ‫את‬ ‫יבדוק‬‫הזוגיות‬ ‫קביעת‬ ‫את‬ ‫תואם‬ ‫שזה‬
‫תקנית‬ ‫חבילה‬ ‫מגודל‬ ‫בהרבה‬ ‫הגדול‬ ‫אפסים‬ ‫של‬ ‫רצף‬ ‫לשליחת‬ ‫יגרום‬ ‫זה‬.‫מאפשרת‬ ‫זו‬ ‫אופציה‬
UART
- 20 -
Universal Asynchronous Receiver Transmitter–UART
‫אסינכרוני‬ ‫סריאלי‬ ‫ממשק‬ ‫הינו‬,‫הקליטה‬ ‫בעת‬ ‫ופענוח‬ ‫לשידור‬ ‫מידע‬ ‫לקידוד‬ ‫האחראי‬
UART‫התחלה‬ ‫סיבית‬ ‫דורש‬)logic low(‫וסיבית‬ ‫החבילה‬ ‫בתחילת‬
‫ה‬ ‫מביט‬ ‫החל‬ ‫נשלחת‬ ‫מידע‬-LSB‫ה‬ ‫לביט‬ ‫עד‬-MSB.‫שגיאות‬ ‫גילוי‬ ‫למטרות‬,
‫מידע‬ ‫זרימת‬ ‫מתחילה‬ ‫אשר‬ ‫עד‬ ‫גבוה‬ ‫תמיד‬ ‫הקו‬ ‫על‬ ‫האות‬.‫ש‬ ‫דוגמא‬‫ה‬ ‫בציור‬ ‫לראות‬ ‫ניתן‬ ‫כזו‬ ‫מידע‬ ‫חבילת‬ ‫ל‬
‫פונקציונאליו‬‫ת‬
UART‫הבאות‬ ‫היכולות‬ ‫את‬:
‫משתנה‬ ‫מידע‬ ‫גודל‬-‫בעל‬ ‫להיות‬ ‫יכול‬ ‫הנשלח‬ ‫התוו‬5,6,7‫או‬8‫סיביות‬.
‫עצירה‬ ‫סיביות‬ ‫של‬ ‫משתנה‬ ‫מספר‬-‫יכולות‬‫להיות‬1,1.5‫או‬2‫עצירה‬ ‫סיביות‬
)Baud rate(‫ע‬ ‫לוויסות‬ ‫הניתן‬"‫תכנות‬ ‫י‬.
‫קצב‬ ‫של‬ ‫אוטומטי‬ ‫גילוי‬‫ה‬‫ת‬‫קשורת‬-‫ל‬ ‫מאפשר‬ ‫זה‬-UART‫שמשדר‬ ‫המשדר‬ ‫של‬ ‫התקשורת‬ ‫הקצב‬ ‫את‬ ‫לגלות‬
‫לשלוח‬ ‫אפשרות‬ ‫ישנה‬ ‫תו‬ ‫משדרים‬ ‫כאשר‬‫את‬‫בשי‬ ‫שגיאות‬ ‫לגילוי‬ ‫הזוגיות‬ ‫סיבית‬
‫היא‬ ‫האפשרויות‬Even parity‫ה‬ ‫בחבילה‬ ‫האחדים‬ ‫מספר‬ ‫כלומר‬‫י‬‫זוגי‬ ‫נו‬
‫תו‬ ‫מתקבל‬ ‫כאשר‬,‫ה‬-UART‫ויוודא‬ ‫הזוגיות‬ ‫סיבית‬ ‫את‬ ‫יבדוק‬
P(‫התקשורת‬ ‫של‬.
‫תקנית‬ ‫חבילה‬ ‫מגודל‬ ‫בהרבה‬ ‫הגדול‬ ‫אפסים‬ ‫של‬ ‫רצף‬ ‫לשליחת‬ ‫יגרום‬ ‫זה‬
‫התקשורת‬ ‫קצב‬ ‫שינוי‬ ‫כגון‬ ‫מיוחדים‬ ‫מאורעות‬ ‫של‬ ‫אינדיקציה‬
‫איור‬10–‫הנשלחת‬ ‫מידע‬ ‫חבילת‬/‫ע‬ ‫נקלטת‬"‫י‬UART
2.9Universal Asynchronous Receiver Transmitter
.19.2‫מבוא‬
UART‫אסינכרוני‬ ‫סריאלי‬ ‫ממשק‬ ‫הינו‬
‫ע‬ ‫משודר‬"‫ה‬ ‫י‬-UART
‫ה‬ ‫מביט‬ ‫החל‬ ‫נשלחת‬ ‫מידע‬
‫מידע‬ ‫זרימת‬ ‫מתחילה‬ ‫אשר‬ ‫עד‬ ‫גבוה‬ ‫תמיד‬ ‫הקו‬ ‫על‬ ‫האות‬
.29.2‫פונקציונאליו‬
‫ל‬ ‫יש‬ ‫כללי‬ ‫באופן‬-UART
‫משתנה‬ ‫מידע‬ ‫גודל‬
‫עצירה‬ ‫סיביות‬ ‫של‬ ‫משתנה‬ ‫מספר‬
‫תקשורת‬ ‫קצב‬)
‫קצב‬ ‫של‬ ‫אוטומטי‬ ‫גילוי‬
‫אליו‬
‫זוגיות‬ ‫יצירת‬-‫לשלוח‬ ‫אפשרות‬ ‫ישנה‬ ‫תו‬ ‫משדרים‬ ‫כאשר‬
‫היא‬ ‫האפשרויות‬
‫זוגיות‬ ‫גילוי‬-‫תו‬ ‫מתקבל‬ ‫כאשר‬
)Parity setting
Set Break-‫תקנית‬ ‫חבילה‬ ‫מגודל‬ ‫בהרבה‬ ‫הגדול‬ ‫אפסים‬ ‫של‬ ‫רצף‬ ‫לשליחת‬ ‫יגרום‬ ‫זה‬
‫התקשורת‬ ‫קצב‬ ‫שינוי‬ ‫כגון‬ ‫מיוחדים‬ ‫מאורעות‬ ‫של‬ ‫אינדיקציה‬
- 21 -
Break Indicator-‫ל‬UART-‫לגלות‬ ‫יכולת‬ ‫יש‬Break condition)‫אפסים‬ ‫של‬ ‫רצף‬(.‫לעדכון‬ ‫גורם‬ ‫זה‬ ‫אירוע‬
‫רגיסטר‬‫סטאטו‬‫ס‬‫מראש‬ ‫שנקבע‬ ‫בערך‬.
‫שגויה‬ ‫מסגרת‬ ‫גילוי‬-‫תקינה‬ ‫לא‬ ‫עצירה‬ ‫סיבית‬ ‫התגלתה‬ ‫אם‬ ‫לאותת‬ ‫מאפשר‬.
‫דריסה‬ ‫גילוי‬-‫בכלל‬ ‫נקראה‬ ‫הקודמת‬ ‫שהמילה‬ ‫לפני‬ ‫התקבלה‬ ‫מסוימת‬ ‫מילה‬ ‫אם‬ ‫שגיאה‬ ‫על‬ ‫מאותת‬
‫מהחוצץ‬.‫הסט‬ ‫לרגיסטר‬ ‫שגיאה‬ ‫מחזיר‬‫א‬‫טוס‬.
‫ש‬ ‫כאשר‬‫נ‬‫י‬UARTs‫צריכים‬‫לתקשר‬,‫ה‬‫ם‬‫את‬ ‫יודעים‬‫קצב‬‫האיתות‬‫בינ‬ ‫המוסכם‬‫י‬‫אך‬ ‫הם‬‫מתי‬ ‫יודע‬ ‫אינו‬ ‫המקלט‬
‫תישלח‬ ‫חבילה‬)‫מקלט‬ ‫שעון‬ ‫אין‬(.‫לכן‬,‫שמכונה‬ ‫בפרוטוקול‬"‫אסינכרוני‬"‫דגימת‬ ‫קצב‬ ‫קביעת‬‫יותר‬ ‫הוא‬ ‫המקלט‬
‫המשדר‬ ‫של‬ ‫מזה‬ ‫מורכב‬.‫פשוט‬ ‫משדר‬‫משדר‬‫מוגדר‬ ‫סיביות‬ ‫בקצב‬ ‫נתונים‬ ‫של‬ ‫מסגרת‬‫ומוסכם‬.‫עבור‬ ‫אך‬‫המקלט‬
‫ל‬ ‫יש‬‫זהות‬‫שידור‬ ‫תחילת‬ ‫את‬‫את‬ ‫לסנכרן‬ ‫כדי‬ ‫המסגרת‬‫הדגימ‬‫ה‬,‫ו‬‫כך‬‫נקודת‬ ‫את‬ ‫לקבוע‬‫ביותר‬ ‫הטובה‬ ‫הדגימה‬
‫עבור‬‫המקלט‬.
‫איור‬11‫לסנכר‬ ‫נפוצה‬ ‫שיטה‬ ‫מציג‬‫ו‬‫ן‬‫בהתאם‬ ‫במקלט‬ ‫הדגימה‬ ‫קצב‬‫שהתקבל‬ ‫למסגרת‬‫ה‬.‫ה‬-UART‫מ‬‫קבל‬
‫קצב‬ ‫למעשה‬‫פי‬ ‫שהוא‬ ‫שעון‬16‫מ‬‫קצב‬‫שידור‬‫הנתונים‬.‫זיהוי‬‫ממצב‬ ‫משתנה‬ ‫האות‬ ‫כאשר‬ ‫מתרחש‬ ‫חדשה‬ ‫מסגרת‬
‫לנמוך‬ ‫גבוה‬‫ו‬‫לאחר‬8‫שעון‬ ‫מחזורי‬,‫מכאן‬‫כל‬ ‫של‬ ‫האמצע‬ ‫נקודת‬‫תופיע‬ ‫ביט‬‫כל‬16‫מכן‬ ‫לאחר‬ ‫שעון‬ ‫מחזורי‬.
‫ל‬ ‫הוא‬ ‫נוסף‬ ‫שיפור‬‫דגום‬‫רק‬‫פעמים‬ ‫שלוש‬)7,8,‫ו‬-9,‫מתוך‬16(‫במקום‬‫שמונה‬‫דגימ‬‫ות‬)8‫מתוך‬16.(
‫ה‬ ‫של‬ ‫הבסיסית‬ ‫הקונפיגורציה‬-serial port‫ה‬ ‫של‬-PC‫כדלקמן‬ ‫היא‬:
Baud rate : 9600 bits/sec
Data bits : 8 bits
Parity : Even
Stop Bits : 1
Flow control: Hardware
‫איור‬11–‫למקלט‬ ‫מהמשדר‬ ‫המגיע‬ ‫המידע‬ ‫שידור‬ ‫קצב‬ ‫סנכרון‬
- 22 -
2.9.3UART‫ב‬-PC
‫פרוטוקול‬UART‫ב‬ ‫נתמך‬-PC‫ע‬"‫יציאה‬ ‫י‬‫טורית‬RS-232‫המתאימה‬ ‫הקונפיגורציה‬ ‫את‬ ‫שעשינו‬ ‫בהנחה‬
‫לתקשורת‬.‫ביציאה‬ ‫הפינים‬ ‫פירוט‬‫ה‬‫טורית‬‫של‬‫ה‬-PC:
D-Type-9 Pin
No.
Abbreviation Full Name
Function
Pin 3 TD Transmit Data Serial Data Output (TXD)
Pin 2 RD Receive Data Serial Data Input (RXD)
Pin 7 RTS
Request To
Send
This line informs the Modem
that the UART is ready to
exchange data
Pin 8 CTS Clear To Send
This line indicates that the
Modem is ready to exchange
data
Pin 6 DSR Data Set Ready
This tells the UART that the
modem is ready to establish a
link.
Pin 5 SG Signal Ground
Pin 1 CD Carrier Detect
When the modem detects a
"Carrier" from the modem at
the other end of the phone
line, this Line becomes active.
Pin 4 DTR
Data Terminal
Ready
This is the opposite to DSR.
This tells the Modem that the
UART is ready to link.
Pin 9 RI Ring Indicator
Goes active when modem
detects a ringing signal from
the PSTN
‫טבלה‬12–‫ה‬ ‫של‬ ‫הטורית‬ ‫ביציאה‬ ‫הפינים‬ ‫פירוט‬-PC
- 23 -
2.10Bluetooth
Bluetooth)‫או‬‫כחולה‬ ‫שן‬(‫האישי‬ ‫במרחב‬ ‫רשת‬ ‫ליצירת‬ ‫אלחוטית‬ ‫תקשורת‬ ‫תקן‬ ‫הוא‬)PAN(,‫אבטחה‬ ‫ברמת‬
‫ידי‬ ‫על‬ ‫גבוהה‬‫קצר‬ ‫גל‬ ‫באורכי‬ ‫רדיו‬ ‫בגלי‬ ‫שימוש‬‫ים‬.Bluetooth‫משמ‬‫ש‬‫קצרים‬ ‫למרחקים‬ ‫נתונים‬ ‫לתקשורת‬
‫בקצבי‬‫ויכול‬ ‫נמוך‬ ‫חשמלי‬ ‫ובהספק‬ ‫קטנים‬ ‫ם‬‫עד‬ ‫לחבר‬8‫מכשירים‬.‫רשתות‬Bluetooth‫לרוב‬ ‫משמשות‬
‫לשימושי‬‫אישיים‬ ‫ם‬,‫טלפון‬ ‫בין‬ ‫או‬ ‫היקפי‬ ‫לציוד‬ ‫מחשב‬ ‫בין‬ ‫קשר‬ ‫כמו‬‫סלולאר‬‫י‬‫לדיבורית‬.Bluetooth‫פועל‬
‫התדרים‬ ‫בטווח‬2483.5-2400‫קצרי‬ ‫התדרים‬ ‫טווח‬ ‫שזה‬ ‫הרץ‬ ‫מגה‬-‫הטווח‬)ISM(‫מרישוי‬ ‫שחופשיים‬,‫המשמשים‬
‫לתעשייה‬,‫ומחקר‬ ‫רפואה‬.
Bluetooth‫שנקראת‬ ‫רדיו‬ ‫בטכנולוגיית‬ ‫משתמש‬FHSS,‫המוע‬ ‫המידע‬‫חבילה‬ ‫כל‬ ‫כאשר‬ ‫לחבילות‬ ‫מחולק‬ ‫בר‬
‫מ‬ ‫באחד‬ ‫מועברת‬79‫ערוצי‬Bluetooth‫של‬ ‫פס‬ ‫רוחב‬ ‫חבילה‬ ‫ולכל‬ ‫שונים‬1‫הרץ‬ ‫מגה‬.‫בלוטות‬'4.0‫משתמש‬
‫של‬ ‫פס‬ ‫ברוחב‬2‫שמאפשר‬ ‫הרץ‬ ‫מגה‬40‫ערוצים‬.‫בתדר‬ ‫מתחיל‬ ‫הראשון‬ ‫הערוץ‬2402‫לתדר‬ ‫עד‬ ‫וממשיך‬ ‫הרץ‬ ‫מגה‬
2480‫של‬ ‫בקפיצות‬ ‫הרץ‬ ‫מגה‬1‫מבצ‬ ‫והוא‬ ‫הרץ‬ ‫מגה‬‫כלל‬ ‫בדרך‬ ‫ע‬1600‫כאשר‬ ‫לשנייה‬ ‫קפיצות‬AFH‫מופעל‬.
‫בלוטות‬'‫אדון‬ ‫של‬ ‫מבנה‬ ‫עם‬ ‫מנות‬ ‫מיתוג‬ ‫מבוסס‬ ‫פרוטוקול‬ ‫הינו‬-‫משרת‬)Master-Slave.(‫אדון‬ ‫כל‬ ‫פיקונט‬ ‫בכל‬
‫עם‬ ‫לתקשר‬ ‫יכול‬7‫משרתים‬)‫זה‬ ‫במספר‬ ‫תומכים‬ ‫המכשירים‬ ‫כל‬ ‫שלא‬ ‫למרות‬(‫ה‬ ‫כל‬ ‫כאשר‬‫את‬ ‫חולקים‬ ‫משרתים‬
‫האדון‬ ‫של‬ ‫השעון‬.‫של‬ ‫בטווחים‬ ‫שעובד‬ ‫האדון‬ ‫ידי‬ ‫על‬ ‫שנקבע‬ ‫הבסיסי‬ ‫השעון‬ ‫על‬ ‫מבוסס‬ ‫המנות‬ ‫חילוף‬312.5
‫שנייה‬ ‫מיקרו‬.‫של‬ ‫אחד‬ ‫נתונים‬ ‫חריץ‬ ‫מהוות‬ ‫שעון‬ ‫פעימות‬ ‫שתי‬625‫שנייה‬ ‫מיקרו‬,‫זוג‬ ‫מהווים‬ ‫חריצים‬ ‫שני‬
‫של‬ ‫חריצים‬1250‫שנייה‬ ‫מיקרו‬,‫בי‬ ‫וקולט‬ ‫בזוגות‬ ‫משדר‬ ‫האדון‬ ‫אחד‬ ‫בחריץ‬ ‫חבילות‬ ‫של‬ ‫הפשוט‬ ‫במקרה‬‫חידים‬,
‫בזוגות‬ ‫וקולט‬ ‫ביחידים‬ ‫משדר‬ ‫המשרת‬ ‫ובהתאם‬.‫של‬ ‫באורך‬ ‫להיות‬ ‫יכולות‬ ‫חבילות‬1,3‫או‬5‫בכל‬ ‫אבל‬ ‫חריצים‬
‫זוגיים‬ ‫בחריצים‬ ‫השידור‬ ‫את‬ ‫להתחיל‬ ‫צריך‬ ‫האדון‬ ‫המקרים‬‫בבודדים‬ ‫לשדר‬ ‫צריך‬ ‫והמשרת‬.‫במהלך‬
‫מכשירים‬ ‫שני‬ ‫ההתקשרות‬,‫הם‬‫בתיאום‬ ‫יכולים‬‫נה‬ ‫שהאדון‬ ‫כך‬ ‫ביניהם‬ ‫תפקידים‬ ‫להחליף‬‫והמשרת‬ ‫המשרת‬ ‫יה‬
‫האדון‬ ‫נהיה‬.
RN42‫בטכנולוגיית‬ ‫שמשתמש‬ ‫להטמעה‬ ‫ופשוט‬ ‫נמוך‬ ‫הספק‬ ‫בעל‬ ‫קטן‬ ‫אלחוטית‬ ‫תקשורת‬ ‫רכיב‬ ‫הוא‬Bluetooth
‫מכשירים‬ ‫בין‬ ‫לקשר‬ ‫כדי‬.‫הוא‬‫עבודה‬ ‫היא‬ ‫שלו‬ ‫המחדל‬ ‫וברירת‬ ‫בטרייה‬ ‫מבוססי‬ ‫ביישומים‬ ‫לעבודה‬ ‫מתאים‬
‫בקונפיגורצי‬‫י‬‫ת‬SPP)Serial Port Profile(.‫האנרגי‬ ‫צריכת‬‫היא‬ ‫במנוחה‬ ‫שלו‬ ‫ה‬250Micro Farad.‫יכול‬ ‫הרכיב‬
‫עד‬ ‫של‬ ‫בקצב‬ ‫לעבוד‬3Mbps‫כ‬ ‫עד‬ ‫של‬ ‫ולטווח‬-20‫מטר‬.
- 24 -
2.10.1rBlueSMiRFSilve–SparkFun Bluetooth Modem
‫ה‬-"BlueSMiRFSilver"‫מתוצרת‬"SparkFun"‫בטכנולוגית‬ ‫בכבלים‬ ‫שימוש‬ ‫להחליף‬ ‫שנועד‬ ‫תקשורת‬ ‫רכיב‬ ‫הוא‬
Bluetooth.‫ה‬ ‫מודול‬ ‫מותקן‬ ‫ברכיב‬-Bluetooth‫קודם‬ ‫סקרנו‬ ‫אותו‬-42RN.‫והוא‬ ‫מובנית‬ ‫אנטנה‬ ‫עם‬ ‫מגיע‬ ‫הוא‬
‫בין‬ ‫של‬ ‫בקצבים‬ ‫לשדר‬ ‫יכול‬2400‫עד‬115200‫לשנייה‬ ‫ביטים‬.‫ממתח‬ ‫לו‬ ‫לספק‬ ‫נדרש‬ ‫הרכיב‬ ‫את‬ ‫להפעיל‬ ‫מנת‬ ‫על‬
‫בין‬ ‫חיצוני‬3.3‫ל‬-6‫מחשב‬ ‫מול‬ ‫ראשונית‬ ‫קונפיגורציה‬ ‫ונדרשת‬ ‫וולט‬.
‫איור‬13–RN42/RN42N to MCU interface
‫איור‬15–‫ה‬ ‫רכיב‬ ‫תרשים‬-Bluetooth RN41
‫איור‬14–BluteSMiRFSilver Bluetooth modem
- 25 -
11.2‫מנוע‬Servo-DC
‫למנועי‬Servo‫פיר‬ ‫יש‬ ‫ישר‬ ‫זרם‬ ‫מסוג‬‫הקולט‬‫למנוע‬ ‫מידע‬ ‫מוסר‬,‫מקודד‬ ‫מידע‬ ‫שליחת‬ ‫בעזרת‬ ‫ימוקם‬ ‫הפיר‬
‫למנוע‬.‫במנוע‬ ‫הנקלט‬ ‫המידע‬ ‫כאשר‬,‫משתנה‬ ‫הפיר‬ ‫של‬ ‫הזוויתי‬ ‫המיקום‬ ‫גם‬.‫ישר‬ ‫זרם‬ ‫מנועי‬ ‫סוגי‬Servo‫הם‬
‫שונים‬ ‫מסוגים‬ ‫גיר‬ ‫מנועי‬ ‫או‬ ‫מברשות‬ ‫חסרי‬ ‫כלל‬ ‫בדרך‬.‫לגודלם‬ ‫יחסית‬ ‫מאוד‬ ‫וחזקים‬ ‫קטנים‬ ‫הם‬ ‫אלו‬ ‫מנועים‬.
‫ברובוטיק‬‫ה‬‫ועם‬ ‫הילוכים‬ ‫תיבת‬ ‫עם‬ ‫ישר‬ ‫זרם‬ ‫מנוע‬ ‫כשילוב‬ ‫אלה‬ ‫במנועים‬ ‫משתמשים‬ ‫מכאנטרוניקה‬
EncoderPotentiometer‫בקרה‬ ‫מעגל‬ ‫לסגירת‬)‫סגור‬ ‫בחוג‬ ‫בקרה‬(.
‫מנוע‬ ‫כשבוחרים‬Servo‫לב‬ ‫לשים‬ ‫חשוב‬ ‫ישר‬ ‫זרם‬‫הכולל‬ ‫המנוע‬ ‫של‬ ‫הביצועים‬ ‫למפרט‬:
‫הפיר‬ ‫מהירות‬-‫מועמ‬ ‫לא‬ ‫סיבובית‬ ‫מהירות‬‫החי‬ ‫הפיר‬ ‫של‬ ‫סת‬‫צוני‬.
‫סופי‬ ‫מתח‬-‫ישר‬ ‫זרם‬ ‫מנוע‬ ‫של‬ ‫מתח‬.
‫מתמשך‬ ‫זרם‬-‫ה‬ ‫לסלילי‬ ‫מסופק‬ ‫להיות‬ ‫שיכול‬ ‫המקסימאלי‬ ‫הזרם‬‫יתר‬ ‫לחימום‬ ‫להם‬ ‫לגרום‬ ‫בלי‬ ‫רוטור‬.
‫מתמשך‬ ‫מומנט‬-‫הא‬ ‫היציאה‬ ‫מומנט‬‫קבועים‬ ‫תנאים‬ ‫תחת‬ ‫המנוע‬ ‫של‬ ‫פשרי‬.
‫מתמשכת‬ ‫אנרגיה‬-‫ע‬ ‫המסופקת‬ ‫המכאנית‬ ‫האנרגיה‬"‫המנוע‬ ‫י‬.
.111.2‫מנועי‬ ‫ומהירות‬ ‫בכיוון‬ ‫שליטה‬ ‫אמצעי‬DC)‫גשר‬H(
‫ישירות‬ ‫המנועים‬ ‫את‬ ‫להניע‬ ‫מסוגל‬ ‫איננו‬ ‫הבקר‬,‫זרם‬ ‫מספיק‬ ‫מספק‬ ‫לא‬ ‫שהוא‬ ‫כיוון‬.‫כך‬ ‫על‬ ‫להתגבר‬ ‫כדי‬,‫הזרם‬
‫ע‬ ‫למנועים‬ ‫מסופק‬"‫המנועים‬ ‫בקר‬ ‫י‬,‫זה‬ ‫לבקר‬ ‫והבקרה‬ ‫השליטה‬ ‫אותות‬ ‫את‬ ‫מעביר‬ ‫רק‬ ‫והמעבד‬.‫בקרים‬
‫מנועי‬ ‫של‬ ‫אופייניים‬DC‫גשר‬ ‫הקרויה‬ ‫בסיסית‬ ‫בטופולוגיה‬ ‫משתמשים‬-H)H-Bridge(,‫למעשה‬ ‫שהיא‬4
‫דמוית‬ ‫בצורה‬ ‫המחוברים‬ ‫מפסקים‬H‫למנוע‬.‫מפסקים‬ ‫ליישם‬ ‫ניתן‬‫ממסרים‬ ‫באמצעות‬ ‫אלו‬,‫טרנזיסטור‬)‫ראה‬
‫איור‬16(MOSFET)Metal-Oxide semiconductor field effect transistors(,‫משולב‬ ‫מעגל‬ ‫או‬)‫שבב‬(‫לבקרת‬
‫מנוע‬‫ים‬.
‫איור‬16–‫מנועי‬ ‫בקרת‬ ‫מעגל‬DC‫בארכיטקטורת‬H-Brige
- 26 -
.211.2‫של‬ ‫חשמלית‬ ‫סכמה‬Bridge-H
‫באיור‬ ‫המעגל‬16‫מתאר‬‫מנועים‬ ‫בקרת‬ ‫מעגל‬ ‫של‬ ‫פשוטה‬ ‫ארכיטקטורה‬.‫חלקים‬ ‫משני‬ ‫למעשה‬ ‫מורכב‬ ‫המעגל‬:
‫צירופי‬ ‫לוגי‬ ‫חלק‬,‫ו‬-H-Bridge.‫והקטעון‬ ‫הרוויה‬ ‫תחומי‬ ‫הם‬ ‫זה‬ ‫במעגל‬ ‫הטרנזיסטורים‬ ‫של‬ ‫העבודה‬ ‫תחומי‬,‫כך‬
‫כמתגים‬ ‫משמשים‬ ‫שהם‬.
‫ב‬ ‫הטרנזיסטורים‬-H-Bridge‫המנוע‬ ‫על‬ ‫המתח‬ ‫את‬ ‫שיפעיל‬ ‫כזה‬ ‫באופן‬ ‫שלהם‬ ‫העבודה‬ ‫תחומי‬ ‫את‬ ‫משנים‬
‫מסוימת‬ ‫בקוטביות‬,‫אחד‬ ‫בכיוון‬ ‫להסתובב‬ ‫למנוע‬ ‫שתגרום‬,‫ההפוכה‬ ‫בקוטביות‬ ‫או‬,‫המ‬ ‫את‬ ‫שתסובב‬‫בכיוון‬ ‫נוע‬
‫ההפוך‬.‫לדוגמה‬,‫הטרנזיסטורים‬ ‫כאשר‬S1‫ו‬-S4‫הרוויה‬ ‫בתחום‬ ‫מצויים‬ ‫באיור‬,)‫סגורים‬ ‫כמתגים‬ ‫משמשים‬(
‫הטרנזיסטורים‬ ‫ואילו‬S2‫ו‬-S3‫הקטעון‬ ‫בתחום‬ ‫מצויים‬)‫פתוחים‬ ‫כמתגים‬ ‫משמשים‬(,‫במנוע‬ ‫יעבור‬ ‫הזרם‬
‫לימין‬ ‫משמאל‬.‫הטרנזיסטורים‬ ‫כאשר‬S1‫ו‬-S4‫הקטעון‬ ‫בתחום‬ ‫באיור‬,‫והטרנזיסטורים‬S2‫ו‬-S3‫בתחום‬
‫הרוויה‬,‫לשמאל‬ ‫מימין‬ ‫במנוע‬ ‫יעבור‬ ‫הזרם‬.‫הקטעון‬ ‫בתחום‬ ‫הטרנזיסטורים‬ ‫כל‬ ‫אם‬,‫בחופשיו‬ ‫יסתובב‬ ‫המנוע‬‫ת‬.
‫הרוויה‬ ‫בתחום‬ ‫כולם‬ ‫וכאשר‬)‫הזרם‬‫המעגל‬ ‫חלקי‬ ‫בכל‬ ‫בחופשיות‬ ‫עובר‬(,‫יבלום‬ ‫המנוע‬.‫הטרנזיסטורים‬S1,S3
‫מסוג‬ ‫הם‬NPN,‫הטרנזיסטורים‬ ‫ואילו‬S4 ,S2‫מסוג‬ ‫הם‬PNP.
‫קלט‬ ‫קווי‬ ‫שני‬ ‫נכנסים‬ ‫הלוגי‬ ‫למעגל‬:‫האפשור‬ ‫קו‬,‫הכיוון‬ ‫וקו‬.‫המעגל‬,‫מ‬ ‫המורכב‬-4‫שערי‬AND‫ושער‬NOT
‫אחד‬,‫א‬ ‫מספק‬‫פונקצית‬ ‫ת‬‫ב‬ ‫מהטרנזיסטורים‬ ‫אחד‬ ‫לכל‬ ‫הבסיס‬-H-Bridge,‫לטבלה‬ ‫בהתאם‬ ‫שיפעלו‬ ‫כך‬
‫שלמטה‬.‫לוגי‬ ‫במצב‬ ‫האפשור‬ ‫קו‬ ‫כאשר‬'0,'‫ה‬ ‫שערי‬ ‫כל‬ ‫של‬ ‫הפלט‬-AND‫יהיה‬'0,'‫ב‬ ‫זרם‬ ‫יעבור‬ ‫ולא‬-H-Bridge.
‫לוגי‬ ‫במצב‬ ‫האפשור‬ ‫קו‬ ‫כאשר‬'1,'‫הכיוון‬ ‫בקו‬ ‫המצוי‬ ‫בערך‬ ‫תלויים‬ ‫הרוויה‬ ‫בתחום‬ ‫שימצאו‬ ‫הטרנזיסטורים‬ ‫זוג‬.
.311.2‫סיכום‬‫הסיבוב‬ ‫כיוון‬ ‫לקביעת‬ ‫המנוע‬ ‫בקרת‬ ‫קווי‬ ‫פעולת‬ ‫אופן‬
‫של‬ ‫לוגי‬ ‫מצב‬
‫האפשור‬ ‫קו‬
‫של‬ ‫לוגי‬ ‫מצב‬
‫הכיוון‬ ‫קו‬
‫המנוע‬ ‫פעולת‬
11‫אחד‬ ‫לכיוון‬ ‫סיבוב‬.
10‫שני‬ ‫לכיוון‬ ‫סיבוב‬.
0X‫המנוע‬ ‫עצירת‬
‫טבלה‬17–‫הסיבוב‬ ‫כיוון‬ ‫לקביעת‬ ‫המנוע‬ ‫בקרת‬ ‫קווי‬ ‫פעולת‬ ‫אופן‬
- 27 -
22.1‫מנוע‬S4303R-SM
‫מנוע‬ ‫הוא‬Servo‫ע‬ ‫המיוצר‬ ‫סטנדרטי‬ ‫בגודל‬"‫חברת‬ ‫י‬SpringRC,‫מנוע‬ ‫והוא‬Servo‫רציף‬.‫במתח‬‫וולט‬ ‫שישה‬ ‫של‬
‫מ‬ ‫למהירות‬ ‫מגיע‬ ‫הוא‬‫של‬ ‫רבית‬54‫לדקה‬ ‫סיבובים‬)RPM(‫של‬ ‫ומומנט‬5.1‫ק‬"‫לס‬ ‫ג‬"‫מ‬.‫פוטנציומטר‬ ‫קיים‬ ‫במנוע‬
‫המנוחה‬ ‫נקודת‬ ‫את‬ ‫לשנות‬ ‫ניתן‬ ‫עמו‬,‫היא‬ ‫המחדל‬ ‫ברירת‬1.5‫של‬ ‫מחזור‬ ‫מתוך‬ ‫שנייה‬ ‫מילי‬20‫מילישניות‬.
‫אות‬ ‫רוחב‬ ‫עבור‬‫ה‬‫מ‬ ‫גדול‬-1.5,‫ל‬ ‫מתחת‬ ‫אות‬ ‫רוחב‬ ‫ועבוד‬ ‫השעון‬ ‫כיוון‬ ‫נגד‬ ‫יסתובב‬ ‫המנוע‬-1.5,‫הוא‬‫יסתובב‬‫עם‬
‫השעון‬ ‫כיוון‬.‫ב‬ ‫לשלוט‬ ‫ניתן‬-Servo‫חיצוני‬ ‫ממקור‬ ‫מתח‬ ‫לו‬ ‫וניתן‬ ‫במידה‬ ‫כלשהו‬ ‫מבקר‬ ‫בודד‬ ‫בקרה‬ ‫קו‬ ‫עם‬.
‫איור‬18–‫מנוע‬ ‫של‬ ‫טכני‬ ‫מפרט‬Servo‫מסוג‬SM-S4303R
- 28 -
2.13octal buffer–MC74HC541A
‫חוצץ‬‫שמונה‬‫רגלי‬‫ם‬,‫למתח‬ ‫מצוי‬ ‫בטווח‬ ‫מתח‬ ‫כניסת‬ ‫ממיר‬Vcc‫מבוקש‬.‫למעשה‬ ‫הוא‬ ‫זה‬ ‫רכיב‬‫אוסף‬‫שמונה‬ ‫של‬
‫רכיבי‬Tri-state‫אותות‬ ‫שמונה‬ ‫עד‬ ‫של‬ ‫מהפך‬ ‫לא‬ ‫מעבר‬ ‫המאפשרים‬ ‫משורשרים‬.‫לכניסות‬ ‫בנוסף‬A1-A8
‫המתאימים‬ ‫המוצאים‬ ‫ולשמונת‬,‫כניסת‬ ‫לרכיב‬Vcc)‫מבוקש‬ ‫מתח‬(,‫ושני‬ ‫אדמה‬ ‫כניסת‬Enables.‫בהכנסת‬'L'
(LOW)‫ה‬ ‫כניסות‬ ‫בשתי‬-Enables,‫מתח‬ ‫כמגבר‬ ‫עובד‬ ‫החוצץ‬,‫אחרת‬‫במוצא‬ ‫תתקבל‬‫גבוהה‬ ‫עכבה‬-'Z'.
‫איור‬19–Buffer function table
‫איור‬21–Buffer pin assignment
‫איור‬20–‫ברכיב‬ ‫החוצצים‬ ‫כלל‬ ‫על‬ ‫כולל‬ ‫מבט‬
‫איור‬22–‫בודד‬ ‫חוצץ‬ ‫של‬ ‫הפנימי‬ ‫המבנה‬
- 29 -
42.1‫פעימה‬ ‫רוחב‬ ‫אפנון‬–PWM
‫המנוע‬ ‫במהירות‬ ‫לשלוט‬ ‫מנת‬ ‫על‬,‫שונה‬ ‫בקצב‬ ‫ונסגרים‬ ‫נפתחים‬ ‫המפסקים‬‫בכדי‬‫למנוע‬ ‫שונה‬ ‫ממוצע‬ ‫מתח‬ ‫לספק‬.
‫קרויה‬ ‫זו‬ ‫טכניקה‬PWM)Pulse Width Modulation(‫שלמטה‬ ‫באיור‬ ‫ומודגמת‬,‫כאשר‬V‫המנוע‬ ‫על‬ ‫המתח‬ ‫הוא‬
‫ו‬-t‫הזמן‬ ‫הוא‬.‫למשל‬,‫טרנזיסטורים‬ ‫כאשר‬S1‫ו‬-S4‫ל‬ ‫משמשים‬-PWM‫וטרנזיסטורים‬S2‫ו‬-S3‫נשארים‬
‫הקטעון‬ ‫בתחום‬,‫כאשר‬ ‫הכניסה‬ ‫מתח‬ ‫כמו‬ ‫הקוטביות‬ ‫אותה‬ ‫ובעל‬ ‫זהה‬ ‫יהיה‬ ‫במנוע‬ ‫המתח‬S1‫ו‬-S4‫סגורים‬,‫ו‬-
V0‫פתוחים‬ ‫הם‬ ‫כאשר‬.‫ריבועי‬ ‫גל‬ ‫האפשור‬ ‫לקו‬ ‫מוכנס‬ ‫זו‬ ‫בשיטה‬,‫בעל‬‫המחזור‬ ‫זמן‬tperiod,‫הגל‬ ‫בו‬ ‫הזמן‬ ‫כאשר‬
‫ב‬ ‫נמצא‬‫לוגי‬ ‫מתח‬'1'‫הוא‬ton.‫מכך‬ ‫וכתוצאה‬,‫המנוע‬ ‫מהירות‬,‫ע‬ ‫לשליטה‬ ‫ניתנת‬"‫רוחב‬ ‫שינוי‬ ‫י‬-‫הפעימה‬)Duty
Cycle‫או‬pulse-width ratio:(
‫ה‬ ‫גל‬ ‫הזנת‬-PWM‫מבוצעת‬‫ע‬"‫ע‬ ‫מראש‬ ‫המתוכנת‬ ‫בקר‬ ‫י‬"‫הנדרשים‬ ‫הצרכים‬ ‫פ‬:
‫הכניסה‬ ‫מתח‬ ‫פעימת‬ ‫רוחב‬ ‫אפנון‬‫שונים‬ ‫ממוצעים‬ ‫מתחים‬ ‫יוצר‬.‫באיור‬,‫המסופק‬ ‫הריבועי‬ ‫הגל‬ ‫הוא‬ ‫המלא‬ ‫הקו‬
‫האפשור‬ ‫לקו‬,‫במנוע‬ ‫המתקבל‬ ‫הממוצע‬ ‫המתח‬ ‫את‬ ‫מייצג‬ ‫המקווקו‬ ‫והקו‬.
‫ב‬ ‫המתגים‬ ‫הפשטת‬-H-Bridg‫דרכים‬ ‫במספר‬ ‫ממומשת‬ ‫להיות‬ ‫יכולה‬.‫מנועים‬ ‫ולכבות‬ ‫להפעיל‬ ‫יכולים‬ ‫ממסרים‬,
‫כיוונם‬ ‫על‬ ‫לשלוט‬ ‫ואף‬,‫בה‬ ‫להשתמש‬ ‫אין‬ ‫אולם‬‫בשיטת‬ ‫המנוע‬ ‫מהירות‬ ‫על‬ ‫בקרה‬ ‫הדורשות‬ ‫במערכות‬ ‫ם‬PWM,
‫שלהם‬ ‫הגבוה‬ ‫והבלאי‬ ‫האיטית‬ ‫התגובה‬ ‫מהירותם‬ ‫בשל‬.‫מצב‬ ‫של‬ ‫מימושים‬‫מוצק‬)Solid state(,‫כמו‬
‫דו‬ ‫טרנזיסטורים‬-‫קוטביים‬)Bipolar(‫ו‬-MOSFET‫במ‬ ‫יותר‬ ‫נפוצים‬‫ערכות‬‫כאלו‬.
period
on
t
t
CycleDuty ‫איור‬23–‫לחישוב‬ ‫נוסחה‬Duty Cycle
‫איור‬24–
- 30 -
‫פרק‬3–‫המערכת‬ ‫מבנה‬
“DroidCam” application
(through Wi-Fi)
Bluetooth
UART
‫איור‬25–‫המערכת‬ ‫כלל‬ ‫של‬ ‫זרימה‬ ‫תרשים‬
Graphical user
interface
User input Smartphone
camera
Bluetooth
modem
FPGA Continues
servo motor
LEDS
- 31 -
3.1GUI
3.1.1‫עיקרון‬‫בניית‬‫המשתמש‬ ‫ממשק‬
‫ו‬ ‫היות‬‫המערכת‬‫מס‬ ‫מכילה‬'‫מרכיבי‬‫השני‬ ‫על‬ ‫אחד‬ ‫השפעה‬ ‫להם‬ ‫יש‬ ‫אשר‬ ‫ם‬,‫מומלץ‬‫מרכיביה‬ ‫כלל‬ ‫את‬ ‫לרכז‬
‫המבוצעים‬ ‫הביניים‬ ‫תהליכי‬ ‫על‬ ‫ובקרה‬ ‫שליטה‬ ‫תא‬ ‫יהווה‬ ‫אשר‬ ‫מרכזי‬ ‫למקום‬‫בה‬.‫שימוש‬ ‫הוא‬ ‫ויעיל‬ ‫נוח‬ ‫פתרון‬
‫משתמש‬ ‫בממשק‬(GUI)‫הפעולות‬ ‫ומתבצעות‬ ‫הקוד‬ ‫נכתב‬ ‫בה‬ ‫העבודה‬ ‫בסביבת‬‫המרכזיות‬.
‫המחשב‬,‫ה‬ ‫תוכנת‬ ‫באמצעות‬-Matlab,‫מהמשתמש‬ ‫קלט‬ ‫מקבל‬ ‫והוא‬ ‫היות‬ ‫המערכת‬ ‫של‬ ‫העצבים‬ ‫כמרכז‬ ‫משמש‬
‫רובוט‬ ‫גבי‬ ‫על‬ ‫המותקנת‬ ‫סמארטפון‬ ‫וממצלמת‬,‫משדר‬ ‫דרך‬ ‫לרובוט‬ ‫פלט‬ ‫ושולח‬ ‫עיבוד‬ ‫מבצע‬Bluetooth‫להמשך‬
‫משימות‬ ‫ביצוע‬.‫למשתמש‬ ‫ונוחה‬ ‫ידידותית‬ ‫בצורה‬ ‫התהליך‬ ‫את‬ ‫לנהל‬ ‫בכדי‬,‫נבנה‬‫באמצעות‬ ‫משתמש‬ ‫ממשק‬
‫ה‬ ‫בתוכנת‬ ‫הקיימים‬ ‫ייעודיים‬ ‫כלים‬-Matlab.‫מס‬ ‫מכיל‬ ‫המשתמש‬ ‫ממשק‬'‫גרפי‬ ‫בעיצוב‬ ‫ורכיבים‬ ‫פקדים‬
‫אישית‬ ‫מותאם‬,‫במערכת‬ ‫לשלוט‬ ‫למשתמש‬ ‫מאפשרים‬ ‫אשר‬‫ו‬ ‫פשוטה‬ ‫בצורה‬‫ידע‬ ‫ללא‬‫טכניים‬ ‫בפרטים‬ ‫או‬ ‫בקוד‬
‫הממשק‬ ‫בניית‬ ‫מאחורי‬ ‫שעומדים‬.
3.1.2‫המשתמש‬ ‫ממשק‬ ‫פעולת‬ ‫אופן‬
GUIDE‫פונקצית‬ ‫ובו‬ ‫קוד‬ ‫קובץ‬ ‫יוצר‬Callback‫המשתמש‬ ‫בממשק‬ ‫רכיב‬ ‫לכל‬.‫הן‬ ‫האפליקציה‬ ‫את‬ ‫להפעיל‬ ‫ניתן‬
‫הנבנה‬ ‫מהתרשים‬)‫קובץ‬FIG(‫שנוצר‬ ‫הקוד‬ ‫מקובץ‬ ‫והן‬.‫שם‬ ‫יש‬ ‫פקד‬ ‫לכל‬(tag name)‫ה‬ ‫בפונקצית‬ ‫מופיע‬ ‫אשר‬-
Callback‫ו‬ ‫שלו‬‫לשינוי‬ ‫ניתן‬.‫המשתמש‬ ‫בממשק‬ ‫מסוים‬ ‫פקד‬ ‫הפעלת‬ ‫בעת‬,‫קר‬ ‫מתבצעת‬‫לפונקצית‬ ‫יאה‬Callback
‫המ‬‫ו‬ ‫אליו‬ ‫שויכת‬‫היררכית‬ ‫בצורה‬ ‫בה‬ ‫הכתובות‬ ‫פקודות‬ ‫של‬ ‫סט‬ ‫מכילה‬.‫מס‬ ‫פקד‬ ‫לכל‬'‫שמורים‬ ‫אשר‬ ‫מאפיינים‬
‫הנקרא‬ ‫במבנה‬handles‫ה‬ ‫לפי‬ ‫פקד‬ ‫לכל‬ ‫שדה‬ ‫ובו‬-tag name‫שלו‬.
‫ביצוע‬ ‫עקרון‬‫ה‬‫בשפת‬ ‫תכנות‬ ‫מה‬ ‫במידת‬ ‫מזכיר‬ ‫פונקציה‬C,‫מקומיים‬ ‫במשתנים‬ ‫ניכר‬ ‫שימוש‬ ‫עושה‬ ‫אשר‬(local)
‫ה‬‫סיומה‬ ‫בעת‬ ‫ונמחקים‬ ‫הפונקציה‬ ‫בגוף‬ ‫חישובים‬ ‫לביצוע‬ ‫משמשים‬.‫זאת‬ ‫עם‬,‫ברצוננו‬ ‫אשר‬ ‫משתנים‬ ‫גם‬ ‫קיימים‬
‫ה‬ ‫פונקציות‬ ‫ביצוע‬ ‫לעת‬ ‫לשמור‬-callbacks‫הבאות‬‫הנוכחית‬ ‫מהפונקציה‬ ‫ביציאה‬ ‫אותם‬ ‫לאבד‬ ‫ולא‬,‫הם‬ ‫לכן‬
‫נשמרים‬ ‫מכן‬ ‫ולאחר‬ ‫מוגדרים‬‫ה‬ ‫במבנה‬-handles‫ושינוי‬ ‫לקריאה‬ ‫וניתנים‬‫ה‬ ‫פונקציות‬ ‫ביצוע‬ ‫במהלך‬-
callbacks‫הבאות‬.‫פקודת‬get‫את‬ ‫ולקלוט‬ ‫מסוים‬ ‫פקד‬ ‫של‬ ‫מאפיין‬ ‫בעל‬ ‫לשדה‬ ‫לפנות‬ ‫המאפשרת‬ ‫פקודה‬ ‫הינה‬
‫זה‬ ‫מאפיין‬ ‫של‬ ‫ערכו‬,‫פקודת‬ ‫ואילו‬set‫מסוים‬ ‫פקד‬ ‫של‬ ‫מאפיין‬ ‫בעל‬ ‫בשדה‬ ‫ערך‬ ‫של‬ ‫השמה‬ ‫מאפשרת‬.‫השמה‬ ‫בכל‬
‫ע‬ ‫ערך‬ ‫של‬"‫הפקודה‬ ‫י‬set,‫המבנה‬ ‫כלל‬ ‫את‬ ‫לשמור‬ ‫יש‬handles‫הפקודה‬ ‫באמצעות‬guidata.
‫ב‬‫תהליך‬‫ממשק‬ ‫יצירת‬‫ה‬‫ע‬ ‫משתמש‬"‫ה‬ ‫פונקצית‬ ‫י‬-GUIDE,‫פקודות‬ ‫של‬ ‫סט‬ ‫מבצעת‬ ‫אשר‬ ‫פתיחה‬ ‫פונקצית‬ ‫נוצרת‬
‫בה‬ ‫הכתובות‬,‫המשמש‬ ‫ממשק‬ ‫של‬ ‫הראשונית‬ ‫ההרצה‬ ‫בעת‬.‫כל‬ ‫ומאותחלים‬ ‫מופיעים‬ ‫הפתיחה‬ ‫בפונקצית‬
‫יצרנו‬ ‫אשר‬ ‫המשתנים‬‫המשתמש‬ ‫בממשק‬ ‫הפקדים‬ ‫של‬ ‫מהמאפיינים‬ ‫וחלק‬‫המבנה‬ ‫תחת‬ ‫ונשמרים‬handles.
‫בנוסף‬,‫בתקשורת‬ ‫המחזיק‬ ‫משתנה‬ ‫של‬ ‫התקשורת‬ ‫ניתוק‬ ‫מתבצעת‬ ‫שבה‬ ‫סגירה‬ ‫פונקצית‬ ‫קיימת‬‫טורית‬(s).‫כמו‬
‫המבנה‬ ‫את‬ ‫המרכיבים‬ ‫והפקדים‬ ‫האלמנטים‬ ‫כלל‬ ‫של‬ ‫מחיקה‬ ‫מתבצעת‬ ‫כן‬handles,‫שחרור‬ ‫לבצע‬ ‫מנת‬ ‫על‬
‫שאינו‬ ‫זיכרון‬‫יותר‬ ‫בשימוש‬.
- 32 -
3.1.3‫המשתמש‬ ‫ממשק‬ ‫מבנה‬
‫הבאים‬ ‫הרכיבים‬ ‫את‬ ‫מכיל‬ ‫המשתמש‬ ‫ממשק‬)‫איור‬ ‫ראה‬26:(
Connect/disconnect from bluetooth:‫ממ‬ ‫מתנתק‬ ‫או‬ ‫מתחבר‬‫קלט‬‫ה‬-Bluetooth‫הרובוט‬ ‫על‬ ‫שנמצא‬.
‫משימות‬ ‫ביצוע‬ ‫למטרת‬ ‫הרובוט‬ ‫עם‬ ‫קשר‬ ‫ליצירת‬ ‫חיוני‬ ‫חיבור‬ ‫ביצוע‬.
Insert port number:‫יש‬‫מס‬ ‫את‬ ‫להזין‬'‫במחשב‬ ‫טורית‬ ‫תקשורת‬ ‫כיציאת‬ ‫המוגדרת‬ ‫היציאה‬.
Insert characters:‫ה‬ ‫למקלט‬ ‫אותו‬ ‫ולשלוח‬ ‫אחד‬ ‫תו‬ ‫פעם‬ ‫בכל‬ ‫בשדה‬ ‫להכניס‬ ‫ניתן‬-Bluetooth‫על‬ ‫שנמצא‬
‫הרובוט‬.‫ה‬ ‫למקלט‬ ‫התחברות‬ ‫שבוצעה‬ ‫לאחר‬ ‫רק‬ ‫פעיל‬ ‫השדה‬-Bluetooth.
‫תנועה‬ ‫פקדי‬:‫בתנועתו‬ ‫מלאה‬ ‫שליטה‬ ‫מאפשרים‬ ‫אשר‬ ‫פקדים‬‫קדימה‬ ‫הרובוט‬ ‫של‬,‫אחורה‬,‫ושמאלה‬ ‫ימינה‬.
‫נלחץ‬ ‫פקד‬ ‫כאשר‬,‫עליו‬ ‫נוספת‬ ‫לחיצה‬ ‫בעת‬ ‫רק‬ ‫מפעילות‬ ‫יחדול‬ ‫והוא‬ ‫כהה‬ ‫באפור‬ ‫נצבע‬ ‫הוא‬,‫ע‬ ‫או‬"‫לחיצה‬ ‫י‬
‫אחר‬ ‫תנועה‬ ‫פקד‬ ‫על‬.
Conect to camera:‫הרובוט‬ ‫גבי‬ ‫על‬ ‫שנמצאת‬ ‫הסמארטפון‬ ‫ממצלמת‬ ‫מתנתק‬ ‫או‬ ‫מתחבר‬.‫הקלט‬ ‫תצוגת‬
‫מהמצלמה‬ ‫המגיע‬,‫ג‬ ‫על‬ ‫תופיע‬‫המשתמש‬ ‫ממשק‬ ‫שבמרכז‬ ‫השחורה‬ ‫החלונית‬ ‫בי‬.‫הפקד‬ ‫של‬ ‫הלחיצה‬ ‫לפני‬,‫יש‬
‫אנו‬ ‫בה‬ ‫הייעודית‬ ‫האפליקציה‬ ‫וכי‬ ‫אינטרנט‬ ‫רשת‬ ‫אותה‬ ‫על‬ ‫מחוברים‬ ‫והסמארטפון‬ ‫המחשב‬ ‫כי‬ ‫לוודא‬
‫רשת‬ ‫כמצלמת‬ ‫משתמשים‬(DroidCam)‫המשודר‬ ‫הוידאו‬ ‫את‬ ‫וקולטת‬ ‫המחשב‬ ‫גבי‬ ‫על‬ ‫ועובדת‬ ‫פתוחה‬
‫מהסמארטפון‬.
‫איור‬26–‫המשתמש‬ ‫ממשק‬ ‫מבנה‬
- 33 -
3.1.4‫שידור‬‫ל‬ ‫מהסמארטפון‬ ‫הוידאו‬-Matlab
‫אפליקציה‬ ‫באמצעות‬ ‫למחשב‬ ‫אמת‬ ‫בזמן‬ ‫וידאו‬ ‫מעבירה‬ ‫היא‬ ‫שכן‬ ‫רשת‬ ‫מצלמת‬ ‫מהווה‬ ‫הסמארטפון‬ ‫מצלמת‬
‫נקראת‬ ‫אשר‬ ‫אנדרואיד‬ ‫למכשירי‬ ‫ייעודית‬DroidCam.‫בסמארטפון‬ ‫המותקנת‬ ‫לאפליקציה‬ ‫בנוסף‬,‫יש‬
‫לקוח‬ ‫צד‬ ‫לאפליקציה‬(Client side)‫במחשב‬ ‫המותקן‬.‫ה‬ ‫רשת‬ ‫באמצעות‬ ‫נעשה‬ ‫הוידאו‬ ‫שידור‬-WiFi‫שתי‬ ‫כאשר‬
‫אלי‬ ‫מחוברים‬ ‫הצדדים‬‫כתובת‬ ‫להם‬ ‫ויש‬ ‫ה‬IP‫משותפת‬.
‫ה‬ ‫תוכנת‬ ‫באמצעות‬ ‫האפליקציה‬ ‫של‬ ‫הלקוח‬ ‫בצד‬ ‫המשודר‬ ‫הוידאו‬ ‫את‬ ‫לפתוח‬ ‫בכדי‬-Matlab‫תחילה‬ ‫להגדיר‬ ‫יש‬
‫רשת‬ ‫כמצלמת‬ ‫האפליקציה‬ ‫את‬.‫התהליך‬‫ה‬ ‫של‬ ‫מיוחד‬ ‫כלים‬ ‫ארגז‬ ‫באמעות‬ ‫נעשה‬-Matlab‫סרטוני‬ ‫עם‬ ‫לעבודה‬
‫נקרא‬ ‫אשר‬ ‫וידאו‬"Image Acquisition Toolbox".‫לשידור‬ ‫מתאים‬ ‫אשר‬ ‫וידאו‬ ‫למתאם‬ ‫לדאוג‬ ‫יש‬ ‫תחילה‬
‫שהיא‬ ‫המבוקשת‬ ‫ברזולוציה‬ ‫סרטון‬640X480.‫נקרא‬ ‫לפורמט‬ ‫הרצוי‬ ‫המתאם‬'winvideo'‫מותקן‬ ‫והוא‬
‫של‬ ‫ייעודית‬ ‫תמיכה‬ ‫חבילת‬ ‫באמצעות‬Matlab‫בשם‬"Os Generic Video Interface"‫אותה‬ ‫להוריד‬ ‫ניתן‬ ‫אשר‬
‫ע‬ ‫מוצעות‬ ‫אשר‬ ‫תמיכה‬ ‫חבילות‬ ‫שלל‬ ‫מתוך‬"‫י‬Matlab)‫של‬ ‫לאתר‬ ‫להתחבר‬ ‫יש‬ ‫התהליך‬ ‫לצורך‬Matlab
‫אישי‬ ‫משתמש‬ ‫חשבון‬ ‫באמצעות‬.(
‫איור‬28–‫האפליקציה‬DroidCam‫ה‬‫במכשי‬ ‫מותקנת‬‫ה‬ ‫ר‬-Android ‫איור‬27–‫האפליקציה‬ ‫של‬ ‫לקוח‬ ‫צד‬DroidCam
- 34 -
‫התמיכה‬ ‫חבילת‬ ‫התקנת‬ ‫לאחר‬,‫הצדדים‬ ‫בחלונות‬ ‫המצלמה‬ ‫של‬ ‫שמה‬ ‫ואת‬ ‫המתאם‬ ‫שם‬ ‫את‬ ‫לראות‬ ‫ניתן‬.‫כן‬ ‫כמו‬
‫במס‬ ‫ולשלוט‬ ‫הרשת‬ ‫ממצלמת‬ ‫המגיע‬ ‫הוידאו‬ ‫של‬ ‫הצגה‬ ‫לבצע‬ ‫ניתן‬'‫הוידאו‬ ‫שידור‬ ‫קצב‬ ‫כגון‬ ‫מאפיינים‬)‫פריימים‬
‫לשנייה‬(,‫ניגודיות‬,‫בהירות‬,Zoom‫ועוד‬.
‫איור‬29–Matlab Support Package Installer
‫איור‬30–Matlab Image Acquisition Tool
- 35 -
3.1.5‫המשתמש‬ ‫בממשק‬ ‫הוידאו‬ ‫פתיחת‬
‫ה‬ ‫דרך‬ ‫והצגתו‬ ‫למחשב‬ ‫הסמארטפון‬ ‫ממצלמת‬ ‫הוידאו‬ ‫ייבוא‬ ‫לאחר‬-"Image Acquisition Toolbox"‫ב‬-
Matlab,‫המשתמש‬ ‫ממשק‬ ‫בתוך‬ ‫הנמצא‬ ‫מסך‬ ‫גבי‬ ‫על‬ ‫להציגו‬ ‫ברצוננו‬.‫תואם‬ ‫יהיה‬ ‫אשר‬ ‫מסך‬ ‫ליצור‬ ‫בכדי‬
‫המתבקשת‬ ‫הוידאו‬ ‫לרזולוצית‬(640X480),‫בגודל‬ ‫אפסים‬ ‫מטריצת‬ ‫יצרנו‬640x680‫מערכת‬ ‫מסוג‬ ‫רכיב‬ ‫ובנינו‬
‫צירים‬(axes)‫המטריצה‬ ‫מוצגת‬ ‫עליו‬ ‫אשר‬.
‫ע‬"‫הקרויה‬ ‫בפקודה‬ ‫שימוש‬ ‫י‬videoinput‫הוידאו‬ ‫קלט‬ ‫את‬ ‫שומרים‬ ‫אנו‬‫הרשת‬ ‫ממצלמת‬ ‫המגיע‬‫משתנה‬ ‫לתוך‬
‫בשם‬vid‫במבנה‬ ‫נשמר‬ ‫אשר‬handles‫נוצר‬ ‫הוא‬ ‫בה‬ ‫לפונקציה‬ ‫מחוץ‬ ‫נוספות‬ ‫לפעולות‬ ‫פעילותו‬ ‫המשך‬ ‫לצורך‬.
‫ע‬"‫בפקודה‬ ‫שימוש‬ ‫י‬preview‫המשתנה‬ ‫תוכן‬ ‫את‬ ‫מציגים‬ ‫אנו‬)‫להלן‬,‫הוידאו‬(‫שבנינו‬ ‫המטריצה‬ ‫גבי‬ ‫על‬,‫אשר‬
‫שחור‬ ‫מסך‬ ‫גבי‬ ‫על‬ ‫מוצגת‬)‫הצירים‬ ‫מערכת‬.(
‫הכפתור‬ ‫על‬ ‫על‬ ‫לחיצה‬ ‫בעת‬ ‫השחור‬ ‫המסך‬ ‫גבי‬ ‫על‬ ‫מוצג‬ ‫הוידאו‬"connect to camera"‫לחיצה‬ ‫בעת‬ ‫ונסגר‬
‫נוספת‬‫עליו‬.‫השחור‬ ‫המסך‬ ‫גבי‬ ‫על‬ ‫הוידאו‬ ‫הצגת‬ ‫לאחר‬,‫התמונה‬ ‫בעיבוד‬ ‫העוסק‬ ‫הקוד‬ ‫ביצוע‬ ‫שלב‬ ‫טרם‬
‫בו‬ ‫המופיעה‬,‫פקודת‬ ‫נשלחת‬"hold on"‫אשר‬‫מחיקתה‬ ‫ללא‬ ‫התמונה‬ ‫גבי‬ ‫על‬ ‫נוספים‬ ‫אלמנטים‬ ‫הצגת‬ ‫מאפשרת‬.
‫איור‬31–‫הוידא‬ ‫הצגת‬‫ו‬‫המשתמש‬ ‫בממשק‬
- 36 -
3.1.6‫תקשורת‬ ‫יצירת‬‫טורית‬‫המשתמש‬ ‫ממשק‬ ‫בעזרת‬
‫ה‬ ‫למקלט‬ ‫המשתמש‬ ‫מממשק‬ ‫המעובד‬ ‫המידע‬ ‫את‬ ‫להעביר‬ ‫בכדי‬-Blutooth‫הרובוט‬ ‫גבי‬ ‫על‬ ‫נמצא‬ ‫אשר‬
‫טורית‬ ‫בתקשורת‬ ‫השתמשנו‬.‫כאמור‬,‫עיקריות‬ ‫דרכים‬ ‫בשתי‬ ‫דיגיטלי‬ ‫מידע‬ ‫לשדר‬ ‫ניתן‬:‫או‬ ‫טורית‬ ‫תקשורת‬
‫מקבילית‬ ‫תקשורת‬.‫האות‬ ‫מועבר‬ ‫שבה‬ ‫המהירות‬ ‫הוא‬ ‫מקבילית‬ ‫תקשורת‬ ‫של‬ ‫העיקרי‬ ‫יתרונה‬,‫להעביר‬ ‫ניתן‬ ‫שכן‬
‫מס‬ ‫זו‬ ‫בשיטה‬'‫במקביל‬ ‫ביטים‬.‫זאת‬ ‫לעומת‬,‫טורית‬ ‫בתקשורת‬‫ביט‬ ‫אחר‬ ‫ביט‬ ‫עובר‬ ‫המידע‬.
‫מידע‬ ‫של‬ ‫מאסיביות‬ ‫כמויות‬ ‫להעביר‬ ‫ברצוננו‬ ‫שאין‬ ‫ומכיוון‬ ‫זה‬ ‫יתרון‬ ‫למרות‬,‫ב‬ ‫המידע‬ ‫את‬ ‫לשדר‬ ‫בחרנו‬‫תקשורת‬
‫טורית‬.‫בנוסף‬,‫מס‬ ‫ישנם‬ ‫טורית‬ ‫לתקשורת‬'‫בולטים‬ ‫יתרונות‬,‫מקסימלי‬ ‫שידור‬ ‫ומרחק‬ ‫נמוך‬ ‫לרעש‬ ‫אות‬ ‫יחס‬ ‫כגון‬
‫המקבילית‬ ‫התקשורת‬ ‫לשיטת‬ ‫יחסית‬ ‫גדול‬.‫עוד‬‫שב‬ ‫היא‬ ‫חשובה‬ ‫נקודה‬‫מקבילית‬ ‫תקשורת‬‫קי‬‫ה‬ ‫ים‬-ISI
(Intersymbol interference)‫אשר‬‫לאות‬ ‫גורם‬‫ל‬‫וב‬ ‫התעוות‬‫העברה‬ ‫קצב‬ ‫את‬ ‫מוריד‬ ‫בעצם‬ ‫כך‬)‫תווים‬ ‫חבילת‬
‫שנשלח‬‫ת‬‫משובשת‬ ‫בצורה‬,‫נ‬‫שלח‬‫ת‬‫שה‬ ‫עד‬ ‫שוב‬‫י‬‫מתקבל‬ ‫א‬‫ת‬‫בהצלחה‬.(
‫י‬ ‫טרם‬‫ה‬ ‫ומקלט‬ ‫המחשב‬ ‫בין‬ ‫הטורית‬ ‫התקשורת‬ ‫צירת‬-Blutooth‫הרובוט‬ ‫גבי‬ ‫על‬ ‫אשר‬,‫מס‬ ‫לאתחל‬ ‫יש‬'‫הגדרות‬
‫כגון‬,‫טורית‬ ‫לתקשורת‬ ‫היציאה‬ ‫פורט‬(COM),‫הנתונים‬ ‫שידור‬ ‫קצב‬(Baud rate),‫מס‬'‫אשר‬ ‫המידע‬ ‫סיביות‬
‫מידע‬ ‫חבילת‬ ‫בכל‬ ‫נשלחות‬,‫זוגיות‬ ‫סיבית‬,‫עצירה‬ ‫וסיבית‬.‫הטורית‬ ‫התקשורת‬ ‫צורת‬ ‫על‬ ‫נוסף‬ ‫פירוט‬,‫תהליך‬
‫וקליטתו‬ ‫המידע‬ ‫שליחת‬ ‫ואופן‬ ‫האתחול‬,‫בפרק‬ ‫בהמשך‬ ‫מוצג‬3.3.1.
‫ב‬ ‫הוידאו‬ ‫לפתיחת‬ ‫בדומה‬‫המשתמש‬ ‫ממשק‬,‫ה‬ ‫במבנה‬ ‫ונשמר‬ ‫הטורית‬ ‫התקשורת‬ ‫את‬ ‫יוצר‬ ‫אשר‬ ‫משתנה‬ ‫הוגדר‬-
handles.‫וולהדליק‬ ‫החיבור‬ ‫בהגדרות‬ ‫ולשלוט‬ ‫לראות‬ ‫ניתן‬ ‫המשתנה‬ ‫שדות‬ ‫בין‬/‫אותו‬ ‫לכבות‬.‫המשתנה‬ ‫יצירת‬
‫ע‬ ‫נעשית‬"‫הפקד‬ ‫על‬ ‫לחיצה‬ ‫לאחר‬ ‫מהמשתמש‬ ‫קלט‬ ‫קבלת‬ ‫י‬"connect to camera"‫יש‬ ‫שאליו‬ ‫שדה‬ ‫פותח‬ ‫אשר‬
‫מס‬ ‫את‬ ‫להזין‬'‫המחשב‬ ‫בהגדרות‬ ‫מועד‬ ‫מבעוד‬ ‫שהוגדרה‬ ‫הטורית‬ ‫היציאה‬.‫לציין‬ ‫המקום‬ ‫כאן‬,‫החיבור‬ ‫יצירת‬ ‫כי‬
‫הראשונה‬ ‫בפעם‬ ‫צולחת‬ ‫תמיד‬ ‫לא‬‫ה‬ ‫שתוכנת‬ ‫משום‬-Matlab‫טורית‬ ‫לתקשורת‬ ‫ייעודית‬ ‫אינה‬,‫לתוכנות‬ ‫בניגוד‬
‫לצור‬ ‫שימוש‬ ‫בהם‬ ‫עשינו‬ ‫אשר‬ ‫ייעודיות‬‫ובדיקה‬ ‫כיול‬ ‫ך‬,‫תוכנת‬ ‫כדוגמת‬"Tera Term".‫באם‬,‫לא‬ ‫החיבור‬ ‫ניסיון‬
‫צלח‬,‫שוב‬ ‫לנסות‬ ‫ויש‬ ‫שגיאה‬ ‫הודעת‬ ‫תצא‬.‫צלח‬ ‫והחיבור‬ ‫במידה‬,‫ל‬ ‫יהפך‬ ‫החיבור‬ ‫כפתור‬-disconnect‫כן‬ ‫וכמו‬
‫ה‬ ‫בנורית‬ ‫ירוק‬ ‫אור‬ ‫יופיע‬-Led‫ה‬ ‫שבמקלט‬-Bluetooth.‫אותות‬ ‫לשליחת‬ ‫ומוכן‬ ‫ערוך‬ ‫המשתמש‬ ‫ממשק‬ ‫כעת‬
‫לרובוט‬.
‫איור‬32–‫ה‬ ‫מקלט‬-Bluetooth‫מחובר‬ ‫במצב‬
- 37 -
3.1.7‫התנועה‬ ‫פקדי‬ ‫ותפעול‬ ‫אותות‬ ‫שליחת‬
‫הרובוט‬ ‫של‬ ‫נסיעתו‬ ‫בכיוון‬ ‫פשוט‬ ‫תפעול‬ ‫מאפשר‬ ‫המשתמש‬ ‫ממשק‬.‫ע‬ ‫מתבצעת‬ ‫השליטה‬"‫כפתורי‬ ‫ארבעה‬ ‫י‬
‫תנועה‬(Forward, Backword, Right, Left)‫מחשב‬ ‫במשחק‬ ‫ברכב‬ ‫שליטה‬ ‫מזכירים‬ ‫אשר‬.‫למשחק‬ ‫בניגוד‬
‫הכיוון‬ ‫מחצי‬ ‫אחד‬ ‫על‬ ‫ממושכת‬ ‫לחיצה‬ ‫בעת‬ ‫רק‬ ‫נוסע‬ ‫הרכב‬ ‫בו‬ ‫אשר‬ ‫מחשב‬,‫ע‬ ‫מתבצעת‬ ‫הרובוט‬ ‫תנועת‬"‫לחיצה‬ ‫י‬
‫המשתמש‬ ‫בממשק‬ ‫התנועה‬ ‫מפקדי‬ ‫אחד‬ ‫על‬ ‫בודדת‬.
‫עליו‬ ‫נוספת‬ ‫לחיצה‬ ‫בעת‬ ‫רק‬ ‫הרובוט‬ ‫תנועת‬ ‫את‬ ‫ויפסיק‬ ‫כהה‬ ‫באפור‬ ‫נצבע‬ ‫נלחץ‬ ‫אשר‬ ‫הפקד‬‫אחר‬ ‫כיוון‬ ‫פקד‬ ‫על‬ ‫או‬
‫שי‬‫כהה‬ ‫באפור‬ ‫הוא‬ ‫כעת‬ ‫צבע‬.‫ה‬ ‫למשדר‬ ‫אות‬ ‫שולח‬ ‫נלחץ‬ ‫אשר‬ ‫פקד‬ ‫כל‬-Bluetooth‫הרובוט‬ ‫גבי‬ ‫על‬ ‫נמצא‬ ‫אשר‬
‫הרצוי‬ ‫בכיוון‬ ‫לתנועה‬ ‫ומתורגם‬.‫כאמור‬,‫ע‬ ‫חיבור‬ ‫לבצע‬ ‫יש‬ ‫התנועה‬ ‫בפקדי‬ ‫להשתמש‬ ‫בכדי‬"‫בין‬ ‫טורית‬ ‫תקשורת‬ ‫י‬
‫הרובוט‬ ‫ובין‬ ‫המשתמש‬ ‫ממשק‬.
‫ה‬‫תווים‬‫לחי‬ ‫בעת‬ ‫הנשלחים‬‫הם‬ ‫הפקדים‬ ‫על‬ ‫צה‬:
'f'–‫פקד‬ ‫על‬ ‫לחיצה‬ ‫בעת‬Forward.
'b'–‫פקד‬ ‫על‬ ‫לחיצה‬ ‫בעת‬Backward.
'r'–‫פקד‬ ‫על‬ ‫לחיצה‬ ‫בעת‬Right.
'l'–‫פקד‬ ‫על‬ ‫לחיצה‬ ‫בעת‬Left.
'0'–‫בעת‬‫פעיל‬ ‫פקד‬ ‫על‬ ‫נוספת‬ ‫לחיצה‬.
‫לרובוט‬ ‫המשתמש‬ ‫מממשק‬ ‫אותות‬ ‫של‬ ‫ידנית‬ ‫לשליחה‬ ‫אפשרות‬ ‫יש‬ ‫התנועה‬ ‫לפקדי‬ ‫בנוסף‬,‫נמצא‬ ‫אשר‬ ‫שדה‬ ‫דרך‬
‫לידו‬ ‫ורשום‬ ‫המשתמש‬ ‫ממשק‬ ‫של‬ ‫העליון‬ ‫בחלקו‬"Insert characters".‫לאח‬ ‫רק‬ ‫פעיל‬ ‫השדה‬ ‫כי‬ ‫לב‬ ‫לשים‬ ‫יש‬‫ר‬
‫א‬ ‫תו‬ ‫רק‬ ‫פעם‬ ‫בכל‬ ‫לשלוח‬ ‫ניתן‬ ‫וכי‬ ‫והרובוט‬ ‫המשתמש‬ ‫ממשק‬ ‫בין‬ ‫הטורית‬ ‫התקשורת‬ ‫ביצוע‬‫בלבד‬ ‫חד‬.‫לאחר‬
‫מתווים‬ ‫אוטומטית‬ ‫מתנקה‬ ‫השדה‬ ‫התו‬ ‫שליחת‬.‫כאמור‬,‫תנועת‬ ‫את‬ ‫תגרור‬ ‫לעיל‬ ‫הוזכרו‬ ‫אשר‬ ‫התווים‬ ‫שליחת‬
‫אחר‬ ‫תו‬ ‫כל‬ ‫ושליחת‬ ‫המתאים‬ ‫בכיוון‬ ‫הרובוט‬,‫הרובוט‬ ‫תנועת‬ ‫את‬ ‫תחדול‬)‫התו‬ ‫לשליחת‬ ‫זהה‬'0'‫מתבצעת‬ ‫אשר‬
‫פעיל‬ ‫תנועה‬ ‫פקד‬ ‫על‬ ‫לחיצה‬ ‫בעת‬ ‫אוטומטית‬.(
‫הנ‬ ‫התווים‬ ‫על‬ ‫נוסף‬"‫ל‬,‫ה‬ ‫נוריות‬ ‫שלושת‬ ‫את‬ ‫מדליקים‬ ‫אשר‬ ‫תווים‬ ‫שלושה‬ ‫ישנם‬-Led‫הרובוט‬ ‫גוף‬ ‫על‬ ‫שנמצאות‬
‫בהתאמה‬.‫אופן‬‫בהר‬ ‫יידון‬ ‫הנוריות‬ ‫הדלקת‬‫ח‬‫שעוסק‬ ‫בפרק‬ ‫בה‬‫ע‬ ‫האובייקטים‬ ‫בזיהוי‬"‫וצבע‬ ‫צורה‬ ‫פ‬.
‫ה‬ ‫נוריות‬ ‫להדלקת‬ ‫האחראים‬ ‫התווים‬-Led‫הם‬:
'G'–‫ה‬ ‫את‬ ‫מדליק‬-Led‫הירוק‬.
'R'–‫ה‬ ‫את‬ ‫מדליק‬-Led‫האדום‬.
'Y'–‫ה‬ ‫את‬ ‫מדליק‬-Led‫הצהוב‬.
- 38 -
3.2‫זיהוי‬‫אובייקטים‬‫ע‬"‫וצבע‬ ‫צורה‬ ‫פ‬
3.2.1‫רציונל‬
‫אח‬‫ד‬‫וסיווגם‬ ‫אובייקטים‬ ‫זיהוי‬ ‫הוא‬ ‫הממוחשבת‬ ‫הראייה‬ ‫בתחום‬ ‫הטכנולוגים‬ ‫האתגרים‬.‫מס‬ ‫קיימות‬'‫טכניקות‬
‫אובייקט‬ ‫לזהות‬ ‫בכדי‬ ‫התמונה‬ ‫עיבוד‬ ‫בעולם‬ ‫מרכזיות‬,‫באמצעות‬ ‫ניתוח‬ ‫ביצוע‬ ‫הוא‬ ‫למרביתן‬ ‫המשותף‬ ‫אשר‬
‫מתמטיים‬ ‫אלגוריתמים‬.‫צורתו‬ ‫והן‬ ‫המזוהה‬ ‫העצם‬ ‫של‬ ‫מרכזיות‬ ‫תכונות‬ ‫בשני‬ ‫מתמקדות‬ ‫הטכניקות‬ ‫מרבית‬
‫שלו‬ ‫והצבע‬.
‫מורכ‬ ‫פעולה‬ ‫להיות‬ ‫יכולה‬ ‫האובייקט‬ ‫של‬ ‫צורתו‬ ‫זיהוי‬‫ע‬ ‫וסיווגו‬ ‫התמונה‬ ‫במרחב‬ ‫איתורו‬ ‫את‬ ‫דורשת‬ ‫אשר‬ ‫בת‬"‫פ‬
‫שלו‬ ‫הגיאומטרי‬ ‫המבנה‬.‫זאת‬ ‫לעומת‬,‫האובייקט‬ ‫של‬ ‫הצבע‬ ‫מרכיבי‬ ‫זיהוי‬,‫מלבד‬ ‫שכן‬ ‫יותר‬ ‫פשוטה‬ ‫משימה‬ ‫הינה‬
‫ע‬ ‫הנבדקת‬ ‫התמונה‬ ‫במטריצת‬ ‫המיוצגים‬ ‫הצבע‬ ‫גווני‬ ‫פענוח‬"‫מספריים‬ ‫ערכים‬ ‫י‬,‫מתמטיות‬ ‫פעולות‬ ‫דורשת‬ ‫אינה‬
‫מורכבות‬.‫הפש‬ ‫למרות‬ ‫אך‬‫היחסית‬ ‫טות‬,‫של‬ ‫צורתו‬ ‫מזיהוי‬ ‫מדויק‬ ‫פחות‬ ‫הרבה‬ ‫תהליך‬ ‫הינו‬ ‫הצבע‬ ‫מרכיבי‬ ‫זיהוי‬
‫האובי‬‫י‬‫קט‬,‫היות‬‫לאחרת‬ ‫אחת‬ ‫סביבה‬ ‫בין‬ ‫תאורה‬ ‫ושינויי‬ ‫בתמונה‬ ‫המופיעים‬ ‫רצויים‬ ‫לא‬ ‫מרעשים‬ ‫מושפע‬ ‫והוא‬.
‫זיהוי‬ ‫עניין‬ ‫את‬ ‫לבחון‬ ‫בכדי‬‫האובייקטים‬‫בצורה‬ ‫ולממשו‬‫אופטימאלי‬‫ת‬,‫שתי‬ ‫בין‬ ‫לשלב‬ ‫החלטנו‬‫של‬ ‫הטכניקות‬
‫ע‬ ‫זיהוי‬"‫וע‬ ‫צורה‬ ‫פ‬"‫צבע‬ ‫פ‬.‫שונים‬ ‫צבעים‬ ‫בשלושה‬ ‫מעגל‬ ‫בצורת‬ ‫אובייקטים‬ ‫לזהות‬ ‫הייתה‬ ‫שהוגדרה‬ ‫המשימה‬
‫החדר‬ ‫במרחב‬ ‫הפזורים‬.‫לצורך‬ ‫נבחרו‬ ‫אשר‬ ‫המעגלים‬ ‫צבעי‬‫אדום‬ ‫הם‬ ‫הזיהוי‬,‫בחירה‬ ‫הייתה‬ ‫וזו‬ ‫וירוק‬ ‫צהוב‬
‫לחלוטין‬ ‫שרירותית‬.‫מעגל‬ ‫היא‬ ‫הזיהוי‬ ‫לצורך‬ ‫נבחרה‬ ‫אשר‬ ‫הצורה‬,‫שכן‬‫תבנית‬ ‫בעל‬ ‫נפוץ‬ ‫גיאומטרי‬ ‫אובייקט‬ ‫זהו‬
‫מתמטית‬,‫זיהויו‬ ‫לצורך‬ ‫כקוד‬ ‫ימומש‬ ‫אשר‬ ‫מתמטי‬ ‫אלגוריתם‬ ‫מציאת‬ ‫בדמות‬ ‫אתגר‬ ‫שיוצר‬ ‫מה‬.
‫איור‬33–‫הזיהוי‬ ‫לצורך‬ ‫שנבחרו‬ ‫האובייקטים‬
- 39 -
2.3.2‫ע‬ ‫מעגל‬ ‫זיהוי‬"‫התמרת‬ ‫י‬CHT
‫בפונקציה‬ ‫השמשנו‬ ‫המעגלים‬ ‫זיהוי‬ ‫לצורך‬‫ייעודי‬‫ת‬‫של‬Matlab‫בשם‬"imfindcircle"‫בספריית‬ ‫נמצאת‬ ‫אשר‬
‫התמונה‬ ‫עיבוד‬-Image Processing Toolbox.‫התמרת‬ ‫מבצעת‬ ‫הפונקציה‬Hough‫בחלק‬ ‫שהוסבר‬ ‫כפי‬ ‫מעגלית‬
‫התיאורטי‬.‫מעגלי‬ ‫אובייקט‬ ‫לזהות‬ ‫ניסיון‬ ‫יש‬ ‫בה‬ ‫התמונה‬ ‫את‬ ‫כקלט‬ ‫מקבלת‬ ‫היא‬,‫הרצוי‬ ‫הרדיוס‬ ‫טווח‬ ‫את‬
‫לזיהוי‬,‫האובייקט‬ ‫של‬ ‫הניגודיות‬ ‫מידת‬ ‫את‬‫מופיע‬ ‫הוא‬ ‫בו‬ ‫לרקע‬ ‫ביחס‬)‫ממנו‬ ‫כהה‬ ‫או‬ ‫בהיר‬(‫הרגישות‬ ‫סף‬ ‫ואת‬
‫לזיהוי‬ ‫הדרוש‬.‫כפל‬ ‫מחזירה‬ ‫הפונקציה‬‫ט‬,‫שיעורי‬ ‫ואת‬ ‫המזוהים‬ ‫המעגלים‬ ‫של‬ ‫הרדיוסים‬ ‫ובו‬ ‫ווקטור‬
‫קואורדינאטות‬‫נק‬'‫שלהם‬ ‫המרכז‬.
‫קצוות‬ ‫לזיהוי‬ ‫באלגוריתם‬ ‫שימוש‬ ‫עושה‬ ‫הפונקציה‬(Edge detection)‫אשר‬‫מתמטית‬ ‫פעולה‬ ‫על‬ ‫מבוסס‬
‫ק‬ ‫את‬ ‫למצוא‬ ‫שמטרתה‬‫ו‬‫ו‬‫בתמונה‬ ‫עצמים‬ ‫של‬ ‫הקצה‬ ‫י‬.‫ק‬‫ו‬‫וי‬‫קצה‬)‫שפות‬(‫בין‬ ‫כגבול‬ ‫מוגדרים‬‫בהירות‬ ‫רמות‬
‫שונות‬.‫שזוהו‬ ‫הקצוות‬,‫הנבדק‬ ‫האובייקט‬ ‫של‬ ‫המתאר‬ ‫קו‬ ‫את‬ ‫מהווים‬,‫ע‬ ‫ובודקת‬ ‫סורקת‬ ‫הפונקציה‬ ‫אותו‬"‫י‬
‫מימדי‬ ‫תלת‬ ‫סוכם‬ ‫בתוך‬ ‫מתבצע‬ ‫אשר‬ ‫הצבעה‬ ‫תהליך‬,‫הוס‬ ‫שכבר‬ ‫כפי‬‫בר‬.
‫ובכן‬,‫במעגלים‬ ‫שנבדק‬ ‫העיקרי‬ ‫החלק‬,‫השתמשנו‬ ‫בהם‬ ‫המעגלים‬ ‫ולכן‬ ‫שלהם‬ ‫המתאר‬ ‫קו‬ ‫הוא‬)‫איור‬33(‫הם‬
‫החיצונית‬ ‫ולסביבתו‬ ‫המעגל‬ ‫של‬ ‫הפנימי‬ ‫לחלק‬ ‫גבוהה‬ ‫ניגודיות‬ ‫ברמת‬ ‫נמצא‬ ‫אשר‬ ‫שחור‬ ‫מתאר‬ ‫קו‬ ‫בעלי‬.‫כן‬ ‫כמו‬
‫הזיהוי‬ ‫של‬ ‫הרגישות‬ ‫סף‬ ‫רמת‬ ‫את‬ ‫מעט‬ ‫העלנו‬,‫פחות‬ ‫זיהוי‬ ‫שמאפשר‬ ‫מה‬"‫קשוח‬."
3.3.2‫המעגל‬ ‫צבע‬ ‫זיהוי‬
‫ע‬ ‫מתבצע‬ ‫המעגל‬ ‫צבע‬ ‫זיהוי‬"‫ה‬ ‫ערכי‬ ‫ניתוח‬ ‫י‬-RGB‫הנבדקת‬ ‫התמונה‬ ‫של‬.‫כאמור‬,‫התמונה‬ ‫במטריצת‬ ‫תא‬ ‫כל‬
‫מכיל‬3‫יסוד‬ ‫גוון‬ ‫כל‬ ‫של‬ ‫הבהירות‬ ‫רמת‬ ‫את‬ ‫משקפים‬ ‫אשר‬ ‫מספריים‬ ‫ערכים‬)‫אדום‬,‫ירוק‬,‫כחול‬(.‫הוא‬ ‫ערך‬ ‫כל‬
‫המספרים‬ ‫בטווח‬'0' - '255',‫כאשר‬'0'‫נמוכה‬ ‫הכי‬ ‫הבהירות‬ ‫רמת‬ ‫זוהי‬)‫שחור‬(‫ו‬-'255'‫גבוהה‬ ‫הכי‬)‫לבן‬.(
‫משנה‬ ‫פונקציות‬ ‫שלוש‬ ‫בנינו‬ ‫התמונה‬ ‫של‬ ‫הצבע‬ ‫את‬ ‫לבדוק‬ ‫בכדי‬,‫גוון‬ ‫לכל‬ ‫אחת‬.‫שלושת‬ ‫של‬ ‫הפעולה‬ ‫עקרון‬
‫זהה‬ ‫הפונקציות‬,‫כקלט‬ ‫מקבלת‬ ‫פונקציה‬ ‫כל‬,‫בתמונה‬ ‫חלק‬)‫מטריצה‬(‫כמעגל‬ ‫קודם‬ ‫עוד‬ ‫זוהה‬ ‫אשר‬,‫את‬ ‫סוכמת‬
‫הפיקסל‬ ‫ערכי‬‫מראש‬ ‫בדקנו‬ ‫אשר‬ ‫למדדים‬ ‫בהתאם‬ ‫שהגדרנו‬ ‫הגוון‬ ‫בטווח‬ ‫ים‬,‫מס‬ ‫את‬ ‫ומחזירה‬'‫הפיקסלים‬
‫שסכמה‬.‫הפיקסלים‬ ‫אחוז‬ ‫בדמות‬ ‫הגוון‬ ‫זיהוי‬ ‫רגישות‬ ‫סף‬ ‫את‬ ‫קובע‬ ‫אשר‬ ‫זיהוי‬ ‫סף‬ ‫פרמטר‬ ‫הגדרנו‬ ‫בנוסף‬
‫אליה‬ ‫שנשלחו‬ ‫הפיקסלים‬ ‫כלל‬ ‫מתוך‬ ‫מפונקציה‬ ‫שהוחזרו‬)‫בלבד‬ ‫שזוהה‬ ‫המעגל‬ ‫את‬ ‫המכילה‬ ‫המטריצה‬ ‫גודל‬.(
‫ק‬‫ל‬ ‫הזיהוי‬ ‫סף‬ ‫את‬ ‫בענו‬-80%‫הקוד‬ ‫דרך‬ ‫לשנותו‬ ‫ניתן‬ ‫אך‬.
- 40 -
‫הוגדרו‬ ‫אשר‬ ‫הטווחים‬‫ל‬ ‫פונקציה‬ ‫בכל‬‫צבע‬ ‫גוון‬ ‫זיהוי‬,‫כמפורט‬ ‫היסוד‬ ‫צבעי‬ ‫של‬ ‫הבהירות‬ ‫רמות‬ ‫סמך‬ ‫על‬ ‫הם‬
‫הבאות‬ ‫בטבלאות‬:
Red:
‫יסוד‬ ‫גוון‬Blue (3)Green (2)Red (1)
‫ערכים‬ ‫טווח‬Image(i,j,3) ≤ 150Image(i,j,2) ≤ 150Image(i,j,1) ≥ 100
‫מקסימלי‬ ‫הפרש‬
‫היסוד‬ ‫גווני‬ ‫בין‬
Image(i,j,2) | ≤ 50-| Image(i,j,3)
Green:
‫יסוד‬ ‫גוון‬Blue (3)Green (2)Red (1)
‫ערכים‬ ‫טווח‬Image(i,j,3) ≤ 150Image(i,j,2) ≥ 100Image(i,j,1) ≤ 150
‫מקסימלי‬ ‫הפרש‬
‫היסוד‬ ‫גווני‬ ‫בין‬
Image(i,j,1) | ≤ 50-| Image(i,j,3)
Yellow:
‫יסוד‬ ‫גוון‬Blue (3)Green (2)Red (1)
‫ערכים‬ ‫טווח‬Image(i,j,3) ≤ 150Image(i,j,2) ≥ 150Image(i,j,1) ≥ 150
‫מקסימלי‬ ‫הפרש‬
‫היסוד‬ ‫גווני‬ ‫בין‬
Image(i,j,1) | ≤ 50-| Image(i,j,2)
‫טבלה‬34–‫השונים‬ ‫הגוונים‬ ‫לזיהוי‬ ‫הבהירות‬ ‫רמות‬ ‫טווחי‬
- 41 -
4.3.2‫כולל‬ ‫זיהוי‬ ‫לכדי‬ ‫הצבע‬ ‫ובדיקת‬ ‫הצורה‬ ‫ניתוח‬ ‫שילוב‬
‫ל‬ ‫ומשם‬ ‫למחשב‬ ‫מהסמארטפון‬ ‫המגיע‬ ‫הוידאו‬ ‫סרט‬ ‫את‬ ‫לבחון‬ ‫בכדי‬-Matlab,‫זמן‬ ‫בפרק‬ ‫אותו‬ ‫לדגום‬ ‫עלינו‬ ‫היה‬
‫פועל‬ ‫אשר‬ ‫התוכנה‬ ‫ותקיעת‬ ‫שיבושים‬ ‫ללא‬ ‫בודדת‬ ‫תמונה‬ ‫ניתוח‬ ‫שיאפשר‬ ‫מסוים‬‫ברקע‬ ‫ת‬.‫ד‬‫ג‬‫התמונה‬ ‫ימת‬
‫וניתוחה‬,‫בעת‬ ‫לפעולה‬ ‫וחוזרת‬ ‫המשתמש‬ ‫בממשק‬ ‫המצלמה‬ ‫כיבוי‬ ‫עד‬ ‫פועלת‬ ‫אשר‬ ‫לולאה‬ ‫בעזרת‬ ‫התבצעה‬
‫הפע‬‫מחדש‬ ‫לתה‬.‫של‬ ‫מכוונת‬ ‫השהייה‬ ‫עם‬ ‫היררכי‬ ‫פעולות‬ ‫סדר‬ ‫מכילה‬ ‫הלולאה‬400‫פעולה‬ ‫בין‬ ‫מילישניות‬
‫ושוטפת‬ ‫חלקה‬ ‫פעולה‬ ‫לאפשר‬ ‫מנת‬ ‫על‬ ‫לפעולה‬.
‫המשימות‬ ‫ביצוע‬ ‫לצורך‬ ‫כי‬ ‫לציין‬ ‫המקום‬ ‫זה‬,‫יכולות‬ ‫ללא‬ ‫פשוטים‬ ‫אישי‬ ‫ומחשב‬ ‫סמארטפון‬ ‫במצלמת‬ ‫השתמשנו‬
‫הקוד‬ ‫את‬ ‫לייעל‬ ‫המאמץ‬ ‫אף‬ ‫על‬ ‫ולכן‬ ‫התעשייה‬ ‫בעולם‬ ‫המקובלים‬ ‫הכלים‬ ‫כמו‬ ‫מיוחדות‬ ‫עיבוד‬,‫לעיתים‬ ‫נתקלנו‬
‫למחשב‬ ‫מהמצלמה‬ ‫הסרט‬ ‫בהגעת‬ ‫ועיכוב‬ ‫איטי‬ ‫עיבוד‬ ‫של‬ ‫בבעיות‬.
‫הייעו‬ ‫ממאמצי‬ ‫כחלק‬‫ל‬,‫למציאת‬ ‫הצורה‬ ‫ניתוח‬ ‫את‬ ‫ביצענו‬‫הצבע‬ ‫ניתוח‬ ‫לפני‬ ‫מעגל‬.‫מעגל‬ ‫של‬ ‫זיהוי‬ ‫התקבל‬ ‫באם‬
‫הצבע‬ ‫בדיקת‬ ‫תתבצע‬ ‫שבו‬ ‫לאזור‬ ‫וממוקדת‬ ‫בתוכה‬ ‫המעגל‬ ‫את‬ ‫חוסמת‬ ‫אשר‬ ‫חדשה‬ ‫ריבועית‬ ‫תמונה‬ ‫יצרנו‬.‫זהו‬
‫אינם‬ ‫התמונה‬ ‫חלקי‬ ‫רוב‬ ‫שכן‬ ‫קריטי‬ ‫חלק‬‫רלוונטיי‬‫ם‬‫המ‬ ‫פנים‬ ‫הוא‬ ‫רלוונטי‬ ‫שכן‬ ‫ומה‬ ‫הצבע‬ ‫ניתוח‬ ‫לשלב‬‫עגל‬.
‫המעגל‬ ‫תופס‬ ‫אותו‬ ‫השטח‬ ‫אחוז‬ ‫את‬ ‫לייצג‬ ‫ניתן‬,‫התמו‬ ‫מכלל‬‫ע‬ ‫שיצרנו‬ ‫החדשה‬ ‫נה‬"‫הבא‬ ‫הפקטור‬ ‫פ‬:
=
‫מעגל‬
‫ריבוע‬
=
4
=
4
= 0.7853 = 78.53%
‫ה‬ ‫התמונה‬-"‫חתוכה‬"‫לפונקציות‬ ‫נשלחת‬‫סקרנו‬ ‫אשר‬ ‫גוון‬ ‫לזיהוי‬,‫ע‬"‫הסדר‬ ‫פ‬:Green  Red  Yellow .
‫המסוים‬ ‫הצבע‬ ‫בגוון‬ ‫המעגל‬ ‫של‬ ‫מוצלח‬ ‫זיהוי‬ ‫התבצע‬ ‫באם‬,‫ה‬ ‫ונורית‬ ‫מופסקת‬ ‫הרובוט‬ ‫תנועת‬-Led‫שעליו‬
‫שזוהה‬ ‫לגוון‬ ‫המתאים‬ ‫בצבע‬ ‫לרצד‬ ‫מתחילה‬.‫כן‬ ‫כמו‬,‫שלו‬ ‫בצבע‬ ‫במעגל‬ ‫מוקף‬ ‫שזוהה‬ ‫האובייקט‬.‫לא‬ ‫באם‬
‫מוצלח‬ ‫זיהוי‬ ‫התבצע‬,‫האחרון‬ ‫לגוון‬ ‫עד‬ ‫הלאה‬ ‫וכן‬ ‫הבא‬ ‫הגוון‬ ‫לבדיקת‬ ‫עוברת‬ ‫הלולאה‬,‫לתחילת‬ ‫חוזרת‬ ‫היא‬ ‫בו‬
‫שראשיתו‬ ‫הפעולות‬ ‫רצף‬,‫שנדגמה‬ ‫בתמונה‬ ‫מעגל‬ ‫איתור‬)‫ראה‬‫א‬‫י‬‫ו‬‫ר‬36(.
‫אובייקט‬ ‫של‬ ‫מוצלח‬ ‫זיהוי‬ ‫ביצוע‬ ‫לאחר‬,‫מסוים‬ ‫בכיוון‬ ‫הרובוט‬ ‫של‬ ‫והנעתו‬,‫וימחק‬ ‫המרצדת‬ ‫הנורית‬ ‫תכובה‬
‫האובייקט‬ ‫את‬ ‫מקיף‬ ‫אשר‬ ‫המעגל‬‫מחדש‬ ‫יחול‬ ‫הזיהוי‬ ‫ותהליך‬.
‫במנוחה‬ ‫עומד‬ ‫והרובוט‬ ‫מוצלח‬ ‫זיהוי‬ ‫התבצע‬ ‫אם‬ ‫שגם‬ ‫לציין‬ ‫חשוב‬,‫לראות‬ ‫וניתן‬ ‫ברקע‬ ‫להתבצע‬ ‫ממשיך‬ ‫הניתוח‬
‫ע‬ ‫זאת‬"‫ממנה‬ ‫מידי‬ ‫מרוחק‬ ‫ואינו‬ ‫המצלמה‬ ‫עדשת‬ ‫קולטת‬ ‫אשר‬ ‫בטווח‬ ‫הוא‬ ‫עוד‬ ‫כל‬ ‫האובייקט‬ ‫הזזת‬ ‫י‬.‫ניתן‬
‫אחריו‬ ‫עוקב‬ ‫האובייקט‬ ‫סביב‬ ‫המצויר‬ ‫המעגל‬ ‫את‬ ‫לראות‬‫מהפריים‬ ‫יצא‬ ‫לא‬ ‫עוד‬ ‫כל‬.‫ונפוץ‬ ‫ידוע‬ ‫מימוש‬ ‫זהו‬
‫הממוחשבת‬ ‫הראייה‬ ‫בתחום‬ ‫בשימוש‬‫דינאמיים‬ ‫אובייקטים‬ ‫אחר‬ ‫מעקב‬ ‫שמאפשר‬(Object Tracking).
‫דגימת‬
‫התמונה‬
‫מעגל‬ ‫זיהוי‬ ‫ירוק‬ ‫מעגל‬?
‫מעגל‬
‫אדום‬?
‫מעגל‬
‫צהוב‬?
‫איור‬35–‫ה‬ ‫מהתמונה‬ ‫המעגל‬ ‫שטח‬ ‫אחוז‬-"‫חתוכה‬"
‫איור‬36–‫האובייקט‬ ‫זיהוי‬ ‫תהליך‬ ‫של‬ ‫זרימה‬ ‫תרשים‬
- 42 -
3.3UART
3.3.1‫למחשב‬ ‫המודם‬ ‫חיבור‬
‫אנחנו‬ ‫בפרויקט‬‫עבדנו‬‫מודם‬ ‫עם‬Bluetooth‫תוצרת‬microchip‫בשם‬RN42‫המבוא‬ ‫בפרק‬ ‫סרקנו‬ ‫אותו‬,
‫על‬ ‫מורכב‬ ‫המודם‬‫צ‬'‫יפ‬‫חברת‬ ‫של‬"Sparkfun"‫בשם‬"Bluesmirf silver".‫לחסוך‬ ‫לנו‬ ‫מאפשר‬ ‫זה‬ ‫במודם‬ ‫שימוש‬
‫חוטיות‬ ‫ממגבלות‬ ‫וחופשייה‬ ‫יותר‬ ‫פשוטה‬ ‫תנועה‬ ‫ומאפשר‬ ‫בכבלים‬ ‫השימוש‬ ‫את‬.‫המודם‬ ‫את‬ ‫שמחברים‬ ‫לפני‬
‫למכשירי‬ ‫להתחבר‬ ‫יכולת‬ ‫למחשב‬ ‫כי‬ ‫לוודא‬ ‫יש‬ ‫למחשב‬Bluetooth,‫ואין‬ ‫במידה‬,‫ל‬ ‫ניתן‬‫חיצוני‬ ‫דונגל‬ ‫רכוש‬
‫בחיבור‬ ‫שמתחבר‬USB‫למחשב‬‫מכן‬ ‫ולאחר‬ ‫השתמשנו‬ ‫בו‬ ‫הדונגל‬ ‫כדוגמת‬‫לבצע‬ ‫יש‬‫א‬‫המודם‬ ‫של‬ ‫ראשוני‬ ‫תחול‬.
‫ביצוע‬ ‫הוא‬ ‫הראשון‬ ‫השלב‬pairing)‫זיווג‬(‫המודם‬ ‫ובין‬ ‫עובדים‬ ‫עמו‬ ‫המחשב‬ ‫בין‬‫מכשיר‬ ‫בכל‬ ‫כמו‬Bluetooth.
‫הוא‬ ‫הראשוני‬ ‫הקוד‬1234‫בהמשך‬ ‫לשינוי‬ ‫וניתן‬.
‫איור‬38–‫ביצוע‬Pairing‫ה‬ ‫ומודם‬ ‫המחשב‬ ‫בין‬-Bluetooth
‫איור‬37–‫דונגל‬Bluetooth‫דגם‬CSR 4.0
- 43 -
‫מספרי‬ ‫שני‬ ‫עם‬ ‫למחשב‬ ‫מחובר‬ ‫המודם‬ ‫זה‬ ‫בשלב‬COM‫אחד‬‫לכתיב‬‫ה‬‫לקריאה‬ ‫והשני‬,‫להתאים‬ ‫להתחיל‬ ‫וניתן‬
‫לדרישותינו‬ ‫אותו‬.
‫ו‬ ‫הללו‬ ‫הפורטים‬ ‫דרך‬ ‫תבוצע‬ ‫מהמודם‬ ‫וקריאה‬ ‫כתיבה‬ ‫כל‬‫את‬ ‫ולשנות‬ ‫לראות‬ ‫ניתן‬‫של‬ ‫ההגדרות‬‫דרך‬ ‫המודם‬
‫ב‬ ‫ההתקנים‬ ‫מנהל‬-Windows.
‫איור‬40–‫ה‬ ‫יציאת‬ ‫הגדרות‬-COM
‫איור‬39–‫ה‬-COM‫ההתקנים‬ ‫במנהל‬ ‫שנוצר‬
- 44 -
‫בתוכנת‬ ‫השתמשנו‬ ‫זה‬ ‫בשלב‬"Tera Term"‫ניתן‬ ‫אך‬ ‫המודם‬ ‫של‬ ‫המחדל‬ ‫ברירת‬ ‫הגדרות‬ ‫את‬ ‫לשנות‬ ‫כדי‬
‫ת‬ ‫בכל‬ ‫להשתמש‬‫ו‬‫תקשורת‬ ‫כנת‬‫טורית‬)‫כדוגמת‬putty.(
‫התווים‬ ‫את‬ ‫לראות‬ ‫מנת‬ ‫על‬ ‫הראשון‬ ‫בשלב‬‫באפשרות‬ ‫בחרנו‬ ‫למודם‬ ‫שולחים‬ ‫שאנו‬Local echo:
‫התווים‬ ‫רצף‬ ‫שליחת‬ ‫הבא‬ ‫בשלב‬"$$$"‫הפרמטרים‬ ‫בכל‬ ‫שליטה‬ ‫לנו‬ ‫ומאפשרת‬ ‫ההגדרות‬ ‫לתפריט‬ ‫אותנו‬ ‫מכניסה‬
‫ע‬ ‫התווים‬ ‫לשידור‬ ‫שנוגעים‬"‫השידור‬ ‫בקצב‬ ‫החל‬ ‫המודם‬ ‫י‬,‫המודם‬ ‫שם‬ ‫או‬ ‫הזוגיות‬ ‫סיבית‬ ‫בחירת‬ ‫דרך‬,‫גם‬ ‫כמו‬
‫מח‬ ‫עם‬ ‫הזיווג‬ ‫לביצוע‬ ‫הקוד‬‫שבים‬.‫הפקודה‬ ‫את‬ ‫המודם‬ ‫יקבל‬ ‫כאשר‬,$$$‫תהיה‬ ‫שנקבל‬ ‫התשובה‬CMD‫והנורה‬
‫מהיר‬ ‫בקצב‬ ‫תהבהב‬ ‫האדומה‬.‫הקונפיגורציה‬ ‫מצב‬ ‫בתוך‬ ‫נמצאים‬ ‫שאנו‬ ‫לנו‬ ‫מאותת‬ ‫זה‬ ‫דבר‬.
‫האות‬ ‫בשליחת‬D,‫במודם‬ ‫כרגע‬ ‫הקיימות‬ ‫ההגדרות‬ ‫את‬ ‫למעשה‬ ‫ונקבל‬ ‫יפתח‬ ‫התפריט‬:
‫איור‬41–‫ה‬ ‫בתוכנת‬ ‫המוקלד‬ ‫התוכן‬ ‫הצגת‬ ‫אפשור‬-Tera Term
‫איור‬42–‫ה‬ ‫מודם‬ ‫הגדרות‬ ‫הצגת‬-Bluetooth
- 45 -
‫של‬ ‫המחדל‬ ‫ברירת‬ ‫את‬ ‫לשנות‬ ‫מנת‬ ‫על‬115200baud rate =,‫היא‬ ‫צורתה‬ ‫אשר‬ ‫פקודה‬ ‫ניתנת‬SU,<>‫כאשר‬
‫המבוקש‬ ‫הקצב‬ ‫של‬ ‫הראשונות‬ ‫הספרות‬ ‫שתי‬ ‫את‬ ‫נכתוב‬ ‫סוגריים‬ ‫במקום‬.‫שכזה‬ ‫שינוי‬ ‫בכל‬,‫המודם‬ ‫תשובת‬
‫תהיה‬aok<>,‫המבוקש‬ ‫לקצב‬ ‫השינוי‬ ‫התקבל‬ ‫כלומר‬.
‫השינויים‬ ‫בתפריט‬ ‫העבודה‬ ‫את‬ ‫לסיים‬ ‫בכדי‬,‫הרצף‬ ‫את‬ ‫נשלח‬"---".‫הנורה‬ ‫של‬ ‫ההבהוב‬ ‫את‬ ‫יפסיק‬ ‫זה‬ ‫איתות‬
‫שהוזנו‬ ‫השינויים‬ ‫עם‬ ‫עבודה‬ ‫למצב‬ ‫יכנס‬ ‫והמודם‬ ‫האדומה‬.‫ה‬ ‫ללוח‬ ‫המודם‬ ‫בחיבור‬ ‫להתחיל‬ ‫ניתן‬ ‫זה‬ ‫בשלב‬-
FPGA‫ש‬ ‫בלי‬ ‫הלוח‬ ‫אל‬ ‫מהמחשב‬ ‫אותות‬ ‫לשלוח‬ ‫ולהתחיל‬‫י‬‫בכבלים‬ ‫מוש‬.
3.3.2‫ה‬ ‫בניית‬-UART‫וחיבורו‬
‫ה‬ ‫מודם‬ ‫את‬ ‫לחבר‬ ‫בבואנו‬-Bluetooth‫ה‬ ‫לרכיב‬ ‫המחשב‬ ‫בין‬ ‫כמחבר‬-FPGA‫עובדים‬ ‫אנחנו‬ ‫עמו‬,‫זקוקים‬ ‫היינו‬
‫ל‬-UART‫ולצרכינו‬ ‫לעבודתנו‬ ‫שיתאים‬.‫שידור‬ ‫מבחינת‬ ‫ראשית‬/‫קליטה‬,‫ב‬-UART‫צורך‬ ‫לנו‬ ‫היה‬ ‫לא‬ ‫שלנו‬
‫ש‬ ‫מכיוון‬ ‫במשדר‬‫ב‬ ‫המשתמש‬ ‫מממשק‬ ‫כיוונית‬ ‫חד‬ ‫בצורה‬ ‫מבוצע‬ ‫השידור‬-Matlab‫ה‬ ‫לכיוון‬-FPGA.
‫שנית‬,‫שידור‬ ‫קצב‬ ‫מבחינת‬,‫של‬ ‫בקצב‬ ‫לעבוד‬ ‫בחרנו‬9600‫ב‬‫לשנייה‬ ‫יטים‬‫ו‬‫ה‬ ‫את‬ ‫התאמנו‬ ‫לכן‬-UART‫זה‬ ‫לקצב‬.
‫סיבית‬ ‫ללא‬ ‫לעבוד‬ ‫בחרנו‬ ‫כן‬ ‫כמו‬‫זוגיות‬ ‫וסיבית‬ ‫מסגרת‬ ‫זיהוי‬.
‫איור‬43–‫ה‬ ‫שינוי‬-Baud rate‫ה‬ ‫בתוכנת‬-Tera Term
- 46 -
‫הביצוע‬ ‫מבחינת‬,‫סיבית‬ ‫שזיהינו‬ ‫מרגע‬0‫אות‬ ‫כהתחלת‬,‫שליפת‬ ‫לפני‬ ‫ולבסוף‬ ‫נוספות‬ ‫דגימות‬ ‫תשע‬ ‫דוגמים‬ ‫אנחנו‬
‫הוא‬ ‫הראשון‬ ‫הביט‬ ‫כי‬ ‫מוודאים‬ ‫האות‬0‫והאחרון‬1)‫למתח‬ ‫חזר‬ ‫והקו‬ ‫האות‬ ‫שידור‬ ‫שנגמר‬ ‫מוודאים‬ ‫אנו‬ ‫כך‬
‫גבוה‬(,‫האות‬ ‫נשלף‬ ‫אז‬‫עבודה‬ ‫להמשך‬ ‫סיביות‬ ‫שמונה‬ ‫באורך‬.‫שהאות‬ ‫סימן‬ ‫אז‬ ‫מתקיים‬ ‫לא‬ ‫והתנאי‬ ‫במידה‬
"‫נשבר‬"‫רעש‬ ‫שדגמנו‬ ‫או‬‫ולכן‬‫נעביר‬"00000000"‫להמשך‬‫הלאה‬ ‫שגוי‬ ‫מידע‬ ‫העברת‬ ‫ונמנע‬.‫כי‬ ‫לוודא‬ ‫מנת‬ ‫על‬
‫ה‬ ‫ללוח‬ ‫תקינה‬ ‫בצורה‬ ‫הגיעה‬ ‫הרצוי‬ ‫האות‬-FPGA,‫ה‬ ‫הקוד‬ ‫של‬ ‫הצגתו‬ ‫את‬ ‫ביצענו‬-Ascii‫דרך‬ ‫הנשלח‬ ‫האות‬ ‫של‬
‫ה‬ ‫נוריות‬ ‫שמונת‬-Led‫בלוח‬ ‫המצויות‬.
‫ל‬ ‫המודם‬ ‫חיבור‬FPGA‫הושלם‬.‫ה‬ ‫מרגלי‬ ‫אחת‬ ‫בין‬ ‫יצרנו‬ ‫הפיזי‬ ‫החיבור‬ ‫את‬FPGA‫לרגל‬TX-O‫במודם‬,‫בנוסף‬
‫למודם‬ ‫ואדמה‬ ‫מתח‬ ‫חיברנו‬.‫וה‬ ‫לרכיב‬ ‫מחובר‬ ‫המודם‬ ‫זה‬ ‫בשלב‬-UART‫עובד‬.‫אותות‬ ‫בשליחת‬ ‫להתחיל‬ ‫ניתן‬
‫ה‬ ‫אל‬ ‫מהמחשב‬-FPGA.
‫איור‬44–‫ה‬ ‫רכיב‬-UART
‫איור‬45–‫ה‬ ‫קוד‬ ‫הצגת‬-Ascii‫ה‬ ‫בנוריות‬ ‫תו‬ ‫של‬-DE-nano
‫המערכת‬ ‫למוצאי‬ ‫ניתנות‬ ‫אשר‬ ‫השונות‬ ‫וההוראות‬ ‫החיבור‬ ‫דרך‬ ‫את‬ ‫נסקור‬ ‫זה‬ ‫בפרק‬.‫כאמור‬,‫המערכת‬ ‫מוצאי‬
‫הנ‬ ‫הצבעים‬ ‫לזיהוי‬ ‫בהתאמה‬ ‫וצהוב‬ ‫ירוק‬"‫שבנינו‬ ‫הזיהוי‬ ‫באלגוריתם‬ ‫ל‬,
‫במרחב‬ ‫הרכב‬ ‫נע‬ ‫ובאמצעותם‬ ‫במחשב‬ ‫המשתמש‬ ‫ממשק‬ ‫דרך‬ ‫הנשלטים‬.
‫משוכללת‬ ‫מצבים‬ ‫מכונת‬ ‫כמעין‬ ‫רק‬ ‫היא‬
‫המבוא‬ ‫בפרק‬ ‫סקרנו‬ ‫אותם‬,‫מסוג‬ ‫המנועים‬
‫חיבור‬ ‫נקודות‬ ‫שלוש‬ ‫בעלי‬ ‫והם‬ ‫סיבובית‬ ‫תנועה‬ ‫מגבלת‬ ‫להם‬ ‫אין‬ ‫כלומר‬.
‫בתמונה‬ ‫לראות‬ ‫שניתן‬ ‫כפי‬ ‫ולבן‬:
47–‫מנוע‬Servo‫מדגם‬SM-S4303R
- 47 -
‫ה‬ ‫ללוח‬ ‫המערכת‬ ‫מוצאי‬ ‫חיבור‬-FPGA
‫המערכת‬ ‫למוצאי‬ ‫ניתנות‬ ‫אשר‬ ‫השונות‬ ‫וההוראות‬ ‫החיבור‬ ‫דרך‬ ‫את‬ ‫נסקור‬ ‫זה‬ ‫בפרק‬
LED‫אדום‬ ‫בצבעים‬,‫הנ‬ ‫הצבעים‬ ‫לזיהוי‬ ‫בהתאמה‬ ‫וצהוב‬ ‫ירוק‬
‫במרחב‬ ‫הרכב‬ ‫נע‬ ‫ובאמצעותם‬ ‫במחשב‬ ‫המשתמש‬ ‫ממשק‬ ‫דרך‬ ‫הנשלטים‬
‫מהמחשב‬ ‫ורק‬ ‫אך‬ ‫מגיעות‬ ‫והחיווי‬ ‫התנועה‬ ‫הוראות‬ ‫כל‬,‫ה‬ ‫פעולת‬FPGA‫משוכללת‬ ‫מצבים‬ ‫מכונת‬ ‫כמעין‬ ‫רק‬ ‫היא‬
‫הרלוונטים‬ ‫למוצאים‬ ‫רצוי‬ ‫מתח‬.
‫סרוו‬ ‫מנועי‬ ‫חיבור‬
‫מנועי‬ ‫שני‬ ‫עם‬ ‫עבדנו‬ ‫שלנו‬ ‫בפרויקט‬Servo‫חברת‬ ‫של‬"Springrc"‫המבוא‬ ‫בפרק‬ ‫סקרנו‬ ‫אותם‬
"continuous rotation,‫חיבור‬ ‫נקודות‬ ‫שלוש‬ ‫בעלי‬ ‫והם‬ ‫סיבובית‬ ‫תנועה‬ ‫מגבלת‬ ‫להם‬ ‫אין‬ ‫כלומר‬
‫שלנו‬‫חוטים‬ ‫מכיל‬‫אדום‬ ‫בצבעי‬,‫שחור‬‫בתמונה‬ ‫לראות‬ ‫שניתן‬ ‫כפי‬ ‫ולבן‬
‫וולט‬.
(pulse width modulation).
‫איור‬ ‫ה‬ ‫מנוע‬ ‫תנועת‬ ‫כיווני‬-Servo
3.4‫ה‬ ‫ללוח‬ ‫המערכת‬ ‫מוצאי‬ ‫חיבור‬
‫המערכת‬ ‫למוצאי‬ ‫ניתנות‬ ‫אשר‬ ‫השונות‬ ‫וההוראות‬ ‫החיבור‬ ‫דרך‬ ‫את‬ ‫נסקור‬ ‫זה‬ ‫בפרק‬
‫נורות‬ ‫שלוש‬ ‫הם‬LED
‫מנועי‬ ‫ושני‬Servo‫במרחב‬ ‫הרכב‬ ‫נע‬ ‫ובאמצעותם‬ ‫במחשב‬ ‫המשתמש‬ ‫ממשק‬ ‫דרך‬ ‫הנשלטים‬
‫מהמחשב‬ ‫ורק‬ ‫אך‬ ‫מגיעות‬ ‫והחיווי‬ ‫התנועה‬ ‫הוראות‬ ‫כל‬
‫העת‬ ‫כל‬ ‫המעבירה‬‫הרלוונטים‬ ‫למוצאים‬ ‫רצוי‬ ‫מתח‬
3.4.1‫סרוו‬ ‫מנועי‬ ‫חיבור‬
‫מנועי‬ ‫שני‬ ‫עם‬ ‫עבדנו‬ ‫שלנו‬ ‫בפרויקט‬
continuous rotation"
‫ב‬ ‫המחבר‬-Servo‫שלנו‬
‫כבל‬‫אדום‬-5‫וולט‬
‫שחור‬-‫אדמה‬.
‫לבן‬-PWM(pulse width modulation)
‫איור‬46–‫ה‬ ‫מנוע‬ ‫תנועת‬ ‫כיווני‬
- 48 -
‫פסיקות‬ ‫לפי‬ ‫מתבצעת‬ ‫המבוקש‬ ‫במצב‬ ‫הבחירה‬‫מ‬ ‫המגיעות‬‫המשתמש‬ ‫ממשק‬.‫האותיות‬f, b, r, l‫את‬ ‫מכתיבות‬
‫בוחר‬ ‫המשתמש‬ ‫בהם‬ ‫הכיוונים‬‫הרובוט‬ ‫את‬ ‫להניע‬.
‫נסיעה‬ ‫פונקציות‬ ‫ארבע‬ ‫בנינו‬ ‫במרחב‬ ‫נוחה‬ ‫תנועה‬ ‫עבור‬:
'f'–‫קדימה‬:‫ה‬-Servo‫השעון‬ ‫כיוון‬ ‫עם‬ ‫מסתובב‬ ‫הימני‬.‫ה‬-Servo‫השעון‬ ‫כיוון‬ ‫נגד‬ ‫מסתובב‬ ‫השמאלי‬.
'b'–‫אחורה‬:‫ה‬-Servo‫השעון‬ ‫כיוון‬ ‫נגד‬ ‫מסתובב‬ ‫הימני‬.‫ה‬-Servo‫השעון‬ ‫כיוון‬ ‫עם‬ ‫מסתובב‬ ‫השמאלי‬.
'r'–‫ימינה‬:‫ה‬-Servo‫השעון‬ ‫כיוון‬ ‫נגד‬ ‫מסתובב‬ ‫השמאלי‬.‫ה‬-Servo‫עוצר‬ ‫הימני‬.
'l'–‫שמאלה‬:‫ה‬-Servo‫השעון‬ ‫כיוון‬ ‫עם‬ ‫מסתובב‬ ‫הימני‬.‫ה‬-Servo‫עוצר‬ ‫השמאלי‬.
‫אינ‬ ‫לא‬ ‫אמנם‬ ‫הסיבובים‬ ‫כיוון‬‫טואטיבי‬,‫ה‬ ‫שמנועי‬ ‫משום‬ ‫נובע‬ ‫הדבר‬ ‫אך‬-Servo‫הש‬ ‫מול‬ ‫אחד‬ ‫מחוברים‬‫ולכן‬ ‫ני‬
‫מראה‬ ‫כעיקרון‬ ‫היא‬ ‫פעולתם‬.‫קדימה‬ ‫בתנועה‬Servo‫השעון‬ ‫כיוון‬ ‫עם‬ ‫מסתובב‬ ‫ימין‬,‫אך‬Servo‫חייב‬ ‫שמאל‬
‫יחדיו‬ ‫שינועו‬ ‫כדי‬ ‫השעון‬ ‫כיוון‬ ‫נגד‬ ‫להסתובב‬.
‫בנינו‬ ‫התנועה‬ ‫את‬ ‫לייצר‬ ‫כדי‬Component‫פרמטרים‬ ‫שני‬ ‫שמקבל‬-Duty cycle‫וע‬ ‫תדר‬ ‫ומחלק‬"‫מייצר‬ ‫כך‬ ‫י‬
‫אות‬PWM‫ל‬ ‫מועבר‬ ‫אשר‬-Servo‫המבוקש‬.
‫איור‬48–‫ה‬ ‫רכיבי‬-PWM‫השונים‬ ‫בערוצים‬
- 49 -
‫אות‬ ‫רוחב‬ ‫מצבי‬ ‫שלושה‬ ‫עם‬ ‫עבדנו‬:1,1.5‫ו‬2‫מילישניות‬.‫לוח‬ ‫על‬ ‫התבצעה‬ ‫בפרויקט‬ ‫העבודה‬FPGA‫חברת‬ ‫של‬
ALTERA‫בשם‬DE0-nano‫תדירות‬ ‫בעל‬‫של‬ ‫שעון‬50‫הרץ‬ ‫מגה‬.‫רוחב‬ ‫ליצור‬ ‫בכדי‬‫אות‬‫מסוים‬,‫השתמשנו‬
‫תדר‬ ‫במחלק‬)‫בשם‬ ‫משתנה‬FREQ‫כפרמטר‬ ‫הנשלח‬(‫המבוקש‬ ‫לתדר‬ ‫בהתאם‬.‫ה‬ ‫אות‬-PWM‫בו‬ ‫למצב‬ ‫מחולק‬
‫ב‬ ‫נמצא‬ ‫הוא‬-'high'‫וב‬ ‫מהזמן‬ ‫חלק‬-'low'‫הזמן‬ ‫ביתר‬,‫ע‬"‫ערך‬ ‫י‬Duty cycle‫כפרמטר‬ ‫הנשלח‬.‫שה‬ ‫מכיוון‬-
Duty cycle‫דרך‬ ‫נוצר‬PROCESS‫ע‬ ‫פועל‬ ‫אשר‬"‫המשתנה‬ ‫בתדר‬ ‫שעון‬ ‫פ‬FREQ‫בעלייתו‬ ‫רק‬ ‫ומופעל‬,‫להשתמש‬ ‫יש‬
‫תדר‬ ‫במחלק‬(FREQ)‫פי‬ ‫הגדול‬2‫הרצוי‬ ‫מהתדר‬.‫התדר‬ ‫מחלקי‬ ‫ליצירת‬ ‫השתמשנו‬ ‫בהם‬ ‫הערכים‬ ‫מכאן‬‫הם‬:
																																																																																																	1	 <========
50	
2 25000
= 1	
																																																																																										1.5	 <========
50	
2 37500
=
2
3
	
																																																																																													2	 <========
50	
2 50000
= 0.5	
‫ה‬ ‫פרמטר‬-Duty cycle‫בתדר‬ ‫המחולק‬ ‫השעון‬ ‫את‬ ‫סוכם‬FREQ‫ל‬ ‫מנת‬ ‫על‬‫של‬ ‫כולל‬ ‫מחזור‬ ‫לזמן‬ ‫הגיע‬20
‫מילישניות‬:
‫של‬ ‫פולס‬ ‫רוחב‬ ‫עבור‬1ms)‫השעון‬ ‫כיוון‬ ‫עם‬ ‫סיבוב‬(,Duty cycle=20.
‫של‬ ‫פולס‬ ‫רוחב‬ ‫עבור‬2ms)‫השעון‬ ‫כיוון‬ ‫נגד‬ ‫סיבוב‬(,Duty cycle=10.
‫של‬ ‫פולס‬ ‫רוחב‬ ‫עבור‬1.5ms)‫המנוחה‬ ‫נקודת‬(,Duty cycle=13.‫יוצא‬ ‫המחזור‬ ‫זמן‬19.5ms,‫יש‬ ‫אמנם‬
‫הרצוי‬ ‫המחזור‬ ‫מזמן‬ ‫קל‬ ‫הפרש‬,‫מנועי‬ ‫אבל‬Servo"‫סלחנים‬"‫של‬ ‫לטווח‬ ‫עד‬ ‫לשינויים‬10%‫האות‬ ‫ברוחב‬.
‫איור‬49–‫התדר‬ ‫מחלק‬ ‫ערכי‬
‫איור‬50–‫אותות‬PWM‫ה‬ ‫למנועי‬ ‫הנשלחים‬-Servo
- 50 -
‫סכימה‬ ‫מערכי‬ ‫שני‬ ‫ישנם‬ ‫בתרשים‬ ‫לראות‬ ‫שניתן‬ ‫כפי‬,‫ליצירת‬ ‫משמש‬ ‫והראשי‬ ‫הגדול‬‫התדר‬ ‫מחלק‬FREQ‫והשני‬
‫ה‬ ‫לייצור‬ ‫לסכימה‬ ‫משמש‬ ‫יותר‬ ‫והקטן‬Duty cycle -‫הרצוי‬.
‫איור‬51–‫סכמת‬RTL‫ה‬ ‫רכיב‬ ‫של‬-PWM
- 51 -
3.4.2‫ה‬ ‫נוריות‬ ‫חיבור‬-Led
‫ה‬ ‫נוריות‬ ‫עבור‬-Led‫ווקטור‬ ‫הגדרנו‬(COLOR_VEC)‫באורך‬3‫שונה‬ ‫ערך‬ ‫שמקבל‬ ‫סיביות‬‫פסיקה‬ ‫בכל‬.
COLOR_VEC(2)COLOR_VEC(1)COLOR_VEC(0)
‫ה‬ ‫נוריות‬-Led‫הבאים‬ ‫לווקטורים‬ ‫בהתאם‬ ‫יידלקו‬:
"100"–‫ה‬ ‫את‬ ‫מדליק‬-Led‫הירוק‬.
"010"–‫ה‬ ‫את‬ ‫מדליק‬-Led‫האדום‬.
"001"–‫ה‬ ‫את‬ ‫מדליק‬-Led‫הצהוב‬.
‫עבור‬‫כל‬‫אחרת‬ ‫פסיקה‬,‫מוצא‬‫ה‬-"COLOR_VEC"‫יהיה‬"000",‫עיגול‬ ‫זיהוי‬ ‫מלבד‬ ‫אחרת‬ ‫פקודה‬ ‫כל‬ ‫עבור‬ ‫כלומר‬
‫באחד‬‫משלושת‬‫הצבעים‬‫הגדרנו‬ ‫אשר‬,‫יכובו‬‫הנוריות‬ ‫כל‬ ‫את‬.‫הדלקת‬‫הנוריות‬‫הבהוב‬ ‫של‬ ‫באופן‬ ‫מתבצעת‬.‫ב‬‫תוך‬
‫ה‬ ‫את‬ ‫שממפה‬ ‫הרכיב‬‫נוריות‬,‫ה‬‫כנסנו‬‫סו‬‫ה‬ ‫כם‬‫הנורית‬ ‫את‬ ‫ומכבה‬ ‫שמדליק‬ ‫שעון‬ ‫מייצר‬‫ה‬‫מ‬‫תאימה‬‫ל‬ ‫אחת‬‫שניה‬.
‫איור‬52–‫ה‬ ‫נוריות‬ ‫וכיבוי‬ ‫הדלקת‬ ‫רכיב‬-Led
‫איור‬53–‫ה‬ ‫נוריות‬ ‫וכיבוי‬ ‫הדלקת‬ ‫ווקטור‬-Led
‫איור‬54–‫ה‬ ‫בהפעלת‬ ‫ששולט‬ ‫הרכיב‬ ‫סכמת‬-Led
- 52 -
3.4.3‫ה‬ ‫חיבור‬-Buffer
‫ה‬ ‫רגלי‬I/O‫מ‬ ‫מוציאות‬ ‫ברכיב‬‫של‬ ‫תח‬3.3‫ה‬ ‫מנועי‬ ‫ואילו‬ ‫וולט‬-Servo‫צורכים‬‫על‬ ‫שעולה‬ ‫מתח‬4.8‫וולט‬.
‫המבוא‬ ‫בפרק‬ ‫סקרנו‬ ‫אותו‬ ‫מתח‬ ‫מגביר‬ ‫חוצץ‬ ‫הוא‬ ‫זו‬ ‫לבעיה‬ ‫הפתרון‬.
MC74HC541A – octal buffer‫חוצץ‬ ‫הינו‬‫בעל‬8‫מו‬ ‫ושמונה‬ ‫כניסות‬‫צאים‬.‫ה‬ ‫כניסות‬ ‫את‬-Enable:1OE‫ו‬-
2OE‫יחדיו‬ ‫חיברנו‬‫ה‬ ‫מלוח‬ ‫רגל‬ ‫אל‬-FPGA‫ממנה‬ ‫מוציאים‬ ‫אנו‬ ‫אשר‬"‫מתח‬‫נמוך‬"(low)‫ב‬‫את‬ ‫לאפשר‬ ‫כדי‬
‫החוצץ‬ ‫פעולת‬.
‫חיברנו‬‫לחוצץ‬‫של‬ ‫בגובה‬ ‫חיצוני‬ ‫מתח‬ ‫מקור‬5‫כ‬ ‫וולט‬-Vcc.‫ה‬ ‫לוח‬ ‫של‬ ‫המוצא‬ ‫אות‬ ‫את‬-FPGA‫להפעלת‬ ‫המיועד‬
‫ה‬-Servo,‫אל‬ ‫חיברנו‬‫מבוא‬‫החוצץ‬)A‫בתרשים‬(‫ו‬‫המוצא‬ ‫את‬)Y‫בתרשים‬(‫ה‬ ‫אל‬ ‫חיברנו‬-Servo‫או‬ ‫שלו‬ ‫כסיגנל‬
‫ה‬ ‫כאות‬-PWM.
‫איור‬55–‫בודד‬ ‫חוצץ‬ ‫של‬ ‫הפנימי‬ ‫המבנה‬
- 53 -
‫פרק‬4–‫ומסקנות‬ ‫סיכום‬
4.1‫סיכום‬
‫לייצר‬ ‫תכננו‬ ‫העבודה‬ ‫בתחילת‬‫פרויקט‬‫משחקית‬ ‫סביבה‬ ‫או‬ ‫משחק‬ ‫שידמה‬‫ו‬‫תחומי‬ ‫מבחינת‬ ‫רחב‬ ‫שיהיה‬
‫המימוש‬,‫ש‬ ‫דבר‬‫לנו‬ ‫יקנה‬‫להיחשף‬ ‫רצינו‬ ‫אליהם‬ ‫שונים‬ ‫בתחומים‬ ‫והיכרות‬ ‫ניסיון‬.‫י‬ ‫שהפרויקט‬ ‫השתדלנו‬‫י‬‫גע‬
‫בטכנולוגיה‬‫היום‬ ‫ביותר‬ ‫הרלוונטית‬,‫והיינו‬ ‫התואר‬ ‫במהלך‬ ‫ללמוד‬ ‫שנהנינו‬ ‫העולמות‬ ‫את‬ ‫לשלב‬ ‫הרצון‬ ‫מתוך‬
‫בעתיד‬ ‫בהם‬ ‫לעסוק‬ ‫רוצים‬.
‫תחומים‬ ‫במספר‬ ‫ניסיון‬ ‫רכשנו‬ ‫זה‬ ‫בפרויקט‬:
1.‫רכיב‬ ‫עם‬ ‫עבודה‬FPGA‫ו‬‫ב‬ ‫כתיבה‬-VHDL.
2.‫הממשק‬ ‫בתוך‬ ‫וידאו‬ ‫שידור‬ ‫והטמעת‬ ‫משתמש‬ ‫ממשק‬ ‫כתיבת‬.
3.‫אמת‬ ‫בזמן‬ ‫ודגימתו‬ ‫וידאו‬ ‫עיבוד‬‫מ‬ ‫כחלק‬‫אמת‬ ‫בזמן‬ ‫הקורים‬ ‫תהליכים‬ ‫עם‬ ‫התמודדות‬.
4.‫כבלים‬ ‫בתחליפי‬ ‫שימוש‬‫כדוגמת‬Bluetooth‫ו‬-WiFi.
5.‫במנועי‬ ‫שליטה‬Servo,‫שונים‬ ‫במנועים‬ ‫שונה‬ ‫תנועה‬ ‫לייצר‬ ‫הקושי‬ ‫כולל‬.
‫להודות‬ ‫ברצוננו‬‫הפרויקט‬ ‫את‬ ‫לבצע‬ ‫וההזדמנות‬ ‫הכלים‬ ‫את‬ ‫לנו‬ ‫נתנו‬ ‫אשר‬ ‫ולמרצים‬ ‫למכללה‬
‫הזה‬ ‫המעניין‬.
4.1.1‫התמודדנו‬ ‫איתם‬ ‫קשיים‬‫הפרויקט‬ ‫במהלך‬
‫קשים‬ ‫מעט‬ ‫לא‬ ‫עם‬ ‫התמודדנו‬ ‫הפרויקט‬ ‫במהלך‬,‫רשימה‬ ‫להלן‬‫חלקית‬:
1.‫היה‬ ‫הראשון‬ ‫הקושי‬‫בכתיבת‬ ‫להתמקצע‬UART‫לממש‬ ‫רצינו‬ ‫אותה‬ ‫הספציפית‬ ‫למשימה‬ ‫שיותאם‬,‫החיבור‬
‫ה‬ ‫מודם‬ ‫עם‬-Bluetooth‫ל‬ ‫הקוד‬ ‫וצריבת‬‫ה‬ ‫זיכרון‬-EEPROM‫ב‬-FPGA‫מ‬ ‫בניתוק‬ ‫ימחק‬ ‫שלא‬ ‫כך‬‫ה‬‫חשמל‬.
‫הספר‬‫חברבר‬ ‫אייל‬ ‫של‬‫עזר‬‫לנו‬‫הפתרונות‬ ‫את‬ ‫להבין‬‫הבעיה‬ ‫את‬ ‫לפתור‬ ‫וכך‬ ‫האפשריים‬.
2.‫מצלמה‬ ‫בחירת‬:‫מצלמ‬ ‫לבחור‬ ‫זמן‬ ‫לנו‬ ‫לקח‬‫להמשך‬ ‫אותו‬ ‫ולמשוך‬ ‫לשידור‬ ‫להתחבר‬ ‫איך‬ ‫ידענו‬ ‫לא‬ ‫כי‬ ‫ה‬
‫ב‬ ‫עיבוד‬-MATLAB.‫לעשו‬ ‫הרצון‬ ‫היה‬ ‫אותנו‬ ‫שהנחה‬ ‫נוסף‬ ‫פרמטר‬‫לאנשים‬ ‫שזמינים‬ ‫במכשירים‬ ‫שימוש‬ ‫ת‬
‫הפרויקט‬ ‫לצורך‬ ‫במיוחד‬ ‫מוזמנים‬ ‫ואינם‬ ‫רבים‬.
‫כלכלית‬ ‫מבחינה‬,‫בחרנו‬ ‫אנו‬ ‫ולכן‬ ‫יותר‬ ‫עלתה‬ ‫המצלמה‬ ‫גם‬ ‫כך‬ ‫גבוהות‬ ‫היו‬ ‫שדרישותינו‬ ‫ככל‬‫במצלמת‬
‫הסמארטפון‬,‫על‬ ‫שעונה‬ ‫נגיש‬ ‫מוצר‬‫לפרויקט‬ ‫הרלוונטיות‬ ‫הדרישות‬.
- 54 -
3.‫בשלב‬‫כתיבת‬‫ממשק‬‫ה‬‫ב‬ ‫משתמש‬-MATLAB,‫הוידאו‬ ‫את‬ ‫לחבר‬ ‫מנת‬ ‫על‬ ‫רבים‬ ‫וטעייה‬ ‫וניסוי‬ ‫זמן‬ ‫לנו‬ ‫לקח‬
‫ה‬ ‫לתוך‬ ‫מהמצלמה‬ ‫המגיע‬-GUI,‫הפקדים‬ ‫את‬ ‫ליצור‬‫הרובוט‬ ‫את‬ ‫לנווט‬ ‫ניתן‬ ‫עמו‬ ‫ממשק‬ ‫ולייצר‬ ‫השונים‬
‫במרחב‬.‫הבאים‬ ‫המקורות‬ ‫בשלושת‬ ‫בעיקר‬ ‫נעזרנו‬‫ב‬‫להתגבר‬ ‫כדי‬‫הללו‬ ‫הבעיות‬ ‫על‬:
HELP-‫פונקצ‬‫ב‬ ‫הקיימת‬ ‫האוטומטית‬ ‫העזרה‬ ‫ית‬MATLAB -.
http://www.mathworks.com–‫ה‬ ‫אתר‬‫יצרני‬ ‫של‬ ‫בית‬MATLAB.‫ביותר‬ ‫שימושי‬,‫ומלא‬ ‫מפורט‬
‫בדוגמאות‬.
‫שונים‬ ‫חובבים‬ ‫ובלוגי‬ ‫פורומים‬-‫וללמוד‬ ‫להחכים‬ ‫ניתן‬ ‫מהם‬ ‫אנשים‬ ‫של‬ ‫בהתנסויות‬ ‫מלאה‬ ‫הרשת‬.
4.‫וידאו‬ ‫לעבד‬ ‫כיצד‬‫תמונה‬ ‫עיבוד‬ ‫בכלי‬:‫עיבדנו‬ ‫בפרויקט‬‫פעם‬ ‫בכל‬‫מהוידאו‬ ‫אחת‬ ‫תמונה‬.‫הדבר‬ ‫בתחילה‬
‫נוספת‬ ‫תמונה‬ ‫דוגמים‬ ‫אנחנו‬ ‫וכבר‬ ‫אחת‬ ‫תמונה‬ ‫של‬ ‫עיבוד‬ ‫גמרנו‬ ‫וטרם‬ ‫היות‬ ‫מרובות‬ ‫לקריסות‬ ‫הוביל‬.
‫זה‬ ‫קושי‬ ‫על‬ ‫להתגבר‬ ‫מנת‬ ‫על‬,‫תמונה‬ ‫כל‬ ‫של‬ ‫והעיבוד‬ ‫הבדיקה‬ ‫הליך‬ ‫משך‬ ‫את‬ ‫ייעלנו‬,‫גודל‬ ‫את‬ ‫הקטנו‬
‫הוספנו‬ ‫גם‬ ‫ולבסוף‬ ‫המעובדת‬ ‫התמונה‬'‫פאוזה‬'‫מאולצת‬‫ב‬‫רציפה‬ ‫עבודה‬ ‫לאפשר‬ ‫כדי‬.
5.‫מרובים‬ ‫אובייקטים‬ ‫זיהוי‬:‫בתחילה‬ ‫שכתבנו‬ ‫באלגוריתם‬,‫מספר‬ ‫ישנם‬ ‫בתמונה‬ ‫בו‬ ‫מצב‬ ‫על‬ ‫דגש‬ ‫שמנו‬ ‫לא‬
‫אובייקטים‬.‫לא‬ ‫היה‬ ‫הפיתרון‬ ‫זה‬ ‫במקרה‬‫אובי‬ ‫של‬ ‫זיהוי‬ ‫פשר‬‫י‬‫אחד‬ ‫קט‬‫בלבד‬‫ריצה‬ ‫בכל‬.
6.‫צל‬ ‫בעיות‬:‫ה‬ ‫ערכי‬ ‫הסטת‬ ‫של‬ ‫בעיה‬ ‫יש‬ ‫צבע‬ ‫בזיהוי‬-RGB‫לאור‬ ‫החשיפה‬ ‫מידת‬ ‫של‬ ‫שינוי‬ ‫בכל‬.‫הפתרון‬
‫צבע‬ ‫כל‬ ‫לייצוג‬ ‫ערכים‬ ‫של‬ ‫רחבה‬ ‫קשת‬ ‫לאפשר‬ ‫היה‬ ‫שמצאנו‬.
4.1.2‫הפרויקט‬ ‫להמשך‬ ‫הצעות‬
‫רבים‬ ‫במישורים‬ ‫עבדנו‬ ‫שבפרויקט‬ ‫משום‬,‫לקחת‬ ‫ניתן‬ ‫ראשית‬‫כ‬‫דיוק‬ ‫לרמות‬ ‫אותו‬ ‫ולשכלל‬ ‫בנפרד‬ ‫אלמנט‬ ‫ל‬
‫יותר‬ ‫טובות‬ ‫וביצועיות‬,‫בשלמותו‬ ‫הפרויקט‬ ‫של‬ ‫יותר‬ ‫הרחב‬ ‫ובהקשר‬:
1.‫לשי‬ ‫השתמשנו‬ ‫בה‬ ‫התוכנה‬ ‫את‬ ‫לשנות‬ ‫ניתן‬‫ד‬‫למחשב‬ ‫הוידאו‬ ‫ור‬,‫של‬ ‫נוספות‬ ‫ביכולות‬ ‫שתשתמש‬ ‫לתוכנה‬
‫הטלפון‬,‫ג‬ ‫חיישני‬ ‫או‬ ‫סאונד‬ ‫הקלטת‬ ‫זה‬ ‫אם‬ ‫בין‬'‫ירוסקופ‬.‫יהי‬ ‫כך‬‫המתרח‬ ‫על‬ ‫יותר‬ ‫רחב‬ ‫מידע‬ ‫לקבל‬ ‫ניתן‬ ‫ה‬‫ש‬
‫הרובוט‬ ‫בסביבת‬.
2.‫לשנות‬ ‫ניתן‬,‫ולצורות‬ ‫נוספים‬ ‫לצבעים‬ ‫שבנינו‬ ‫האלגוריתם‬ ‫של‬ ‫הזיהוי‬ ‫יכולות‬ ‫את‬ ‫ולהרחיב‬ ‫להוסיף‬
‫נוספות‬ ‫גיאומטריות‬.
3.‫אודות‬ ‫מידע‬ ‫להחזיר‬ ‫וכך‬ ‫אור‬ ‫חיישן‬ ‫או‬ ‫טמפרטורה‬ ‫חיישן‬ ‫כגון‬ ‫לרובוט‬ ‫חיצוניים‬ ‫חיישנים‬ ‫להוסיף‬ ‫ניתן‬
‫הסביבה‬‫ה‬ ‫דרך‬ ‫נמצא‬ ‫הרובוט‬ ‫בה‬-UART,‫נוסף‬ ‫בצינור‬ ‫מידע‬ ‫לקבל‬ ‫שנוכל‬ ‫כך‬‫ה‬ ‫מלבד‬‫מצלמה‬,‫של‬ ‫במקרה‬
‫ה‬ ‫ברשת‬ ‫תקלה‬-WiFi.
- 55 -
4.2‫ביבליוגרפיה‬
1. https://learn.sparkfun.com/tutorials/using-the-bluesmirf/all
2. http://www.idogendel.com/whitebyte
3. http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en558330
4. http://www.mathworks.com
5. https://www.wikipedia.org
6. http://www.bluetooth.com/Pages/Bluetooth-Home.aspx
7. http://www.lirtex.com/he
8. https://www.pololu.com/product/1248
9. https://github.com
10. Terasic DE0-Nano User Manual.
- 56 -
‫הנדסי‬ ‫לפרויקט‬ ‫הצעה‬–‫חולון‬ ‫טכנולוגי‬ ‫מכון‬-H.I.T.
‫חשמל‬ ‫להנדסת‬ ‫הפקולטה‬,‫ותקשורת‬ ‫אלקטרוניקה‬
)50076(
‫שנה‬
5102
‫ראשונית‬ ‫הגשה‬ ‫תאריך‬:15.04.15
‫ההצעה‬ ‫אישור‬ ‫תאריך‬:
‫משוער‬ ‫סיום‬ ‫תאריך‬:01.01.16
‫א‬.‫הסטודנט‬ ‫פרטי‬/‫ים‬:
1‫מלא‬ ‫שם‬‫רחימי‬ ‫שלומי‬2‫מלא‬ ‫שם‬‫אדיר‬‫ציון‬
‫זהות‬ ‫תעודת‬301287223‫זהות‬ ‫תעודת‬38084455
‫טלפון‬052-4622935‫טלפון‬050-9944497
‫דואר‬
‫אלקטרוני‬
Shlomir25@gmail.com‫דואר‬
‫אלקטרוני‬
adirdido@hotmail.com
‫הסטודנט‬ ‫חתימת‬‫הסטודנט‬ ‫חתימת‬
‫רחימי‬ ‫שלומי‬__‫ציון‬ ‫אדיר‬__
‫ב‬.‫שם‬‫הפרויקט‬
‫בעברית‬ ‫הפרויקט‬ ‫שם‬) :‫עד‬8‫מילים‬(:
‫ע‬ ‫הנשלט‬ ‫רובוט‬ ‫באמצעות‬ ‫ממוחשבת‬ ‫ראייה‬ ‫תוצרי‬ ‫יישום‬"‫י‬GAFP.
Project Name: (Up to 8 words):
Implementation of computer vision products using a robot controlled by FPGA.
‫ג‬.‫המנחים‬ ‫שמות‬:
‫אקדמי‬ ‫מנחה‬:‫ד‬"‫נונל‬ ‫טירר‬ ‫ר‬‫חתימה‬:
‫נוסף‬ ‫מנחה‬:‫חתימה‬:
- 57 -
‫ד‬.‫לפרויקט‬ ‫ורציונאל‬ ‫רקע‬
‫כללי‬ ‫רקע‬ ‫להכיל‬ ‫והרציונאל‬ ‫הרקע‬ ‫על‬,‫של‬ ‫בהיקף‬ ‫ורעיונות‬ ‫מוטיבציה‬‫לפחות‬10‫שורות‬.
‫השונים‬ ‫ליישומיים‬ ‫בהתאם‬ ‫הצורך‬ ‫ותיאור‬ ‫שיווק‬ ‫לשיקולי‬ ‫להתייחס‬ ‫יש‬)‫לב‬ ‫שימו‬!‫מטרת‬ ‫אינו‬ ‫רקע‬
‫הפרויקט‬ ‫תיאור‬ ‫ואינו‬ ‫הפרויקט‬(!
‫כללי‬ ‫רקע‬-)‫מקסימום‬5‫שורות‬(
‫לפעולות‬ ‫כתחליף‬ ‫ברובוטים‬ ‫וגובר‬ ‫ההולך‬ ‫היומיומי‬ ‫השימוש‬ ‫את‬ ‫לראות‬ ‫ניתן‬ ‫האחרונות‬ ‫השנים‬ ‫במהלך‬
‫אנושיות‬.‫ה‬ ‫הוא‬ ‫לכך‬ ‫דוגמא‬-IROBOT)‫הבית‬ ‫לניקוי‬ ‫רובוט‬(‫גוגל‬ ‫של‬ ‫הרובוטי‬ ‫והרכב‬)‫בתהליכי‬ ‫שנמצא‬
‫רישוי‬.(
‫רציונאל‬-‫לפרויקט‬ ‫מוטיבציה‬-‫מקסימום‬5‫שורות‬(
‫שונים‬ ‫פיזיים‬ ‫ומצבים‬ ‫למקרים‬ ‫רובוט‬ ‫בעזרת‬ ‫מכני‬ ‫מענה‬ ‫לתת‬ ‫היא‬ ‫לפרויקט‬ ‫המוטיבציה‬.‫לדוגמא‬ ‫כך‬,
‫בהתאם‬ ‫במרחב‬ ‫הרובוט‬ ‫התמצאות‬‫בפניו‬ ‫שמוצגים‬ ‫לאילוצים‬.
‫ה‬.‫הפרויקט‬ ‫מטרת‬/‫הפרויקט‬ ‫היקף‬
‫מטרה‬
‫עיקרית‬
‫שונות‬ ‫צורות‬ ‫המכילות‬ ‫תמונות‬ ‫עיבוד‬‫שונים‬ ‫בצבעים‬‫לביצוע‬ ‫לרובוט‬ ‫פקודות‬ ‫ומתן‬
‫בהתאם‬ ‫משימות‬‫מהתמונות‬ ‫שיופק‬ ‫למידע‬.
‫ו‬.‫הפרויקט‬ ‫תוצרי‬:)‫הפרויקט‬ ‫להצלחת‬ ‫כמותיים‬ ‫מדדים‬.(‫הפרויקט‬ ‫מטרת‬ ‫בין‬ ‫קורלציה‬ ‫לוודא‬ ‫יש‬
‫לתוצרים‬
‫הפלטפורמה‬ ‫מהי‬ ‫לציין‬ ‫כן‬ ‫כמו‬ ‫יודגם‬ ‫ומה‬ ‫סופי‬ ‫כתוצר‬ ‫יוצג‬ ‫מה‬ ‫לפרט‬ ‫סימולציה‬ ‫לגבי‬
‫קיימת‬ ‫ואם‬ ‫לסימולציה‬.‫המעגל‬ ‫מה‬ ‫לפרט‬ ‫בנייה‬ ‫לגבי‬/‫יודגם‬ ‫ומה‬ ‫שיבנה‬ ‫מערכת‬.
1.‫שעברו‬ ‫מתמונות‬ ‫אמת‬ ‫בזמן‬ ‫מידע‬ ‫הפקת‬‫דיגיטלי‬ ‫עיבוד‬.
2.‫שליטה‬‫הביצוע‬ ‫בשרשרת‬ ‫השונים‬ ‫החלקים‬ ‫בין‬ ‫וסנכרון‬)‫עיבוד‬,‫הרובוט‬ ‫ותפעול‬ ‫המידע‬ ‫שליחת‬(
‫ז‬.‫מקורות‬
‫לצרף‬ ‫יש‬‫העבודה‬ ‫מתבססת‬ ‫שעליו‬ ‫עיקרי‬ ‫אחד‬ ‫מקור‬.
‫לכתוב‬ ‫יש‬ ‫הנוספים‬ ‫המקורות‬ ‫בציון‬:‫מחבר‬ ‫שם‬,‫ספר‬ ‫שם‬/‫המקור‬ ‫נלקח‬ ‫ממנו‬ ‫מאמר‬,‫הוצאה‬,‫שנה‬
‫ועמוד‬
http://www.mathworks.com1.
https://learn.sparkfun.com/tutorials/using-the-bluesmirf/all2.
Terasic DE0-Nano User Manual3.
- 58 -
‫ח‬.‫הציוד‬ ‫השגת‬ ‫אופן‬ ‫ואת‬ ‫הפרויקט‬ ‫ביצוע‬ ‫לשם‬ ‫הנדרשים‬ ‫ייחודיים‬ ‫ורכיבים‬ ‫הציוד‬ ‫רשימת‬ ‫את‬ ‫פרט‬/‫רכיבים‬
‫הציוד‬/‫רכיב‬‫השגתו‬ ‫אופן‬
1.Bluetooth Modem‫ע‬"‫המכון‬ ‫י‬
2.DE0-Nano board‫ע‬"‫המכון‬ ‫י‬
3.‫מצלמת‬WIFI‫ע‬"‫המכון‬ ‫י‬,‫האישי‬ ‫הסמארטפון‬ ‫במצלמת‬ ‫בשימוש‬ ‫או‬
4.‫חוטים‬,‫פשוט‬ ‫אלקטרוני‬ ‫וציוד‬ ‫מחברים‬‫ע‬ ‫והיתר‬ ‫ברשותנו‬ ‫שקיים‬ ‫ציוד‬"‫המכון‬ ‫י‬
‫ט‬.‫בפרויקט‬ ‫פעילות‬ ‫גאנט‬
‫הפרויקט‬ ‫בביצוע‬ ‫דרך‬ ‫ואבני‬ ‫פעילות‬.‫הגאנט‬ ‫טבלת‬ ‫למלא‬ ‫הסטודנט‬ ‫על‬
‫פעילות‬/‫חודש‬
‫חודש‬
1
‫חודש‬
2
‫חודש‬
3
‫חודש‬
4
‫חודש‬
5
‫חודש‬
6
‫חודש‬
7
‫חודש‬
8
‫וסביבת‬ ‫הנושא‬ ‫חקר‬
‫העבודה‬XX
‫על‬ ‫החשמלי‬ ‫המעגל‬ ‫תכנון‬
‫רכיביו‬ ‫כל‬XX
‫רכיבים‬ ‫של‬ ‫בחירה‬
‫והזמנתם‬ ‫מתאימים‬X
‫אלגוריתם‬ ‫פיתוח‬)‫במידת‬
‫הצורך‬(XX
‫דו‬"‫ביניים‬ ‫ח‬X
‫תוכנה‬ ‫כתיבת‬)‫במידה‬
‫וקיימת‬(XXX
‫תוכנה‬ ‫סימולציה‬/
‫אלגוריתם‬XX
‫החשמלי‬ ‫המעגל‬ ‫בניית‬
)‫וקיים‬ ‫במידה‬(‫ואינטרגציה‬
‫רכיביו‬ ‫בין‬XXX
‫התוכנה‬ ‫בין‬ ‫אינטגרציה‬
‫החומרה‬ ‫ורכיבי‬XX
‫בדיקת‬‫ותקינות‬ ‫תפקוד‬
‫המערכת‬XX
‫פרויקט‬ ‫ספר‬ ‫כתיבת‬XXX
- 59 -
‫י‬.‫סיכונים‬
1.‫הפרויקט‬ ‫מטרות‬ ‫בהשגת‬ ‫סיכונים‬)‫קיימים‬ ‫אם‬(
‫ממנה‬ ‫רלוונטי‬ ‫מידע‬ ‫והפקת‬ ‫מדויק‬ ‫תמונה‬ ‫עיבוד‬ ‫בביצוע‬ ‫קושי‬.
2.‫תתמודד‬ ‫כיצד‬)‫הסטודנט‬(‫אלו‬ ‫סיכונים‬ ‫עם‬
‫התמונה‬ ‫עיבוד‬ ‫מנגנון‬ ‫פישוט‬.
‫מאושר‬ ‫פרויקט‬‫בתנאי‬ ‫מאושר‬ ‫פרויקט‬‫מאושר‬ ‫לא‬ ‫פרויקט‬
‫הערות‬‫הערות‬‫הערות‬
‫פרויקטים‬ ‫רכז‬ ‫וחתימת‬ ‫שם‬
____________________

final project

  • 1.
    - 1 - ‫פרויקט‬‫ספר‬ ‫לתואר‬ ‫הנדסי‬ ‫גמר‬ ‫פרויקט‬B.Sc. ‫ואלקטרוניקה‬ ‫חשמל‬ ‫בהנדסת‬ ‫ממוחשבת‬ ‫ראייה‬ ‫תוצרי‬ ‫יישום‬ ‫באמצעות‬‫ע‬ ‫הנשלט‬ ‫רובוט‬"‫י‬FPGA Implementation of computer vision products using a robot controlled by FPGA ‫ציון‬ ‫אדיר‬ ‫רחימי‬ ‫שלומי‬ 30128722338084455 ‫מנחה‬:‫ד‬"‫נונל‬ ‫טירר‬ ‫ר‬ 01/02/16
  • 2.
    - 2 - ‫עניינים‬‫תוכן‬ ‫פרק‬1–‫הקדמה‬...........................................................................................................................6 1.1‫קיצורים‬ ‫רשימת‬......................................................................................................6 1.2‫תקציר‬....................................................................................................................8 1.3Abstract................................................................................................................9 ‫פרק‬2–‫רקע‬‫תיאורטי‬..................................................................................................................10 2.1‫מעגלית‬ ‫האף‬ ‫התמרת‬(CHT).................................................................................10 2.2FPGA.................................................................................................................12 2.3‫שפת‬VHDL.........................................................................................................13 2.4‫תוכנת‬‫ה‬-Quartus.................................................................................................13 2.5GUI....................................................................................................................14 2.6‫דיגיטלית‬ ‫תמונה‬ ‫עיבוד‬...........................................................................................15 2.6.1‫כיצד‬‫עובדת‬‫מצלמה‬‫דיגיטלית‬.................................................................................15 2.6.2‫דיגיטלית‬ ‫תמונה‬ ‫עיבוד‬ ‫עקרון‬..................................................................................16 2.7RGB...................................................................................................................18 2.8EEPROM...........................................................................................................19 2.9UART.................................................................................................................20 2.9.1‫מבוא‬....................................................................................................................20 2.9.2‫פונקציו‬‫נאליות‬......................................................................................................20 2.9.3UART‫ב‬-PC.......................................................................................................22 2.10Bluetooth............................................................................................................23 2.10.1SparkFun Bluetooth Modem – BlueSMiRFSilver.............................................24 2.11‫מנוע‬DC-Servo....................................................................................................25 2.11.1‫אמצעי‬‫שליטה‬‫בכיוון‬‫ומהירות‬‫מנועי‬DC)‫גשר‬(H....................................................25 2.11.2‫סכמה‬‫חשמלית‬‫של‬H-Bridge.................................................................................26 2.11.3‫סיכום‬‫אופן‬‫פעולת‬‫קווי‬‫בקרת‬‫המנוע‬‫לקביעת‬‫כיוון‬‫הסיבוב‬........................................26 2.12‫מנוע‬SM-S4303R................................................................................................27 2.13MC74HC541A – octal buffer............................................................................28 2.14‫אפנון‬‫רוחב‬‫פעימה‬–PWM....................................................................................29
  • 3.
    - 3 - ‫פרק‬3–‫המערכת‬‫מבנה‬................................................................................................................30 3.1GUI....................................................................................................................31 3.1.1‫המשתמש‬ ‫ממשק‬ ‫בניית‬ ‫עקרון‬.................................................................................31 3.1.2‫המשתמש‬ ‫ממשק‬ ‫פעולת‬ ‫אופן‬..................................................................................31 3.1.3‫המשתמש‬ ‫ממשק‬ ‫מבנה‬...........................................................................................32 3.1.4‫ל‬ ‫מהסמארטפון‬ ‫הוידאו‬ ‫שידור‬-Matlab...................................................................33 3.1.5‫פתיחת‬‫הוידאו‬‫בממשק‬‫המשתמש‬............................................................................35 3.1.6‫יצירת‬‫תקשורת‬‫טורית‬‫בעזרת‬‫ממשק‬‫המשתמש‬........................................................36 3.1.7‫שליחת‬‫אותות‬‫ותפעול‬‫פקדי‬‫התנועה‬........................................................................37 3.2‫ע‬ ‫אובייקטים‬ ‫זיהו‬"‫וצבע‬ ‫צורה‬ ‫פ‬..............................................................................38 3.2.1‫רציונל‬..................................................................................................................38 3.2.2‫ע‬ ‫מעגל‬ ‫זיהוי‬"‫התמרת‬ ‫י‬CHT..................................................................................39 3.2.3‫המעגל‬ ‫צבע‬ ‫זיהוי‬...................................................................................................39 3.2.4‫שילוב‬‫ניתוח‬‫הצורה‬‫ובדיקת‬‫הצבע‬‫לכדי‬‫זיהוי‬‫כולל‬....................................................41 3.3UART.................................................................................................................42 3.3.1‫למחשב‬ ‫המודם‬ ‫חיבור‬.............................................................................................42 3.3.2‫ה‬ ‫בניית‬-UART‫וחיבורו‬........................................................................................45 3.4‫חיבור‬‫מוצאי‬‫המערכת‬‫ללוח‬‫ה‬-FPGA....................................................................47 3.4.1‫מנועי‬ ‫חיבור‬‫סרוו‬...................................................................................................47 3.4.2‫ה‬ ‫נוריות‬ ‫חיבור‬-Led..............................................................................................51 3.4.3‫ה‬ ‫חיבור‬-Buffer...................................................................................................52 ‫פרק‬4–‫ומסקנות‬ ‫סיכום‬..............................................................................................................53 4.1‫סיכום‬..................................................................................................................53 4.1.1‫קשיים‬‫איתם‬‫התמודדנו‬‫במהלך‬‫הפרויקט‬.................................................................53 4.1.2‫הפרויקט‬ ‫להמשך‬ ‫הצעות‬.........................................................................................54 4.2‫ביבליוגרפיה‬..........................................................................................................55 ‫הפרויקט‬ ‫הצעת‬ ‫טופס‬...................................................................................................................56
  • 4.
    - 4 - ‫איורים‬‫רשימת‬‫וטבלאות‬ ‫איור‬1-‫משוואת‬‫מעגל‬..............................................................................................................10 ‫איור‬2-‫התמרת‬Hough‫של‬‫מעגל‬‫בעל‬‫רדיוס‬R..........................................................................10 ‫איור‬3-‫התמרת‬Hough‫של‬‫מעגל‬‫בעל‬‫רדיוס‬‫שאינו‬‫ידוע‬..............................................................11 ‫איור‬4-‫מישור‬Hough.............................................................................................................11 ‫איור‬5-‫לוגי‬ ‫בלוק‬....................................................................................................................12 ‫איור‬6-‫רכיב‬FPGA‫של‬‫חברת‬Altera......................................................................................12 ‫איור‬7-‫ייצוג‬‫סוגי‬‫תמונות‬‫ב‬-Matlab........................................................................................17 ‫איור‬8-‫י‬‫יצוג‬‫הקסדצימלי‬‫ל‬-16‫צבעים‬‫בתקן‬HTML 4.01.........................................................19 ‫איור‬9-‫זיכרון‬‫מסוג‬EEPROM................................................................................................19 ‫איור‬10-‫חבילת‬‫מידע‬‫הנשלחת‬/‫נקלטת‬‫ע‬"‫י‬UART......................................................................20 ‫איור‬11-‫סנכרון‬‫קצב‬‫שידור‬‫המידע‬‫המגיע‬‫מהמשדר‬‫למקלט‬..........................................................21 ‫טבלה‬12-‫פירוט‬‫הפינים‬‫ביציאה‬‫הטורית‬‫של‬‫ה‬-PC......................................................................22 ‫איור‬13-RN42/RN42N to MCU interface.............................................................................24 ‫איור‬14-BluteSMiRFSilver Bluetooth modem......................................................................24 ‫איור‬15-‫תרשים‬‫רכיב‬‫ה‬-Bluetooth RN41................................................................................24 ‫איור‬16-‫מעגל‬‫בקרת‬‫מנועי‬DC‫בארכיטקטורת‬H-Brige.............................................................25 ‫איור‬17-‫אופן‬‫פעולת‬‫קווי‬‫בקרת‬‫המנוע‬‫לקביעת‬‫כיוון‬‫הסיבוב‬........................................................26 ‫איור‬18-‫מפרט‬‫טכני‬‫של‬‫מנוע‬Servo‫מסוג‬SM-S4303R..............................................................27 ‫איור‬19-Buffer function table................................................................................................28 ‫איור‬20-‫מבט‬‫כולל‬‫על‬‫כלל‬‫החוצצים‬‫ברכיב‬.................................................................................28 ‫איור‬21-Buffer pin assignment..............................................................................................28 ‫איור‬22-‫המבנה‬‫הפנימי‬‫של‬‫חוצץ‬‫בודד‬........................................................................................28 ‫איור‬23-‫נוסחה‬‫לחישוב‬Duty Cycle..........................................................................................29 ‫איור‬24-Pulse Width Modulation..........................................................................................29 ‫איור‬25-‫תרשים‬‫זרימה‬‫של‬‫כלל‬‫המערכת‬.....................................................................................30 ‫איור‬26-‫מבנה‬‫ממשק‬‫המשתמש‬.................................................................................................32 ‫איור‬27-‫צד‬‫לקוח‬‫של‬‫האפליקציה‬DroidCam............................................................................33 ‫איור‬28-‫האפליקציה‬DroidCam‫המותקנת‬‫במכשיר‬‫ה‬-Android.................................................33 ‫איור‬29-Matlab Support Package Installer............................................................................34 ‫איור‬30-Matlab Image Acquisition Tool...............................................................................34 ‫איור‬31-‫הצגת‬‫הוידאו‬‫בממשק‬‫המשתמש‬....................................................................................35
  • 5.
    - 5 - ‫איור‬32-‫מקלט‬‫ה‬-Bluetooth‫במצב‬‫מחובר‬................................................................................36 ‫איור‬33-‫האובייקטים‬‫שנבחרו‬‫לצורך‬‫הזיהוי‬...............................................................................38 ‫טבלה‬34-‫טווחי‬‫רמות‬‫הבהירות‬‫לזיהוי‬‫הגוונים‬‫השונים‬.................................................................40 ‫איור‬35-‫אחוז‬‫שטח‬‫המעגל‬‫מהתמונה‬‫ה‬-"‫חתוכה‬".......................................................................41 ‫איור‬36-‫תרשים‬‫זרימה‬‫של‬‫תהליך‬‫זיהוי‬‫האובייקט‬......................................................................41 ‫איור‬37-‫דונגל‬Bluetooth‫דגם‬CSR4.0.....................................................................................42 ‫איור‬38-‫ביצוע‬Pairing‫בין‬‫המחשב‬‫ומודם‬‫ה‬-Bluetooth.............................................................42 ‫איור‬39-‫ה‬-COM‫שנוצר‬‫במנהל‬‫ההתקנים‬.................................................................................43 ‫איור‬40-‫הגדרות‬‫יציאת‬‫ה‬-COM...............................................................................................43 ‫איור‬41-‫אפשור‬‫הצגת‬‫התוכן‬‫המוקלד‬‫בתוכנת‬‫ה‬-Tera Term.......................................................44 ‫איור‬42-‫הצגת‬‫הגדרות‬‫מודם‬‫ה‬-Bluetooth...............................................................................44 ‫איור‬43-‫שינוי‬‫ה‬-Baud rate‫בתוכנת‬‫ה‬-Tera Term....................................................................45 ‫איור‬44-‫רכיב‬‫ה‬-UART...........................................................................................................46 ‫איור‬45-‫הצגת‬‫קוד‬‫ה‬-Ascii‫של‬‫תו‬‫בנוריות‬‫ה‬-DE-nano.............................................................46 ‫איור‬46-‫כיווני‬‫תנועת‬‫מנוע‬‫ה‬-Servo..........................................................................................47 ‫איור‬47-‫מנוע‬Servo‫מדגם‬SM-S4303R...................................................................................47 ‫איור‬48-‫רכיבי‬‫ה‬-PWM‫בערוצים‬‫השונים‬..................................................................................48 ‫איור‬49-‫ערכי‬‫מחלק‬‫התדר‬........................................................................................................49 ‫איור‬50-‫אותות‬PWM‫הנשלחים‬‫למנועי‬‫ה‬-Servo......................................................................49 ‫איור‬51-‫סכמת‬RTL‫של‬‫רכיב‬‫ה‬-PWM....................................................................................50 ‫איור‬52-‫רכיב‬‫הדלקת‬‫וכיבוי‬‫נוריות‬‫ה‬-Led................................................................................51 ‫איור‬53-‫ווקטור‬‫הדלקת‬‫וכיבוי‬‫נוריות‬‫ה‬-Led.............................................................................51 ‫איור‬54-‫סכמת‬‫הרכיב‬‫ששולט‬‫בהפעלת‬‫ה‬-Led...........................................................................51 ‫איור‬55-‫המבנה‬‫הפנימי‬‫של‬‫חוצץ‬‫בודד‬........................................................................................52
  • 6.
    - 6 - ‫פרק‬1–‫הקדמה‬ 1.1‫קיצורים‬‫רשימת‬ USB – Universal Serial Bus RPM – Round Per Minute VGA – Video Graphics Array RoHS – Restriction of Hazardous Substances Directive GUI – Graphical User Interface RGB – Red Green Blue EEPROM – Electrically Erasable Programmable Read Only Memory UART – Universal Asynchronous Receiver Transmitter PC – Personal Computer DC – Direct Current PWM – Pulse Width Modulation FPGA – Field Programmable Gate Array LED – Light Emitting Diode CHT – Circular Hough Transform SOC – System On Chip VLSI – Very Large Scale Integration ASIC – Application Specific Integrated Circuit CCD – Charge Coupled Device
  • 7.
    - 7 - VGA– Video Graphics Array JPEG – Joint Photographic Experts Group LCD – Liquid Crystal Display LSB – Least Significant Bit MSB – Most Significant Bit FHSS – Frequency Hopping Spread Spectrum PAN – Personal Area Network ISM – Industrial Scientific and Medical AFH – Adaptive Frequency Hopping Spread Spectrum SPP – Serial Port Profile MOSFET – Metal Oxide Semiconductor Field Effect Transistors WiFi – Wireless Fidelity IP – Internet Protocol ISI – Intersymbol Interference COM – Component Object Model Ascii – American Standard Code For Information Interchange VHSIC – Very High Speed Integrated Circuits VHDL – VHSIC Hardware Description Language RTL – Register Transfer Logic
  • 8.
    - 8 - 2.1‫תקציר‬ ‫תחום‬‫ה‬‫ראייה‬‫ה‬‫ממוחשבת‬‫תופס‬‫מקום‬‫הולך‬‫וגדל‬‫במוצרים‬‫שנמצאים‬‫בחזית‬‫הטכנולוגית‬‫בימנו‬. ‫בין‬‫אם‬‫בתעש‬‫י‬‫יה‬-‫באוטומציה‬‫של‬‫תהליכים‬‫אשר‬‫היו‬‫נחלתם‬‫של‬‫מפעילים‬‫אנושיים‬‫בעבר‬,‫כגון‬‫בדיקות‬ ‫ואבטחת‬‫איכות‬‫או‬‫בתקשורת‬‫חזותית‬,‫באינטרנט‬‫ובסרטי‬‫וידיאו‬‫דיגיטליים‬. ‫נושאי‬‫אבטחה‬‫משודרגים‬‫הם‬‫גם‬‫על‬‫ידי‬‫שימוש‬‫בטכניקות‬‫של‬‫עיבוד‬‫תמונה‬‫וראייה‬‫ממוחשב‬‫ת‬‫לצרכים‬‫של‬ ‫זיהוי‬‫ועקיבה‬‫אחר‬‫אנשים‬,‫פנים‬‫ומטרות‬‫אחרות‬.‫ביצוע‬‫של‬‫משימות‬‫מהסוג‬‫הנ‬"‫ל‬‫באמצעות‬‫ראייה‬‫ממוחשבת‬ ‫משפר‬‫באופן‬‫משמעותי‬‫את‬‫איכות‬‫תוצאותיהן‬‫ומקטין‬‫מאוד‬‫את‬‫עלות‬‫ביצוע‬‫ן‬. ‫מטרת‬‫ע‬ ‫ויישומם‬ ‫ממוחשבת‬ ‫ראייה‬ ‫תוצרי‬ ‫עיבוד‬ ‫ביצוע‬ ‫היא‬ ‫הפרויקט‬"‫באמצעות‬ ‫הנשלט‬ ‫רובוט‬ ‫י‬FPGA.‫הדבר‬ ‫ע‬ ‫נעשה‬"‫ממצלמת‬ ‫אמת‬ ‫בזמן‬ ‫המצולם‬ ‫וידאו‬ ‫בסרט‬ ‫שראשיתה‬ ‫תהליכים‬ ‫שרשרת‬ ‫י‬Smartphone‫ע‬ ‫המותקן‬‫ל‬ ‫עיבוד‬ ‫למטרת‬ ‫למחשב‬ ‫ושליחתו‬ ‫הרובוט‬ ‫גבי‬.‫תוכנת‬ ‫באמצעות‬ ‫נעשה‬ ‫העיבוד‬Matlab‫עיקרו‬ ‫כאשר‬,‫זיהוי‬ ‫גיאומטרים‬ ‫אובייקטים‬ ‫וסיווג‬)‫הרובוט‬ ‫נמצא‬ ‫בו‬ ‫החדר‬ ‫בחלל‬ ‫מפוזרים‬ ‫אשר‬(,‫ע‬"‫וצבע‬ ‫צורה‬ ‫פ‬.‫העיבוד‬ ‫תוצרי‬ ‫מועברות‬ ‫אשר‬ ‫פקודות‬ ‫למתן‬ ‫מתורגמים‬‫בתקשורת‬ ‫שימוש‬ ‫תוך‬ ‫לרובוט‬‫טורית‬‫ע‬ ‫אלחוטי‬ ‫ובאופן‬"‫י‬Bluetooth. ‫למקלט‬ ‫מגיע‬ ‫המידע‬Bluetooth‫הרו‬ ‫גבי‬ ‫על‬ ‫הנמצא‬‫ל‬ ‫ישירות‬ ‫ומוזרם‬ ‫בוט‬-FPGA‫באמצעות‬UART‫אשר‬ ‫מהמשדר‬ ‫המגיע‬ ‫המידע‬ ‫שידור‬ ‫קצב‬ ‫עם‬ ‫ומסונכרן‬ ‫בלבד‬ ‫כמקלט‬ ‫מהווה‬)‫המחשב‬.(‫ה‬-FPGA‫כבקר‬ ‫המשמש‬ ‫יציאות‬ ‫דרך‬ ‫מחובר‬I/O‫מנועי‬ ‫באמצעות‬ ‫המונעים‬ ‫הרובוט‬ ‫לגלגלי‬Servo‫ולנוריות‬LED‫ירוק‬ ‫בצבעים‬,‫אדום‬ ‫וצהוב‬,‫המעובד‬ ‫למידע‬ ‫בהתאם‬ ‫אותם‬ ‫ומפעיל‬. ‫ע‬ ‫ונשלט‬ ‫מנוהל‬ ‫התהליך‬ ‫כל‬"‫אפליקציית‬ ‫י‬GUI‫בסביבת‬ ‫נכתבה‬ ‫אשר‬‫ה‬-Matlab‫המשתמש‬ ‫יכול‬ ‫ובעזרתה‬ ‫אמת‬ ‫בזמן‬ ‫עליו‬ ‫המותקנת‬ ‫מהמצלמה‬ ‫הרובוט‬ ‫תנועת‬ ‫את‬ ‫לראות‬,‫יצ‬ ‫דרך‬ ‫הרובוט‬ ‫עם‬ ‫להתממשק‬‫טורית‬ ‫יאה‬ ‫ע‬ ‫הנבחרת‬"‫המשתמש‬ ‫י‬,‫ל‬‫שלוט‬‫ע‬ ‫בתנועתו‬"‫אובייקטים‬ ‫זיהוי‬ ‫ולאבחן‬ ‫ייעודיים‬ ‫פקדים‬ ‫י‬‫במרחב‬.
  • 9.
    - 9 - 1.3Abstract These days, the field of computer vision is playing an increasingly growing part in the technological front. In the industry we are witnessing automation of processes which were shared by human operators in the past, such as tests, quality assurance of visual media, Internet and digital videos. Security issues too, are being upgraded with techniques of image processing and computer vision for the identification and tracking of people, faces and other purposes. These techniques significantly improve the quality of the results and greatly reduce costs. This project's goal is to process computer vision products and their application, by using an FPGA-controlled robot. This is done by a chain of processes that begin with real time video footage taken with a Smartphone mounted on the robot and sent to a computer for processing. The processing is done using Matlab software that identifies and classifies geometric objects (scattered in the room where the robot is located), according to shape and color. The products of this processing are then translated into commands which are transferred to the robot (with wireless Bluetooth) using serial control media. The information is then broadcast to the Bluetooth receiver on the robot and sent directly to the FPGA via UART that acts as a receiver only and is synchronized with the transmission rate of information received from the transmitter (The computer). The FPGA is used as a controller that is connected via I/O ports to the robot’s wheels which run with Servo motors and to LED lights (green, red and yellow), operating them according to the information processed. The entire process is managed and controlled by a GUI application that was written in the Matlab environment and with which the user can see the robot's movement from the camera installed on it, in real-time. The user shares the interface with the robot through a serial port selected by the user, hereby controlling the motion with dedicated controls and diagnosing identification of the objects in the space.
  • 10.
    - 10 - ‫פרק‬2–‫תיאורטי‬‫רקע‬ 2.1‫האף‬ ‫התמרת‬‫מעגלית‬(CHT) ‫התמרת‬‫האף‬(Hough transform)‫הינה‬‫שיטה‬‫למציאת‬‫אלמנטים‬‫המשמשת‬‫בניתוח‬‫תמונה‬,‫ראייה‬ ‫ממוחשבת‬‫ועיבוד‬‫תמונה‬.‫מטרת‬‫האלגוריתם‬‫הינה‬‫מציאת‬‫מקרים‬‫לא‬‫מושלמים‬‫של‬‫אובייקטים‬‫בתוך‬‫סוג‬ ‫מסוים‬‫של‬‫צורות‬‫על‬‫ידי‬‫תהליך‬"‫הצבעה‬."‫הליך‬‫הצבעה‬‫זה‬‫מתבצע‬‫במרחב‬‫פרמטרים‬,‫שממנו‬‫אובייקטים‬ "‫מועמדים‬"‫מתקבלים‬‫כמקסימום‬‫מקומי‬‫במרחב‬‫סוכם‬(Accumulator)‫הנבנה‬‫על‬‫ידי‬‫האלגוריתם‬. ‫אלגוריתם‬‫האף‬‫בהגדרתו‬‫הראשונית‬‫עסק‬‫בזיהוי‬‫של‬‫קווים‬‫בתמונה‬,‫אך‬‫מאוחר‬‫יותר‬‫הורחב‬‫גם‬‫לזיהוי‬ ‫מיקומים‬‫של‬‫צורות‬‫כלשהן‬.‫הצורות‬‫הנפוצות‬‫ביותר‬‫בהקשר‬‫להתמרת‬‫האף‬‫הן‬‫מעגלים‬‫או‬‫אליפסות‬. ‫ע‬ ‫מוגדת‬ ‫אשר‬ ‫גיאומטרית‬ ‫צורה‬ ‫הינה‬ ‫מעגל‬"‫הבאה‬ ‫המתמטית‬ ‫התבנית‬ ‫י‬: ( ) + ( ) = a,b‫המתארים‬ ‫פרמטרים‬ ‫הם‬‫שיעור‬ ‫את‬‫י‬‫ו‬ ‫המעגל‬ ‫מרכז‬-R‫המעגל‬ ‫רדיוס‬ ‫הינו‬.‫ביצוע‬ ‫הוא‬ ‫האלגוריתם‬ ‫מטרת‬ ‫קצוות‬ ‫זיהוי‬(edge detection)‫כ‬‫ייצור‬ ‫אשר‬ ‫ראשוני‬ ‫סינון‬ ‫גורם‬‫תמונה‬‫האובייקטים‬ ‫של‬ ‫המתאר‬ ‫קווי‬ ‫ובה‬ ‫הנבדקים‬.‫המעגל‬ ‫רדיוס‬ ‫מהו‬ ‫ידוע‬ ‫כאשר‬(R)‫מחפשים‬ ‫אותו‬,‫דו‬ ‫בצורה‬ ‫יתבצע‬ ‫החיפוש‬ ‫אופן‬‫ממדית‬‫ע‬"‫י‬‫סריקת‬ ‫הנק‬ ‫כל‬'‫האובי‬ ‫של‬ ‫ההיקף‬ ‫על‬ ‫הנמצאות‬‫נק‬ ‫שיעורי‬ ‫זוג‬ ‫כל‬ ‫כאשר‬ ‫הנבדק‬ ‫יקט‬'‫מסוימת‬(x,y)‫התמונה‬ ‫במישור‬, ‫נק‬ ‫מהווה‬'‫מעגל‬ ‫מרכז‬(a,b)‫רדיוס‬ ‫בעל‬R‫האף‬ ‫במישור‬: ‫איור‬1–‫מעגל‬ ‫משוואת‬ ‫איור‬2–‫התמרת‬Hough‫רדיוס‬ ‫בעל‬ ‫מעגל‬ ‫של‬R
  • 11.
    - 11 - ‫סוכם‬‫המכונה‬ ‫מימדי‬ ‫דו‬ ‫במערך‬ ‫שימוש‬ ‫באמצעות‬(Accumulator)‫הפרמטרים‬ ‫של‬ ‫הערכים‬ ‫את‬ ‫מכיל‬ ‫אשר‬a, b ‫לבצע‬ ‫ניתן‬"‫הצבעה‬"‫מופי‬ ‫הם‬ ‫בה‬ ‫הפעמים‬ ‫כמות‬ ‫לפי‬ ‫לערכים‬‫עים‬.‫ההצבעה‬ ‫את‬ ‫שיקבל‬ ‫הערכים‬ ‫צמד‬ ‫המקסימאלי‬‫ת‬‫סף‬ ‫ערך‬ ‫יעבור‬ ‫ואשר‬(Ttreshold)‫מראש‬ ‫שיקבע‬,‫נק‬ ‫יהווה‬'‫רדיוס‬ ‫בעל‬ ‫המעגל‬ ‫מרכז‬R‫נתון‬. )‫הנק‬'‫בשרטוט‬ ‫הכתומה‬.( ‫המע‬ ‫רדיוס‬ ‫כאשר‬‫גל‬(R)‫אותו‬‫ידוע‬ ‫אינו‬ ‫מחפשים‬,‫נק‬ ‫כל‬'‫חרוט‬ ‫בצורת‬ ‫למשטח‬ ‫מתורגמת‬ ‫התמונה‬ ‫במישור‬ ‫האף‬ ‫במישור‬.‫שונים‬ ‫וברדיוסים‬ ‫משותף‬ ‫מרכז‬ ‫בעלי‬ ‫מעגלים‬ ‫של‬ ‫מאוסף‬ ‫בנוי‬ ‫שכזה‬ ‫חרוט‬ ‫כל‬ ‫כאמור‬: ‫מספר‬‫הממדים‬‫של‬‫הסוכם‬‫צריך‬‫להיות‬‫שווה‬‫למספר‬‫הפרמטרים‬‫הלא‬‫ידועים‬(a,b,R),‫כלומר‬,‫שלוש‬.‫נק‬ ‫כל‬' ‫בעל‬ ‫בסוכם‬ ‫לתא‬ ‫מתורגמת‬ ‫התמונה‬ ‫במישור‬‫הפרמטרים‬‫ה‬‫מתאימים‬‫מוגדל‬ ‫וערכו‬‫באחד‬.‫על‬‫ידי‬‫מציאת‬ ‫התאים‬‫עם‬‫הערכים‬‫הגבוהים‬‫ביותר‬‫בסוכם‬,‫בדרך‬‫כלל‬‫באמצעות‬‫מציאת‬‫מקסימום‬‫מקומי‬‫בו‬,‫ניתן‬‫לגלות‬‫את‬ ‫ה‬‫מעגלים‬‫בעלי‬‫ההסתברות‬‫הגבוהה‬‫ביותר‬.‫כאמור‬,‫הדרך‬‫הפשוטה‬‫ביותר‬‫למציאת‬‫פסגות‬‫אלו‬‫הינה‬‫באמצעות‬ ‫הפעלת‬‫סף‬(Threshold).‫עם‬‫זאת‬,‫קיימות‬‫טכניקות‬‫אחרות‬‫אשר‬‫עשויות‬‫להניב‬‫תוצאות‬‫טובות‬‫יותר‬‫בנסיבות‬ ‫שונות‬.‫בשל‬‫חוסר‬‫דיוק‬‫של‬‫אלגוריתם‬‫זיהוי‬‫הקצוות‬,‫יש‬‫בדרך‬‫כלל‬‫שגיאות‬‫בסוכם‬,‫אשר‬‫עשויות‬‫להקשות‬‫על‬ ‫מציאת‬‫הפסגות‬‫המתאימות‬,‫ובכך‬‫גם‬‫את‬‫ה‬‫מעגלים‬‫המתאימים‬.‫התוצאה‬‫הסופית‬‫של‬‫האלגוריתם‬‫הינה‬‫מערך‬ ‫תלת‬‫ממדי‬,‫בעל‬‫ציר‬‫אחד‬‫המייצג‬‫את‬R,‫את‬ ‫המייצג‬ ‫אחד‬ ‫ציר‬a‫וציר‬‫נוסף‬‫המייצג‬‫את‬b.‫לכל‬‫תא‬‫במערך‬‫ערך‬ ‫מסוים‬‫והתאים‬‫בעלי‬‫הערכים‬‫הגבוהים‬‫ביותר‬‫מייצגים‬‫את‬‫ה‬‫מעגלים‬‫האינדוקטיביים‬‫ביותר‬‫בתמונה‬.‫במישור‬ ‫האף‬,‫הנק‬'‫המבוקש‬ ‫המעגל‬ ‫את‬ ‫המייצגים‬ ‫הערכים‬ ‫בעלת‬,‫כנק‬ ‫תבוטא‬'‫מס‬ ‫נחתכים‬ ‫בה‬'‫מקסימאל‬‫י‬‫של‬ ‫קונוסים‬. ‫איור‬3–‫התמרת‬Hough‫ידוע‬ ‫שאינו‬ ‫רדיוס‬ ‫בעל‬ ‫מעגל‬ ‫של‬ ‫איור‬4–‫מישור‬Hough
  • 12.
    ‫כנת‬‫הבנוי‬‫כמעגל‬‫משולב‬Integrated) ‫לתכנות‬.‫בלוקים‬‫לוגיים‬‫הם‬‫אוסף‬‫של‬ ‫בוררים‬‫ומפענחים‬‫ואף‬‫רכיבי‬‫ז‬‫י‬‫כרון‬‫מ‬- ‫שכבה‬‫זו‬‫נמצאת‬‫שכבה‬‫שבעת‬‫צריבת‬ ‫ה‬‫רכיבים‬‫האלה‬‫ובין‬‫הבלוקים‬ ‫המתאים‬‫לקוד‬.‫ה‬-FPGA‫התחיל‬‫את‬ ‫הפעולה‬‫של‬‫ה‬-FPGA‫גדלו‬,‫גדל‬‫גם‬‫נתח‬ ‫על‬‫שבב‬)SoC.( ‫אותו‬‫אופי‬,‫אך‬‫שונות‬‫אחת‬‫מהשנייה‬ ‫קטנות‬.‫במעגלים‬‫אלו‬,‫העלות‬‫של‬ ‫לפיתוח‬‫של‬‫מעגל‬‫חשמלי‬‫בעל‬‫ממשקים‬ ‫המעגלים‬‫שמיוצרים‬. ‫בתחומים‬‫הדורשים‬‫עיבוד‬‫מקבילי‬,‫וניתן‬ ‫אות‬‫השעון‬‫נמוך‬‫יחסית‬.‫יכולת‬‫זו‬ ‫של‬‫עיבוד‬,‫שבו‬‫רכיבי‬‫ה‬-FPGA ‫תצורה‬‫ספציפית‬,‫שנטען‬‫לתוך‬‫ה‬- ‫מבחינת‬‫מהירות‬‫והספק‬‫חשמלי‬ ‫האפשרית‬‫הנמוכה‬‫ב‬-FPGA,‫בהשוואה‬ ‫להפחית‬‫את‬‫הדיוק‬‫היכן‬‫שניתן‬,‫על‬‫מנת‬ ‫יחסית‬)‫בהשוואה‬‫לתוכנה‬‫רגילה‬( ‫להשתמש‬‫בתצורה‬‫הזו‬. ‫איור‬6–‫רכיב‬FPGA‫חברת‬ ‫של‬Altera - 12- (Field Programmable Gate Array‫הינו‬‫רכיב‬‫אלקטרוני‬‫מת‬‫ו‬‫כנת‬ ‫בתוכו‬‫מספר‬‫רב‬‫מאוד‬‫של‬"‫בלוקים‬‫לוגיים‬"‫הניתנים‬‫לתכנות‬ ‫שער‬NOT‫ו‬-(AND,‫רכיבים‬‫מורכבים‬‫יותר‬‫כגון‬‫בוררים‬ ‫ועד‬‫רגיסטרים‬‫ובלוקים‬‫שלמים‬‫של‬‫תאי‬‫זיכרון‬.‫מעל‬‫שכבה‬ ‫המשתמש‬‫לרכיב‬FPGA,‫יוצרת‬"‫קשרים‬"‫חשמליים‬‫בין‬‫ה‬ ‫בהתאם‬‫להגדרות‬‫שקבע‬‫המתכנת‬‫ובכך‬‫נוצר‬‫מעגל‬‫חשמלי‬‫המתאים‬ ‫ומתחרה‬‫ל‬-CPLD,‫אך‬‫ככל‬‫שהגודל‬,‫היכולות‬,‫ומהירות‬‫הפעולה‬ ‫מסוג‬‫זה‬,‫וכיום‬‫מקובל‬‫למצוא‬‫רכיבי‬FPGA‫כמערכת‬‫על‬ ‫ברכיבי‬FPGA‫עבור‬‫מעגלים‬‫שנועדו‬‫לבצע‬‫משימות‬‫בעלות‬‫אותו‬ ‫ולא‬‫בממשקים‬‫החיצוניים‬(,‫ואשר‬‫מיוצרים‬‫בכמויות‬‫קטנות‬ ‫כל‬‫דגם‬‫היא‬‫גבוהה‬‫יחסית‬,‫ולכן‬‫יש‬‫היגיון‬‫לשאוף‬‫לפיתוח‬ ‫שיתאימו‬‫למספר‬‫מוצרים‬‫שונים‬,‫ובכך‬‫להגדיל‬‫את‬‫כמות‬‫המעגלים‬ ‫הפנימי‬‫של‬‫רכיבי‬‫ה‬-FPGA,‫הם‬‫שימושיים‬‫במיוחד‬‫בתחומים‬ ‫גדולה‬‫יחסית‬‫של‬‫פעולות‬‫וחישובים‬,‫אפילו‬‫כאשר‬‫קצב‬‫אות‬ ‫בתחום‬‫פיצוח‬‫הצפנות‬,‫ואף‬‫פתחה‬‫אפשרות‬‫לסוג‬‫חדש‬‫של‬ ‫הראשי‬‫בביצוע‬‫פעולות‬‫מסוימות‬,‫לפעמים‬‫על‬‫פי‬‫הגדרת‬‫תצורה‬ ‫ביצוע‬‫החישוב‬‫ב‬-FPGA. ‫בשילוב‬‫רכיבי‬FPGA‫במחשבים‬‫היא‬‫יכולת‬‫הביצועים‬‫מבחינת‬ VLSI‫בתכנון‬‫מלא‬‫וב‬-ASIC‫ומגבלת‬‫הס‬‫י‬‫בוכיות‬‫האפשרית‬ ‫בתוכנה‬‫רגילה‬.‫אחת‬‫הדרכים‬‫להתמודד‬‫עם‬‫מגבלה‬‫זו‬‫היא‬‫להפחית‬ ‫המקביליות‬‫של‬‫ה‬-FPGA.‫מגבלה‬‫נוספת‬‫היא‬‫זמן‬‫ההכנה‬‫הארוך‬ ‫מסוים‬‫בתצורת‬‫הטעינה‬‫של‬‫ה‬-FPGA,‫עד‬‫לרגע‬‫שניתן‬ ‫לוגי‬ ‫בלוק‬‫איור‬ 2.2FPGA FPGAField Programmable Gate Array) (Circuit‫המכיל‬‫בתוכו‬ ‫שער‬‫ים‬‫לוגיים‬)‫כמו‬ Flip-flops‫בודדים‬‫ועד‬ ‫התוכנית‬‫שכתב‬‫המשתמש‬ ‫הלוגיים‬‫עצמם‬‫בהתאם‬ ‫דרכו‬‫כמקביל‬‫ומתחרה‬ ‫השוק‬‫של‬‫רכיבים‬‫מסוג‬ ‫נהוג‬‫להשתמש‬‫ברכיבי‬ ‫בלוגיקה‬‫הפנימית‬)‫ולא‬ ‫התכנון‬‫והייצור‬‫של‬ ‫משותפים‬‫שיתאימו‬ ‫בזכות‬‫המבנה‬‫הפנימי‬ ‫לבצע‬‫בהם‬‫כמות‬‫גדולה‬ ‫שימושית‬‫במיוחד‬‫בתחום‬ ‫מסייעים‬‫למעבד‬‫הראשי‬ FPGA‫מיד‬‫לפני‬‫ביצוע‬ ‫המגבלה‬‫העיקרית‬‫בשילוב‬ ‫בהשוואה‬‫למעגלי‬VLSI ‫לאפשרויות‬‫בתוכנה‬ ‫לנצל‬‫את‬‫המקביליות‬ ‫מרגע‬‫שהוגדר‬‫שינוי‬ ‫איור‬5–‫לוגי‬ ‫בלוק‬
  • 13.
    - 13 - 2.3‫שפת‬VHDL ‫שפת‬VHDL(VeryHigh Speed Integrated Circuits Hardware Description Language)‫נוצרה‬‫כתוצאה‬ ‫מחקר‬ ‫מפרויקט‬‫ה‬ ‫בשנות‬ ‫שערכו‬ ‫גדול‬-80‫האמריקאי‬ ‫ההגנה‬ ‫משרד‬.‫נקרא‬ ‫הפרויקט‬VHSIC (Very High Speed Integrated Circuit). ‫המטרה‬‫הייתה‬‫ליצור‬‫שפת‬‫תיעוד‬‫וסימולציה‬‫סטנדרטית‬‫לתיאור‬‫חומרה‬‫ספרתית‬‫מורכבת‬.‫במשך‬‫השנים‬ ‫הצטרפו‬‫חברות‬‫מהתעשייה‬‫לפיתוח‬‫השפה‬,‫כגון‬:IBM,TI‫וכו‬,'‫ולאחר‬‫שיפורים‬‫שנערכו‬‫הוגדר‬‫בשנת‬1987‫תקן‬ IEEE 1076‫שמגדיר‬‫באופן‬‫בסיסי‬‫את‬‫השפה‬.‫עם‬‫השנים‬‫התווספו‬‫תקנים‬‫לסוגי‬‫מידע‬‫ספציפיים‬,‫כגון‬:‫לסוגי‬ ‫מידע‬‫סטנדרטים‬-1164,‫לחבילות‬‫מתמטיות‬-1076.2‫וכו‬'. ‫כיום‬‫השפה‬‫מכילה‬‫בנוסף‬‫לכלי‬‫הסימולציה‬,‫כלי‬‫סינתזה‬‫והינה‬‫אחת‬‫משפות‬‫תיאור‬‫החומרה‬‫הנפוצות‬ ‫בתעשייה‬‫ובאקדמיה‬.‫התכנון‬‫בעזרת‬‫השפה‬‫נעשה‬‫בהתאם‬‫לתכנון‬‫הספרתי‬‫המקובל‬‫שהינו‬‫בניית‬‫ארכיטקטורה‬ ‫של‬‫המערכת‬,‫הגדרת‬‫יחסי‬‫גומלין‬‫בין‬‫החלקים‬‫המבצעים‬‫לבין‬‫החלקים‬‫המבקרים‬‫בתוך‬‫המערכת‬,‫כתיבת‬‫קוד‬, ‫סימולציה‬‫וסינתזה‬. 2.4‫ה‬ ‫תוכנת‬-Quartus ‫ה‬ ‫תוכנת‬-Quartus‫ע‬ ‫פותחה‬"‫חברת‬ ‫י‬ALTERA‫ל‬‫ברי‬ ‫רכיבים‬ ‫עבור‬ ‫שימושים‬-‫תכנות‬‫כ‬‫דוג‬‫מת‬FPGA.‫בעזרת‬ ‫לרכיבים‬ ‫וסינתזות‬ ‫סימולציות‬ ‫לערוך‬ ‫ניתן‬ ‫התוכנה‬‫ו‬‫הנוצר‬ ‫החומרה‬ ‫מימוש‬ ‫את‬ ‫לוודא‬ ‫ניתן‬ ‫בנוסף‬‫ע‬"‫סכמת‬ ‫י‬ RTL‫ברכיבים‬ ‫הקוד‬ ‫את‬ ‫לצרוב‬ ‫ואף‬.‫חברת‬ ‫כיום‬ALTERA‫תשלום‬ ‫ללא‬ ‫תוכנה‬ ‫גרסת‬ ‫מספקת‬‫אשר‬‫נקראת‬ "Quartus II Web Edition".
  • 14.
    - 14 - 2.5GUI GUI(GraphicalUser Interface)‫הוא‬‫ממשק‬‫משתמש‬‫לתוכנה‬‫או‬‫לאתר‬‫אינטרנט‬,‫המבוסס‬‫על‬‫עיצוב‬‫גרפי‬ )‫להבדיל‬‫מעיצוב‬‫טקסטואלי‬‫בלבד‬(‫של‬‫המסך‬‫המוצג‬‫למשתמש‬.‫כרכיבים‬ ‫המשמשים‬ ‫פקדים‬ ‫מכיל‬ ‫הוא‬ (components)‫משימות‬ ‫לבצע‬ ‫למשתמש‬ ‫מאפשרים‬ ‫אשר‬‫אינטראקטיביו‬‫ת‬.‫המשתמש‬‫אינו‬‫צריך‬‫ליצור‬ ‫תסריט‬(script)‫או‬‫להקליד‬‫פקודות‬‫בשורת‬‫הפקודה‬‫כדי‬‫לבצע‬‫את‬‫המשימות‬.‫שלא‬‫כמו‬‫קידוד‬‫תוכניות‬ ‫ביצוע‬ ‫למטרת‬‫מש‬‫י‬‫מות‬,‫המשתמש‬‫אינו‬‫צריך‬‫להבין‬‫את‬‫הפרטים‬‫של‬‫איך‬‫המשימות‬‫מבוצעות‬. ‫רכיבי‬‫ממשק‬‫ה‬‫משתמש‬‫יכולים‬‫לכלול‬‫תפריטים‬,‫סרגלי‬‫כלים‬,‫לחצנים‬,‫כפתורי‬‫רדיו‬,‫תיבות‬‫רשימה‬,‫מחוונים‬ ‫ועוד‬.‫הנ‬ ‫ממשק‬‫וצר‬‫באמצעות‬‫כלים‬‫כדוגמת‬ ‫ייעודיים‬MATLAB,‫יכול‬‫גם‬‫לבצע‬‫כל‬‫סוג‬‫של‬‫חישוב‬,‫לקרוא‬ ‫ולכתוב‬‫קבצי‬‫נתונים‬,‫ל‬‫תקשר‬‫עם‬‫ממשקי‬‫משתמש‬‫אחרים‬,‫ו‬‫להציג‬‫נתוני‬‫ם‬‫גרפים‬ ‫או‬ ‫טבלאות‬ ‫באמצעות‬. ‫לרוב‬,‫מממ‬‫לקריאות‬ ‫מחכה‬ ‫משתמש‬ ‫שק‬‫מהמשתמש‬‫פעולות‬ ‫לביצוע‬,‫התור‬ ‫לפי‬ ‫קריאה‬ ‫לכל‬ ‫מגיב‬ ‫ואז‬.‫פקד‬ ‫לכל‬ ‫פונקצית‬ ‫יש‬ ‫ופקד‬Callback‫קריאה‬ ‫קבלת‬ ‫בעת‬ ‫ומבוצעות‬ ‫מראש‬ ‫שנכתבו‬ ‫פקודות‬ ‫של‬ ‫סט‬ ‫מבצעת‬ ‫אשר‬ ‫או‬ ‫רדיו‬ ‫כפתור‬ ‫על‬ ‫לחיצה‬ ‫כדוגמת‬ ‫מהמשתמש‬‫תפריט‬ ‫מסוג‬ ‫ברכיב‬ ‫מסוים‬ ‫ערך‬ ‫בחירת‬.‫ישנן‬2‫דר‬‫ליצירת‬ ‫כים‬ ‫תוכנת‬ ‫בסביבת‬ ‫משתמש‬ ‫ממשק‬MATLAB: ‫באמצעות‬GUIDE: ‫יוצר‬ ‫זו‬ ‫בגישה‬‫ים‬‫ת‬‫מאוכלס‬ ‫אשר‬ ‫ריק‬ ‫רשים‬‫גרפי‬ ‫עורך‬ ‫מתוך‬ ‫לבחירה‬ ‫הניתנים‬ ‫שונים‬ ‫ברכיבים‬.‫למקם‬ ‫ניתן‬ ‫בת‬ ‫ורכיב‬ ‫רכיב‬ ‫כל‬‫הריק‬ ‫רשים‬‫מאפייניו‬ ‫את‬ ‫ולשנות‬‫הויזואליי‬‫ם‬‫צבע‬ ‫כגון‬,‫גופן‬,‫וכו‬ ‫גודל‬,'‫שמאפשר‬ ‫מה‬ ‫דינמית‬ ‫שליטה‬‫לבנות‬ ‫רוצים‬ ‫אותה‬ ‫האפליקציה‬ ‫בנראות‬ ‫ופשוטה‬.GUIDE‫פונקצית‬ ‫ובו‬ ‫קוד‬ ‫קובץ‬ ‫יוצר‬ Callback‫המשתמש‬ ‫בממשק‬ ‫רכיב‬ ‫לכל‬.‫מה‬ ‫הן‬ ‫האפליקציה‬ ‫את‬ ‫להפעיל‬ ‫ניתן‬‫הנבנה‬ ‫תרשים‬)‫קובץ‬FIG(‫והן‬ ‫שנוצר‬ ‫הקוד‬ ‫מקובץ‬. ‫משתמש‬ ‫ממשק‬ ‫יצירת‬"‫תכנותי‬:" ‫יוצר‬ ‫זו‬ ‫בגישה‬‫ים‬‫בלבד‬ ‫קוד‬ ‫קובץ‬,‫ה‬ ‫כל‬ ‫את‬ ‫מגדיר‬ ‫אשר‬‫ורכיב‬ ‫רכיב‬ ‫כל‬ ‫של‬ ‫וההתנהגויות‬ ‫תכונות‬.‫כאשר‬ ‫הקוד‬ ‫קובץ‬ ‫את‬ ‫מפעיל‬ ‫משתמש‬,‫המ‬ ‫תרשים‬ ‫נוצר‬‫ע‬ ‫נשלטים‬ ‫אשר‬ ‫הרכיבים‬ ‫כל‬ ‫את‬ ‫כיל‬"‫המשתמש‬ ‫פעולות‬ ‫י‬. ‫לרוב‬,‫פעולת‬ ‫בכל‬ ‫חדש‬ ‫תרשים‬ ‫יוצר‬ ‫הקוד‬ ‫שקובץ‬ ‫מכיוון‬ ‫לאיטרציה‬ ‫מאיטרציה‬ ‫נשמר‬ ‫אינו‬ ‫התרשים‬ ‫הרצה‬. ‫שונה‬ ‫נראים‬ ‫גישה‬ ‫כל‬ ‫של‬ ‫הקוד‬ ‫קבצי‬.‫משתמש‬ ‫ממשקי‬ ‫של‬ ‫קוד‬ ‫קבצי‬"‫תכנותיים‬"‫משום‬ ‫יותר‬ ‫ארוכים‬ ‫הם‬ ‫בתרשים‬ ‫ורכיב‬ ‫רכיב‬ ‫כל‬ ‫של‬ ‫המאפיינים‬ ‫כל‬ ‫את‬ ‫מגדירים‬ ‫שהם‬,‫ה‬ ‫פונקציות‬ ‫את‬ ‫גם‬ ‫כמו‬-Callbacks‫לרכיבים‬. ‫ב‬ ‫שימוש‬-GUIDE‫זאת‬ ‫לעומת‬,‫מצומצם‬ ‫יותר‬ ‫קוד‬ ‫קובץ‬ ‫מכיל‬,‫הרכיב‬ ‫הגדרות‬ ‫שכל‬ ‫משום‬‫דרך‬ ‫נעשים‬ ‫ים‬ ‫בנייתו‬ ‫בעת‬ ‫עצמו‬ ‫התרשים‬.‫עוסק‬ ‫הקוד‬ ‫עיקר‬‫ה‬ ‫בפונקציות‬-Callback‫המשתמש‬ ‫ממשק‬ ‫ואתחול‬ ‫הרכיבים‬ ‫של‬ ‫פתיחתו‬ ‫בעת‬.‫באמצעות‬ ‫משתמש‬ ‫ממשק‬ ‫ליצור‬ ‫ניתן‬GUIDE‫תכנותית‬ ‫אותו‬ ‫לשנות‬ ‫ואז‬.‫זאת‬ ‫לעומת‬,‫שימוש‬ ‫בגישות‬ ‫הפוך‬,‫לביצוע‬ ‫ניתן‬ ‫בלתי‬.
  • 15.
    - 15 - 6.2‫דיגיטלי‬‫תמונה‬ ‫עיבוד‬‫ת‬ ‫עיבוד‬‫תמונה‬)Image Processing(‫הוא‬‫תחום‬‫טכנולוגי‬-‫הנדסי‬,‫העוסק‬‫בעיבוד‬‫של‬‫אותות‬‫המייצגים‬‫תמונה‬‫או‬ ‫הדמאה‬)image(–‫בין‬‫אם‬‫היא‬‫תמונה‬‫בודדת‬)stills(‫או‬‫תמונה‬)frame(‫מסרטון‬‫וידאו‬.‫תחום‬‫עיבוד‬‫התמונה‬ ‫כולל‬‫אלגוריתמים‬‫לשיפור‬‫תמונות‬,‫חילוץ‬‫מידע‬‫מתוך‬‫תמונות‬,‫התאמת‬‫תמונה‬,‫ג‬‫ילוי‬‫שינויים‬,‫זיהוי‬‫תנועה‬ ‫ב‬‫וידאו‬,‫ראייה‬‫ממוחשבת‬‫ועוד‬. ‫עיקריות‬ ‫מטרות‬ ‫לשתי‬ ‫נעשה‬ ‫תמונה‬ ‫עיבוד‬: ‫התמונה‬ ‫שיפור‬ ‫לשם‬:‫הפחתת‬"‫רעשים‬",‫פרטים‬ ‫הדגשת‬,‫חי‬‫דוד‬,‫תמונה‬ ‫ריטוש‬,‫אפקטים‬ ‫יצירת‬, ‫תיקון‬‫צבעים‬‫ורמות‬‫אפור‬‫וכדומה‬. ‫מסקנות‬ ‫הסקת‬ ‫לשם‬:‫מדידות‬,‫פגמים‬ ‫זיהוי‬,‫תנועה‬ ‫גילוי‬,‫צורות‬ ‫זיהוי‬‫אובייקטים‬ ‫וסיווג‬. ‫רבים‬ ‫שימושים‬ ‫תמונה‬ ‫לעיבוד‬: ‫פגמים‬ ‫ולזיהוי‬ ‫למדידות‬ ‫משמש‬ ‫התמונה‬ ‫עיבוד‬ ‫בתעשייה‬.‫ש‬ ‫מכונות‬ ‫גם‬ ‫ישנן‬"‫רואות‬"‫המשתמש‬ ‫העובד‬ ‫את‬ ‫בהן‬,‫התוצאה‬ ‫את‬ ‫בודקות‬ ‫ואחר‬ ‫העבודה‬ ‫כלי‬ ‫את‬ ‫מכוונות‬. ‫ב‬‫לאומי‬ ‫ביטחון‬,‫ב‬‫פנים‬ ‫ביטחון‬‫וב‬‫אבטחה‬‫צור‬ ‫וסיווג‬ ‫תנועה‬ ‫לזיהוי‬ ‫משמש‬ ‫התמונה‬ ‫עיבוד‬‫ות‬. ‫שצולמו‬ ‫התמונות‬ ‫את‬ ‫לשפר‬ ‫מנת‬ ‫על‬ ‫תמונה‬ ‫בעיבוד‬ ‫משתמשים‬ ‫הרחב‬ ‫בציבור‬. .16.2‫כיצד‬‫עובדת‬‫דיגיטלית‬ ‫מצלמה‬ ‫מקור‬‫לצילום‬ ‫עיקרי‬‫תמונה‬‫דיגיטלית‬‫הוא‬‫מצלמה‬‫דיגיטלית‬,‫כגון‬‫מצלמות‬‫ה‬‫וידאו‬‫הביתיות‬‫האופייניות‬, ‫ומצלמות‬‫ה‬-Still‫החדישות‬‫בהן‬‫במקום‬‫סרט‬‫צילום‬‫ישנה‬‫מדיה‬‫דיגיטלית‬.‫מצלמות‬‫כאלו‬‫מורכבות‬‫סביב‬ ‫מטריצת‬‫חיישנים‬‫הרגישים‬‫לאור‬)‫כגון‬‫גלאי‬CCD(,‫אשר‬‫קובעים‬‫מתח‬‫זרם‬‫חשמלי‬‫באופן‬‫יחסי‬‫ישר‬‫לכמות‬ ‫הפוטונים‬‫הפוגעת‬‫בהם‬.‫כל‬‫חיישן‬‫מייצר‬‫ערך‬‫עבור‬‫פיקסל‬‫בודד‬,‫ולכן‬‫מטריצות‬‫חיישנים‬‫אלו‬‫צריכות‬‫להיות‬ ‫גדולות‬)‫מאות‬‫על‬‫מאות‬‫של‬‫חיישנים‬‫על‬chip‫בודד‬.(‫המתח‬‫זרם‬‫הנוצרים‬‫מומרים‬‫ישירות‬‫ל‬-L‫הסיביות‬ ‫המייצגות‬‫את‬‫רמת‬‫האפור‬‫בנקודה‬‫זו‬‫וכך‬‫מתקבל‬‫ערכו‬‫של‬‫הפיקסל‬.‫פרמטר‬‫מרכזי‬‫בקביעת‬‫איכותה‬‫של‬ ‫מצלמה‬‫כזו‬‫הוא‬‫מספר‬‫הגלאים‬‫במטריצת‬‫החיישנים‬.‫מצלמות‬Still‫דיגיטליות‬‫עם‬‫מערך‬‫של‬480‫על‬640 ‫נחשבות‬‫לרמה‬‫הבסיסית‬‫ביותר‬)‫זוהי‬‫רזולוציית‬VGA(,‫ואיכותן‬‫רחוקה‬‫מלהתחרות‬‫במצלמת‬‫סרט‬ ‫קונבנציונלית‬.‫לשם‬‫קבלת‬‫איכות‬‫מתחרה‬‫בסרט‬‫צילום‬,‫על‬‫המערך‬‫להכיל‬‫כ‬-2000‫על‬2000‫חיישנים‬‫ויותר‬. ‫דו‬ ‫למערך‬ ‫כאלטרנטיבה‬-‫חיישנים‬ ‫של‬ ‫מימדי‬,‫חד‬ ‫מערך‬ ‫להציע‬ ‫ניתן‬-‫וסריקה‬ ‫מימדי‬‫מכאני‬‫ת‬)‫המערך‬ ‫של‬,‫מראה‬ ‫פריזמה‬ ‫או‬ ‫מטילה‬(‫התמונה‬ ‫את‬ ‫היוצרות‬ ‫שורות‬ ‫אוסף‬ ‫לקבלת‬.‫רזולוציה‬ ‫נדרשת‬ ‫כאשר‬ ‫מקובלת‬ ‫זו‬ ‫גישה‬
  • 16.
    ‫הצורך‬ ‫הוא‬ ‫זו‬‫גישה‬ ‫עם‬ ‫העיקרית‬ ‫הבעיה‬ ‫חיישנים‬ ‫מערכי‬ ‫בשלושה‬ ‫שימוש‬ ‫בעיקרון‬ ‫ש‬,‫למסנן‬ ‫מחובר‬ ‫מהם‬ ‫אחד‬ ‫כשכל‬ ‫מכל‬ ‫המונע‬ ‫אופטי‬ ‫פילטר‬ ‫עם‬ ‫גלאים‬ ‫מערך‬ ‫י‬ ‫לשם‬ ‫אופטי‬ ‫ציר‬ ‫אותו‬ ‫על‬ ‫שונות‬ ‫מצלמות‬ ‫שלוש‬ ‫בפועל‬ ‫תהיה‬ ‫כזו‬ ‫צבע‬ ‫מצלמת‬ ‫לתמונות‬ ‫הן‬ ‫אופיינית‬ ‫דיגיטלית‬ ‫מצלמה‬ ‫פועלת‬ ‫בה‬ ‫לדרך‬ ‫מתייחס‬ ‫לעיל‬ ‫האמור‬ ‫כל‬Still‫והן‬‫ל‬‫וידאו‬)‫של‬ ‫סדרות‬ ‫אור‬ ‫של‬ ‫לחישה‬ ‫מוגבלת‬ ‫אינה‬ ‫אלקטרונית‬ ‫מצלמה‬ ‫כי‬ ‫לציין‬ ‫חשוב‬‫נראה‬.‫החשים‬ ‫גלאים‬ ‫בהינתן‬ ‫דו‬ ‫במערך‬ ‫לסדרם‬ ‫ניתן‬-‫את‬ ‫ולהגדיר‬ ‫מימדי‬ ‫אדום‬,‫אחר‬ ‫גל‬ ‫אורך‬ ‫של‬ ‫תמונות‬ ‫המספק‬ ‫על‬ ‫רעידות‬ ‫של‬-‫הארץ‬ ‫כדור‬ ‫פני‬,‫ועו‬‫ד‬. ‫שטח‬ ‫ביחידת‬ ‫נקודות‬ ‫יותר‬ ‫שיש‬,‫כך‬ ‫של‬ ‫גדול‬ ‫יותר‬ ‫טווח‬ ‫לתת‬ ‫יכולה‬ ‫שנקודה‬ ‫כל‬ ‫שהם‬ ‫כמו‬ ‫מאוחסנים‬ ‫הללו‬ ‫הנתונים‬ ‫בתמ‬ ‫נקודה‬ ‫לכל‬ ‫רי‬‫ונה‬,‫שנדחסים‬ ‫או‬‫באמצעות‬ ‫דחוסים‬ ‫בקבצים‬ ‫ופתיחה‬ ‫שמירה‬ ‫של‬ ‫תהליך‬ ‫בכל‬, ‫איבוד‬ ‫תוך‬ ‫התמונה‬ ‫נתוני‬ ‫את‬ ‫לדחוס‬ ‫שיודע‬‫מינימאל‬‫י‬‫מידע‬ ‫של‬. ‫התמונה‬ ‫את‬ ‫לאחסן‬ ‫המסוגל‬‫בזיכרון‬ ‫הדגימה‬ ‫את‬ ‫לנהל‬ ‫המסוגלת‬ ‫מתאימה‬ ‫תוכנה‬ ‫באמצעות‬ ‫אותו‬ ‫לעבד‬ ‫כך‬ ‫ואחר‬,‫ולבצע‬ ‫התמונה‬ ‫של‬ ‫התצוגה‬ ‫את‬ ‫ממדית‬ ‫דו‬ ‫מטריצה‬ ‫בצורת‬ ‫בזיכרון‬ ‫תופיע‬ ‫הנדגמת‬ ‫התמונה‬,‫איבר‬ ‫כל‬ ‫ה‬ ‫שהפיקסל‬ ‫האור‬ ‫רמת‬ ‫על‬ ‫יה‬‫הצילום‬ ‫בזמן‬ ‫לה‬ ‫נחשף‬ ‫זה‬. ‫ב‬ ‫פיקסל‬ ‫ומייצגים‬ ‫דוגמים‬ ‫ואם‬‫ביי‬‫ט‬)8‫ביט‬( (Red-Green‫שלוש‬ ‫ישנן‬ ‫ואז‬‫מטריצות‬: - 16 - ‫ארוך‬ ‫חיישנים‬ ‫מערך‬ ‫ולפיכך‬ ‫מאוד‬ ‫גבוהה‬)‫אלפים‬ ‫של‬ ‫גודל‬ ‫בסדר‬.(‫הצורך‬ ‫הוא‬ ‫זו‬ ‫גישה‬ ‫עם‬ ‫העיקרית‬ ‫הבעיה‬ ‫במצלמ‬ ‫מדויקת‬‫ה‬. ‫נדר‬ ‫צבע‬ ‫תמונת‬ ‫לקלוט‬ ‫מנת‬ ‫על‬‫חיישנים‬ ‫מערכי‬ ‫בשלושה‬ ‫שימוש‬ ‫בעיקרון‬ ‫ש‬ ‫הרלוונטי‬.‫שכבת‬ ‫כי‬ ‫למשל‬ ‫ייצא‬ ‫כך‬‫ה‬-RED‫ע‬ ‫תיוצר‬"‫מכל‬ ‫המונע‬ ‫אופטי‬ ‫פילטר‬ ‫עם‬ ‫גלאים‬ ‫מערך‬ ‫י‬ ‫לחדור‬ ‫אדום‬ ‫למעט‬ ‫צבע‬.‫לכן‬,‫לשם‬ ‫אופטי‬ ‫ציר‬ ‫אותו‬ ‫על‬ ‫שונות‬ ‫מצלמות‬ ‫שלוש‬ ‫בפועל‬ ‫תהיה‬ ‫כזו‬ ‫צבע‬ ‫מצלמת‬ ‫הגיאומטרי‬ ‫במובן‬ ‫ביניהן‬ ‫מוחלטת‬ ‫תאמה‬. ‫לתמונות‬ ‫הן‬ ‫אופיינית‬ ‫דיגיטלית‬ ‫מצלמה‬ ‫פועלת‬ ‫בה‬ ‫לדרך‬ ‫מתייחס‬ ‫לעיל‬ ‫האמור‬ ‫כל‬ ‫אור‬ ‫של‬ ‫לחישה‬ ‫מוגבלת‬ ‫אינה‬ ‫אלקטרונית‬ ‫מצלמה‬ ‫כי‬ ‫לציין‬ ‫חשוב‬ ‫פיזיקאלי‬‫ת‬‫וממיר‬ ‫אחרת‬‫חשמליים‬ ‫לאותות‬ ‫אותה‬ ‫ים‬,‫דו‬ ‫במערך‬ ‫לסדרם‬ ‫ניתן‬ ‫דבר‬ ‫לכל‬ ‫דיגיטלית‬ ‫כתמונה‬ ‫החישה‬ ‫תוצאת‬.‫אינפרה‬ ‫בצילום‬ ‫הדבר‬ ‫כך‬-‫אדום‬ ‫עצמים‬ ‫של‬ ‫לחום‬ ‫הקשור‬,‫רנטגן‬ ‫בצילום‬ ‫גם‬ ‫כך‬,‫סיסמיים‬ ‫צילומים‬‫על‬ ‫רעידות‬ ‫של‬ ‫דיגיטלית‬ ‫תמונה‬ ‫עיבוד‬ ‫עקרון‬ ‫הקרויות‬ ‫זעירות‬ ‫מנקודות‬ ‫מורכב‬ ‫תמונה‬ ‫קובץ‬ ‫כל‬‫פיקסלים‬.‫ככל‬‫שטח‬ ‫ביחידת‬ ‫נקודות‬ ‫יותר‬ ‫שיש‬ ‫יותר‬ ‫גבוהה‬ ‫התמונה‬ ‫של‬ ‫הרזולוציה‬,‫יותר‬ ‫חדה‬ ‫תראה‬ ‫והתמונה‬.‫כ‬‫של‬ ‫גדול‬ ‫יותר‬ ‫טווח‬ ‫לתת‬ ‫יכולה‬ ‫שנקודה‬ ‫כל‬ ‫יותר‬ ‫גדול‬ ‫הצבע‬ ‫עומק‬ ‫כך‬,‫יותר‬ ‫ריאליסטית‬ ‫תראה‬ ‫והתמונה‬.‫שהם‬ ‫כמו‬ ‫מאוחסנים‬ ‫הללו‬ ‫הנתונים‬ ‫סיביות‬ ‫מפת‬ ‫תמונת‬(,‫י‬ ‫יש‬ ‫שבו‬‫י‬‫מספ‬ ‫צוג‬‫בתמ‬ ‫נקודה‬ ‫לכל‬ ‫רי‬ ‫כ‬ ‫דחוסים‬ ‫בקבצים‬ ‫ונשמרים‬ ‫וחד‬‫דוגמת‬JPEG.‫דחוסים‬ ‫בקבצים‬ ‫ופתיחה‬ ‫שמירה‬ ‫של‬ ‫תהליך‬ ‫בכל‬ ‫מיוחד‬ ‫עיבוד‬ ‫בתהליך‬ ‫משתמשת‬,‫איבוד‬ ‫תוך‬ ‫התמונה‬ ‫נתוני‬ ‫את‬ ‫לדחוס‬ ‫שיודע‬ ‫ל‬ ‫המחובר‬ ‫תמונה‬ ‫מדוגם‬ ‫מורכבת‬ ‫בסיסית‬ ‫תמונה‬ ‫עבוד‬ ‫מערכת‬‫מחשב‬‫התמונה‬ ‫את‬ ‫לאחסן‬ ‫המסוגל‬ ‫הדגימה‬ ‫את‬ ‫לנהל‬ ‫המסוגלת‬ ‫מתאימה‬ ‫תוכנה‬ ‫באמצעות‬ ‫אותו‬ ‫לעבד‬ ‫כך‬ ‫ואחר‬ ‫השונים‬.‫ממדית‬ ‫דו‬ ‫מטריצה‬ ‫בצורת‬ ‫בזיכרון‬ ‫תופיע‬ ‫הנדגמת‬ ‫התמונה‬ ‫פיקסל‬.‫אינפורמצ‬ ‫מכיל‬ ‫פיקסל‬ ‫כל‬‫ה‬ ‫שהפיקסל‬ ‫האור‬ ‫רמת‬ ‫על‬ ‫יה‬ ‫המצלמה‬ ‫חיישן‬ ‫על‬ ‫הפיקסלים‬ ‫צפיפות‬ ‫ידי‬ ‫על‬ ‫נקבעת‬ ‫יה‬,‫ב‬ ‫פיקסל‬ ‫ומייצגים‬ ‫דוגמים‬ ‫ואם‬ ‫מ‬ ‫אחד‬ ‫מייצג‬ ‫פיקסל‬ ‫כל‬-256‫אפור‬ ‫רמות‬. ‫ב‬ ‫לרוב‬ ‫משתמשים‬ ‫צבעונית‬ ‫בתמונה‬ ‫טיפול‬ ‫של‬ ‫במקרה‬-RGBGreen-Blue) ‫ארוך‬ ‫חיישנים‬ ‫מערך‬ ‫ולפיכך‬ ‫מאוד‬ ‫גבוהה‬ ‫במרכיבי‬‫מכאניק‬‫ה‬‫במצלמ‬ ‫מדויקת‬ ‫נדר‬ ‫צבע‬ ‫תמונת‬ ‫לקלוט‬ ‫מנת‬ ‫על‬ ‫ל‬ ‫אופטי‬‫צב‬‫ע‬‫הרלוונטי‬ ‫לחדור‬ ‫אדום‬ ‫למעט‬ ‫צבע‬ ‫ה‬ ‫קבלת‬‫הגיאומטרי‬ ‫במובן‬ ‫ביניהן‬ ‫מוחלטת‬ ‫תאמה‬ ‫לתמונות‬ ‫הן‬ ‫אופיינית‬ ‫דיגיטלית‬ ‫מצלמה‬ ‫פועלת‬ ‫בה‬ ‫לדרך‬ ‫מתייחס‬ ‫לעיל‬ ‫האמור‬ ‫כל‬ ‫ברצף‬ ‫תמונות‬.(‫אור‬ ‫של‬ ‫לחישה‬ ‫מוגבלת‬ ‫אינה‬ ‫אלקטרונית‬ ‫מצלמה‬ ‫כי‬ ‫לציין‬ ‫חשוב‬ ‫תופעה‬ ‫כל‬‫פיזיקאלי‬ ‫דבר‬ ‫לכל‬ ‫דיגיטלית‬ ‫כתמונה‬ ‫החישה‬ ‫תוצאת‬ ‫עצמים‬ ‫של‬ ‫לחום‬ ‫הקשור‬ .26.2‫דיגיטלית‬ ‫תמונה‬ ‫עיבוד‬ ‫עקרון‬ ‫הקרויות‬ ‫זעירות‬ ‫מנקודות‬ ‫מורכב‬ ‫תמונה‬ ‫קובץ‬ ‫כל‬ ‫יותר‬ ‫גבוהה‬ ‫התמונה‬ ‫של‬ ‫הרזולוציה‬ ‫צבעים‬,‫יותר‬ ‫גדול‬ ‫הצבע‬ ‫עומק‬ ‫כך‬ ‫בקובץ‬Bitmap)‫סיביות‬ ‫מפת‬ ‫תמונת‬ ‫א‬‫לגוריתם‬‫מי‬‫כ‬ ‫דחוסים‬ ‫בקבצים‬ ‫ונשמרים‬ ‫וחד‬ ‫ה‬‫תוכנה‬‫מיוחד‬ ‫עיבוד‬ ‫בתהליך‬ ‫משתמשת‬ ‫ל‬ ‫המחובר‬ ‫תמונה‬ ‫מדוגם‬ ‫מורכבת‬ ‫בסיסית‬ ‫תמונה‬ ‫עבוד‬ ‫מערכת‬ ‫הדגימה‬ ‫את‬ ‫לנהל‬ ‫המסוגלת‬ ‫מתאימה‬ ‫תוכנה‬ ‫באמצעות‬ ‫אותו‬ ‫לעבד‬ ‫כך‬ ‫ואחר‬ ‫את‬‫האלגוריתמים‬‫השונים‬ ‫הוא‬ ‫במטריצה‬‫פיקסל‬ ‫הרזולוצ‬‫המצלמה‬ ‫חיישן‬ ‫על‬ ‫הפיקסלים‬ ‫צפיפות‬ ‫ידי‬ ‫על‬ ‫נקבעת‬ ‫יה‬ ‫ש‬ ‫אומר‬ ‫זה‬‫מ‬ ‫אחד‬ ‫מייצג‬ ‫פיקסל‬ ‫כל‬ ‫ב‬ ‫לרוב‬ ‫משתמשים‬ ‫צבעונית‬ ‫בתמונה‬ ‫טיפול‬ ‫של‬ ‫במקרה‬
  • 17.
    - 17 - ‫איור‬7–‫ב‬‫תמונות‬ ‫סוגי‬ ‫ייצוג‬-Matlab
  • 18.
    - 18 - 2.7RGB ‫אדום‬‫ירוק‬‫כחול‬‫או‬‫בשמם‬‫הלועזי‬GREENRED‫ו‬-BLUE)‫ובקיצור‬‫אותם‬RGB‫מפורסמים‬(‫הם‬‫צבעי‬‫יסוד‬ ‫היוצרים‬‫את‬‫התמונות‬‫שעל‬‫מסכי‬‫המחשב‬‫והטלוויזיה‬.‫בין‬‫אם‬‫מדובר‬‫במסכים‬‫מיושנים‬‫וכבדים‬‫או‬‫במסכים‬ LCD‫ופלזמה‬‫שטוחים‬,‫ואפילו‬‫במקרני‬‫ווידאו‬.‫חיבור‬‫עצמות‬‫מתאימות‬‫של‬‫קרני‬‫אור‬‫בצבעים‬‫אלו‬‫מאפשר‬‫לנו‬ ‫לקבל‬‫כמעט‬‫כל‬‫גוון‬‫צבע‬‫שנרצה‬. ‫בין‬ ‫השלמים‬ ‫המספרים‬ ‫השמת‬ ‫ידי‬ ‫על‬ ‫נעשית‬ ‫השונים‬ ‫הצבע‬ ‫מרכיבי‬ ‫של‬ ‫העוצמות‬ ‫קביעת‬0‫ל‬255‫מן‬ ‫אחד‬ ‫לכל‬ ‫המשתנים‬G , R‫ו‬B -,‫כאשר‬0‫הפיקסל‬ ‫את‬ ‫בכלל‬ ‫להאיר‬ ‫לא‬ ‫פירושו‬,‫ו‬-255‫העוצמה‬ ‫במלוא‬ ‫הארה‬ ‫מסמל‬. )‫מסמנים‬ ‫לעתים‬‫ב‬ ‫חלוקה‬ ‫ידי‬ ‫על‬ ‫יחסית‬ ‫עוצמה‬-255,‫בין‬ ‫הם‬ ‫הערכים‬ ‫ואז‬0‫ל‬-1.(‫לתרגם‬ ‫נהוג‬ ‫הנוחות‬ ‫לשם‬ ‫ל‬ ‫אילו‬ ‫מספרים‬ ‫את‬‫הקסדצימלי‬ ‫בסיס‬)‫בסיס‬16(‫ב‬ ‫רק‬ ‫צורך‬ ‫יש‬ ‫בו‬-2‫הנ‬ ‫בטווח‬ ‫מספרים‬ ‫לייצג‬ ‫כדי‬ ‫תווים‬"‫ל‬. ‫היסוד‬ ‫צבעי‬ ‫משלושת‬ ‫אחד‬ ‫לכל‬ ‫מקצים‬ ‫זה‬ ‫באופן‬(RGB)‫תווים‬ ‫שני‬‫לימין‬ ‫משמאל‬.‫נע‬ ‫הטווח‬ ‫צבע‬ ‫בכל‬‫בין‬ 00-FF)0-255‫דצימלי‬ ‫בבסיס‬(‫הצבע‬ ‫אותו‬ ‫של‬ ‫רוויה‬ ‫שמבטאים‬.‫ליצור‬ ‫ניתן‬ ‫מרכיב‬ ‫שבכל‬ ‫מכיוון‬256‫גוונים‬ ‫שוני‬‫ם‬,‫הוא‬ ‫זה‬ ‫באופן‬ ‫לייצג‬ ‫שניתן‬ ‫השונים‬ ‫הצבעים‬ ‫מספר‬256‫שהם‬ ‫שלוש‬ ‫בחזקת‬16,777,216‫שונים‬ ‫צבעים‬. ‫מסוים‬ ‫צבע‬ ‫של‬ ‫מרכיביו‬ ‫עוצמת‬ ‫לקביעת‬ ‫מקובלת‬ ‫דרך‬,‫שלשה‬ ‫באמצעות‬ ‫היא‬‫הקסדצימלית‬.‫שלשה‬ ‫כל‬ ‫בתים‬ ‫שלושה‬ ‫בן‬ ‫הקסדצימלי‬ ‫מספר‬ ‫המייצגות‬ ‫ספרות‬ ‫משש‬ ‫בנויה‬ ‫הקסדצימלית‬,‫הצבעי‬ ‫את‬ ‫המייצגים‬‫אדום‬ ‫ם‬, ‫הסופי‬ ‫הצבע‬ ‫את‬ ‫מרכיבים‬ ‫אשר‬ ‫וכחול‬ ‫ירוק‬: ‫מס‬ ‫בית‬'1-‫אדום‬ ‫צבע‬. ‫מס‬ ‫בית‬'2-‫ירוק‬ ‫צבע‬. ‫מס‬ ‫בית‬'3-‫כחול‬ ‫צבע‬. ‫בטווח‬ ‫מספר‬ ‫מייצג‬ ‫הללו‬ ‫הבתים‬ ‫משלושת‬ ‫אחד‬ ‫כל‬‫הנע‬‫בין‬00-FF)‫הקס‬ ‫ייצוג‬‫דצימלי‬(,‫לסולם‬ ‫המקביל‬‫בין‬ ‫הנע‬ 0-255‫ו‬ ‫עשרוני‬ ‫בייצוג‬‫צבע‬ ‫לכל‬ ‫עוצמה‬ ‫רמת‬ ‫מגדיר‬.‫בס‬‫ה‬"‫כ‬‫של‬ ‫צבע‬ ‫עומק‬ ‫מתקבל‬24‫סיביות‬(Truecolor)‫ומס‬' ‫המיוצ‬ ‫הצבעים‬‫על‬ ‫עומד‬ ‫זו‬ ‫בשיטה‬ ‫גים‬16,777,216=224 =2563 .‫ל‬‫דוגמה‬,‫מהערכים‬ ‫המורכב‬ ‫צבע‬ ‫העשרוניים‬36,104,160)‫אדום‬,‫בהת‬ ‫וכחול‬ ‫ירוק‬‫אמה‬(,‫ההקסדצימלי‬ ‫הערכים‬ ‫את‬ ‫מקבל‬‫ם‬24,68‫ו‬-A0 ‫בהתאמה‬,‫השלשה‬ ‫ידי‬ ‫על‬ ‫ומיוצג‬2468A0. ‫מכנים‬ ‫לעתים‬ ‫המקוצרת‬ ‫הכתיבה‬ ‫את‬RRGGBB‫מ‬ ‫השמאליות‬ ‫הספרות‬ ‫שתי‬ ‫שכן‬‫י‬‫האדום‬ ‫כמות‬ ‫את‬ ‫יצגות‬,‫שתי‬ ‫הכחול‬ ‫את‬ ‫והימניות‬ ‫הירוק‬ ‫כמות‬ ‫את‬ ‫האמצעיות‬.‫תקן‬HTML 4.01‫שישה‬ ‫מגדיר‬‫פי‬ ‫על‬ ‫צבעים‬ ‫שמות‬ ‫עשר‬ ‫בטבלה‬ ‫המפורט‬‫הבא‬ ‫בעמוד‬:
  • 19.
    - 19 - 2.8PROMEE EEPROM)ElectricallyErasable Programmable Read-Only Memory(‫הינו‬‫זיכרון‬‫ל‬‫קריאה‬‫בלבד‬‫אשר‬ ‫ל‬ ‫ניתן‬‫מחיקה‬‫ו‬‫לתכנות‬.‫סוג‬‫הז‬‫י‬‫הוא‬ ‫כרון‬"‫בלתי‬‫נדיף‬"‫ו‬‫משמש‬‫במחשבים‬‫ומכשירים‬‫אלקטרוניים‬‫אחרים‬‫ב‬‫כדי‬ ‫לאחסן‬‫כמויות‬‫קטנות‬‫יחסית‬‫של‬‫נתונים‬‫ובנוסף‬,‫מאפשר‬‫מחיקה‬‫ותכנות‬‫מחדש‬‫של‬"‫בתים‬"‫ייעודיים‬. EEPROM‫בנוי‬‫כמע‬‫רך‬‫של‬‫טרנזיסטורים‬‫בעלי‬‫שער‬‫צף‬.‫ניתן‬‫ל‬‫ול‬ ‫מחוק‬‫תכנת‬EEPROM,‫על‬‫ידי‬‫מתן‬‫אותות‬ ‫מיוחדים‬.‫במקור‬,EEPROM‫הי‬‫ה‬‫מוגבל‬‫לפ‬‫על‬ ‫עולות‬"‫בית‬"‫אחד‬,‫מה‬‫שגר‬‫ם‬‫ל‬‫להיות‬ ‫ו‬‫איטי‬‫יותר‬,‫אבל‬ EEPROM‫מודרני‬‫מאפשר‬‫פעולות‬"‫בתים‬ ‫מרובות‬".‫כמו‬‫כן‬,‫חיים‬ ‫אורך‬ ‫מגבלת‬ ‫קיימת‬‫למחיקה‬‫ותכנות‬‫מחדש‬, ‫של‬ ‫גודל‬ ‫סדר‬ ‫על‬ ‫עומדת‬ ‫אשר‬‫מיליון‬‫פעולות‬‫עבור‬EEPROM‫מודרני‬.‫כן‬ ‫אם‬,‫ה‬ ‫חיי‬ ‫אורך‬-EEPROM‫אשר‬ ‫בשימוש‬ ‫נמצא‬ ‫המחשב‬ ‫כאשר‬ ‫קרובות‬ ‫לעיתים‬ ‫מתוכנת‬,‫הינו‬‫שיקול‬‫חשוב‬‫ב‬‫כולה‬ ‫המערכת‬ ‫ותכנון‬ ‫בנייה‬. ‫שלא‬‫כמו‬‫רוב‬‫ה‬‫סוגים‬‫של‬‫זיכרון‬‫בלתי‬‫נדיף‬,EEPROM‫מאפשר‬‫בדרך‬‫כלל‬‫ל‬-"‫בתים‬"‫לקרוא‬,‫להימחק‬, ‫ולהי‬‫כתב‬‫מחדש‬‫באופן‬‫אינדיבידואלי‬.EPROM‫נמחק‬‫על‬‫ידי‬‫חשיפת‬‫ה‬‫שבב‬‫לאור‬‫אולטרה‬‫סגול‬‫את‬ ‫מוחק‬ ‫אשר‬ ‫כל‬‫התוכן‬‫של‬‫ו‬.‫זיכרון‬FLASH‫זאת‬ ‫לעומת‬,‫ומחיקה‬ ‫לתכנות‬ ‫ניתן‬‫רק‬‫ב‬‫קבוצות‬‫של‬"‫בתים‬",‫הנעות‬‫בין‬‫עשרות‬, ‫לעשרות‬‫אלפי‬"‫בתים‬"‫עבור‬‫מכשירים‬‫שונים‬. ‫איור‬8–‫ייצוג‬‫הקסדצימלי‬‫ל‬-16‫בתקן‬ ‫צבעים‬HTML 4.01 ‫איור‬9–‫מסוג‬ ‫זיכרון‬EEPROM
  • 20.
    ‫הקליטה‬ ‫בעת‬ ‫ופענוח‬‫לשידור‬ ‫מידע‬ ‫לקידוד‬ ‫האחראי‬.‫או‬ ‫הנקלט‬ ‫מידע‬ ‫וסיבית‬ ‫החבילה‬ ‫בתחילת‬‫סוף‬)logic high(.‫חבילת‬ ,‫הזוגיות‬ ‫ביט‬ ‫את‬ ‫להוסיף‬ ‫ניתן‬. ‫ה‬ ‫בציור‬ ‫לראות‬ ‫ניתן‬ ‫כזו‬ ‫מידע‬ ‫חבילת‬ ‫ל‬‫בא‬: ‫עצירה‬ ‫סיביות‬. ‫שמשדר‬ ‫המשדר‬ ‫של‬ ‫התקשורת‬ ‫הקצב‬ ‫את‬ ‫לגלות‬ ‫בשי‬ ‫שגיאות‬ ‫לגילוי‬ ‫הזוגיות‬ ‫סיבית‬‫דור‬.‫אחת‬ ‫זוגי‬ ‫נו‬. ‫ויוודא‬ ‫הזוגיות‬ ‫סיבית‬ ‫את‬ ‫יבדוק‬‫הזוגיות‬ ‫קביעת‬ ‫את‬ ‫תואם‬ ‫שזה‬ ‫תקנית‬ ‫חבילה‬ ‫מגודל‬ ‫בהרבה‬ ‫הגדול‬ ‫אפסים‬ ‫של‬ ‫רצף‬ ‫לשליחת‬ ‫יגרום‬ ‫זה‬.‫מאפשרת‬ ‫זו‬ ‫אופציה‬ UART - 20 - Universal Asynchronous Receiver Transmitter–UART ‫אסינכרוני‬ ‫סריאלי‬ ‫ממשק‬ ‫הינו‬,‫הקליטה‬ ‫בעת‬ ‫ופענוח‬ ‫לשידור‬ ‫מידע‬ ‫לקידוד‬ ‫האחראי‬ UART‫התחלה‬ ‫סיבית‬ ‫דורש‬)logic low(‫וסיבית‬ ‫החבילה‬ ‫בתחילת‬ ‫ה‬ ‫מביט‬ ‫החל‬ ‫נשלחת‬ ‫מידע‬-LSB‫ה‬ ‫לביט‬ ‫עד‬-MSB.‫שגיאות‬ ‫גילוי‬ ‫למטרות‬, ‫מידע‬ ‫זרימת‬ ‫מתחילה‬ ‫אשר‬ ‫עד‬ ‫גבוה‬ ‫תמיד‬ ‫הקו‬ ‫על‬ ‫האות‬.‫ש‬ ‫דוגמא‬‫ה‬ ‫בציור‬ ‫לראות‬ ‫ניתן‬ ‫כזו‬ ‫מידע‬ ‫חבילת‬ ‫ל‬ ‫פונקציונאליו‬‫ת‬ UART‫הבאות‬ ‫היכולות‬ ‫את‬: ‫משתנה‬ ‫מידע‬ ‫גודל‬-‫בעל‬ ‫להיות‬ ‫יכול‬ ‫הנשלח‬ ‫התוו‬5,6,7‫או‬8‫סיביות‬. ‫עצירה‬ ‫סיביות‬ ‫של‬ ‫משתנה‬ ‫מספר‬-‫יכולות‬‫להיות‬1,1.5‫או‬2‫עצירה‬ ‫סיביות‬ )Baud rate(‫ע‬ ‫לוויסות‬ ‫הניתן‬"‫תכנות‬ ‫י‬. ‫קצב‬ ‫של‬ ‫אוטומטי‬ ‫גילוי‬‫ה‬‫ת‬‫קשורת‬-‫ל‬ ‫מאפשר‬ ‫זה‬-UART‫שמשדר‬ ‫המשדר‬ ‫של‬ ‫התקשורת‬ ‫הקצב‬ ‫את‬ ‫לגלות‬ ‫לשלוח‬ ‫אפשרות‬ ‫ישנה‬ ‫תו‬ ‫משדרים‬ ‫כאשר‬‫את‬‫בשי‬ ‫שגיאות‬ ‫לגילוי‬ ‫הזוגיות‬ ‫סיבית‬ ‫היא‬ ‫האפשרויות‬Even parity‫ה‬ ‫בחבילה‬ ‫האחדים‬ ‫מספר‬ ‫כלומר‬‫י‬‫זוגי‬ ‫נו‬ ‫תו‬ ‫מתקבל‬ ‫כאשר‬,‫ה‬-UART‫ויוודא‬ ‫הזוגיות‬ ‫סיבית‬ ‫את‬ ‫יבדוק‬ P(‫התקשורת‬ ‫של‬. ‫תקנית‬ ‫חבילה‬ ‫מגודל‬ ‫בהרבה‬ ‫הגדול‬ ‫אפסים‬ ‫של‬ ‫רצף‬ ‫לשליחת‬ ‫יגרום‬ ‫זה‬ ‫התקשורת‬ ‫קצב‬ ‫שינוי‬ ‫כגון‬ ‫מיוחדים‬ ‫מאורעות‬ ‫של‬ ‫אינדיקציה‬ ‫איור‬10–‫הנשלחת‬ ‫מידע‬ ‫חבילת‬/‫ע‬ ‫נקלטת‬"‫י‬UART 2.9Universal Asynchronous Receiver Transmitter .19.2‫מבוא‬ UART‫אסינכרוני‬ ‫סריאלי‬ ‫ממשק‬ ‫הינו‬ ‫ע‬ ‫משודר‬"‫ה‬ ‫י‬-UART ‫ה‬ ‫מביט‬ ‫החל‬ ‫נשלחת‬ ‫מידע‬ ‫מידע‬ ‫זרימת‬ ‫מתחילה‬ ‫אשר‬ ‫עד‬ ‫גבוה‬ ‫תמיד‬ ‫הקו‬ ‫על‬ ‫האות‬ .29.2‫פונקציונאליו‬ ‫ל‬ ‫יש‬ ‫כללי‬ ‫באופן‬-UART ‫משתנה‬ ‫מידע‬ ‫גודל‬ ‫עצירה‬ ‫סיביות‬ ‫של‬ ‫משתנה‬ ‫מספר‬ ‫תקשורת‬ ‫קצב‬) ‫קצב‬ ‫של‬ ‫אוטומטי‬ ‫גילוי‬ ‫אליו‬ ‫זוגיות‬ ‫יצירת‬-‫לשלוח‬ ‫אפשרות‬ ‫ישנה‬ ‫תו‬ ‫משדרים‬ ‫כאשר‬ ‫היא‬ ‫האפשרויות‬ ‫זוגיות‬ ‫גילוי‬-‫תו‬ ‫מתקבל‬ ‫כאשר‬ )Parity setting Set Break-‫תקנית‬ ‫חבילה‬ ‫מגודל‬ ‫בהרבה‬ ‫הגדול‬ ‫אפסים‬ ‫של‬ ‫רצף‬ ‫לשליחת‬ ‫יגרום‬ ‫זה‬ ‫התקשורת‬ ‫קצב‬ ‫שינוי‬ ‫כגון‬ ‫מיוחדים‬ ‫מאורעות‬ ‫של‬ ‫אינדיקציה‬
  • 21.
    - 21 - BreakIndicator-‫ל‬UART-‫לגלות‬ ‫יכולת‬ ‫יש‬Break condition)‫אפסים‬ ‫של‬ ‫רצף‬(.‫לעדכון‬ ‫גורם‬ ‫זה‬ ‫אירוע‬ ‫רגיסטר‬‫סטאטו‬‫ס‬‫מראש‬ ‫שנקבע‬ ‫בערך‬. ‫שגויה‬ ‫מסגרת‬ ‫גילוי‬-‫תקינה‬ ‫לא‬ ‫עצירה‬ ‫סיבית‬ ‫התגלתה‬ ‫אם‬ ‫לאותת‬ ‫מאפשר‬. ‫דריסה‬ ‫גילוי‬-‫בכלל‬ ‫נקראה‬ ‫הקודמת‬ ‫שהמילה‬ ‫לפני‬ ‫התקבלה‬ ‫מסוימת‬ ‫מילה‬ ‫אם‬ ‫שגיאה‬ ‫על‬ ‫מאותת‬ ‫מהחוצץ‬.‫הסט‬ ‫לרגיסטר‬ ‫שגיאה‬ ‫מחזיר‬‫א‬‫טוס‬. ‫ש‬ ‫כאשר‬‫נ‬‫י‬UARTs‫צריכים‬‫לתקשר‬,‫ה‬‫ם‬‫את‬ ‫יודעים‬‫קצב‬‫האיתות‬‫בינ‬ ‫המוסכם‬‫י‬‫אך‬ ‫הם‬‫מתי‬ ‫יודע‬ ‫אינו‬ ‫המקלט‬ ‫תישלח‬ ‫חבילה‬)‫מקלט‬ ‫שעון‬ ‫אין‬(.‫לכן‬,‫שמכונה‬ ‫בפרוטוקול‬"‫אסינכרוני‬"‫דגימת‬ ‫קצב‬ ‫קביעת‬‫יותר‬ ‫הוא‬ ‫המקלט‬ ‫המשדר‬ ‫של‬ ‫מזה‬ ‫מורכב‬.‫פשוט‬ ‫משדר‬‫משדר‬‫מוגדר‬ ‫סיביות‬ ‫בקצב‬ ‫נתונים‬ ‫של‬ ‫מסגרת‬‫ומוסכם‬.‫עבור‬ ‫אך‬‫המקלט‬ ‫ל‬ ‫יש‬‫זהות‬‫שידור‬ ‫תחילת‬ ‫את‬‫את‬ ‫לסנכרן‬ ‫כדי‬ ‫המסגרת‬‫הדגימ‬‫ה‬,‫ו‬‫כך‬‫נקודת‬ ‫את‬ ‫לקבוע‬‫ביותר‬ ‫הטובה‬ ‫הדגימה‬ ‫עבור‬‫המקלט‬. ‫איור‬11‫לסנכר‬ ‫נפוצה‬ ‫שיטה‬ ‫מציג‬‫ו‬‫ן‬‫בהתאם‬ ‫במקלט‬ ‫הדגימה‬ ‫קצב‬‫שהתקבל‬ ‫למסגרת‬‫ה‬.‫ה‬-UART‫מ‬‫קבל‬ ‫קצב‬ ‫למעשה‬‫פי‬ ‫שהוא‬ ‫שעון‬16‫מ‬‫קצב‬‫שידור‬‫הנתונים‬.‫זיהוי‬‫ממצב‬ ‫משתנה‬ ‫האות‬ ‫כאשר‬ ‫מתרחש‬ ‫חדשה‬ ‫מסגרת‬ ‫לנמוך‬ ‫גבוה‬‫ו‬‫לאחר‬8‫שעון‬ ‫מחזורי‬,‫מכאן‬‫כל‬ ‫של‬ ‫האמצע‬ ‫נקודת‬‫תופיע‬ ‫ביט‬‫כל‬16‫מכן‬ ‫לאחר‬ ‫שעון‬ ‫מחזורי‬. ‫ל‬ ‫הוא‬ ‫נוסף‬ ‫שיפור‬‫דגום‬‫רק‬‫פעמים‬ ‫שלוש‬)7,8,‫ו‬-9,‫מתוך‬16(‫במקום‬‫שמונה‬‫דגימ‬‫ות‬)8‫מתוך‬16.( ‫ה‬ ‫של‬ ‫הבסיסית‬ ‫הקונפיגורציה‬-serial port‫ה‬ ‫של‬-PC‫כדלקמן‬ ‫היא‬: Baud rate : 9600 bits/sec Data bits : 8 bits Parity : Even Stop Bits : 1 Flow control: Hardware ‫איור‬11–‫למקלט‬ ‫מהמשדר‬ ‫המגיע‬ ‫המידע‬ ‫שידור‬ ‫קצב‬ ‫סנכרון‬
  • 22.
    - 22 - 2.9.3UART‫ב‬-PC ‫פרוטוקול‬UART‫ב‬‫נתמך‬-PC‫ע‬"‫יציאה‬ ‫י‬‫טורית‬RS-232‫המתאימה‬ ‫הקונפיגורציה‬ ‫את‬ ‫שעשינו‬ ‫בהנחה‬ ‫לתקשורת‬.‫ביציאה‬ ‫הפינים‬ ‫פירוט‬‫ה‬‫טורית‬‫של‬‫ה‬-PC: D-Type-9 Pin No. Abbreviation Full Name Function Pin 3 TD Transmit Data Serial Data Output (TXD) Pin 2 RD Receive Data Serial Data Input (RXD) Pin 7 RTS Request To Send This line informs the Modem that the UART is ready to exchange data Pin 8 CTS Clear To Send This line indicates that the Modem is ready to exchange data Pin 6 DSR Data Set Ready This tells the UART that the modem is ready to establish a link. Pin 5 SG Signal Ground Pin 1 CD Carrier Detect When the modem detects a "Carrier" from the modem at the other end of the phone line, this Line becomes active. Pin 4 DTR Data Terminal Ready This is the opposite to DSR. This tells the Modem that the UART is ready to link. Pin 9 RI Ring Indicator Goes active when modem detects a ringing signal from the PSTN ‫טבלה‬12–‫ה‬ ‫של‬ ‫הטורית‬ ‫ביציאה‬ ‫הפינים‬ ‫פירוט‬-PC
  • 23.
    - 23 - 2.10Bluetooth Bluetooth)‫או‬‫כחולה‬‫שן‬(‫האישי‬ ‫במרחב‬ ‫רשת‬ ‫ליצירת‬ ‫אלחוטית‬ ‫תקשורת‬ ‫תקן‬ ‫הוא‬)PAN(,‫אבטחה‬ ‫ברמת‬ ‫ידי‬ ‫על‬ ‫גבוהה‬‫קצר‬ ‫גל‬ ‫באורכי‬ ‫רדיו‬ ‫בגלי‬ ‫שימוש‬‫ים‬.Bluetooth‫משמ‬‫ש‬‫קצרים‬ ‫למרחקים‬ ‫נתונים‬ ‫לתקשורת‬ ‫בקצבי‬‫ויכול‬ ‫נמוך‬ ‫חשמלי‬ ‫ובהספק‬ ‫קטנים‬ ‫ם‬‫עד‬ ‫לחבר‬8‫מכשירים‬.‫רשתות‬Bluetooth‫לרוב‬ ‫משמשות‬ ‫לשימושי‬‫אישיים‬ ‫ם‬,‫טלפון‬ ‫בין‬ ‫או‬ ‫היקפי‬ ‫לציוד‬ ‫מחשב‬ ‫בין‬ ‫קשר‬ ‫כמו‬‫סלולאר‬‫י‬‫לדיבורית‬.Bluetooth‫פועל‬ ‫התדרים‬ ‫בטווח‬2483.5-2400‫קצרי‬ ‫התדרים‬ ‫טווח‬ ‫שזה‬ ‫הרץ‬ ‫מגה‬-‫הטווח‬)ISM(‫מרישוי‬ ‫שחופשיים‬,‫המשמשים‬ ‫לתעשייה‬,‫ומחקר‬ ‫רפואה‬. Bluetooth‫שנקראת‬ ‫רדיו‬ ‫בטכנולוגיית‬ ‫משתמש‬FHSS,‫המוע‬ ‫המידע‬‫חבילה‬ ‫כל‬ ‫כאשר‬ ‫לחבילות‬ ‫מחולק‬ ‫בר‬ ‫מ‬ ‫באחד‬ ‫מועברת‬79‫ערוצי‬Bluetooth‫של‬ ‫פס‬ ‫רוחב‬ ‫חבילה‬ ‫ולכל‬ ‫שונים‬1‫הרץ‬ ‫מגה‬.‫בלוטות‬'4.0‫משתמש‬ ‫של‬ ‫פס‬ ‫ברוחב‬2‫שמאפשר‬ ‫הרץ‬ ‫מגה‬40‫ערוצים‬.‫בתדר‬ ‫מתחיל‬ ‫הראשון‬ ‫הערוץ‬2402‫לתדר‬ ‫עד‬ ‫וממשיך‬ ‫הרץ‬ ‫מגה‬ 2480‫של‬ ‫בקפיצות‬ ‫הרץ‬ ‫מגה‬1‫מבצ‬ ‫והוא‬ ‫הרץ‬ ‫מגה‬‫כלל‬ ‫בדרך‬ ‫ע‬1600‫כאשר‬ ‫לשנייה‬ ‫קפיצות‬AFH‫מופעל‬. ‫בלוטות‬'‫אדון‬ ‫של‬ ‫מבנה‬ ‫עם‬ ‫מנות‬ ‫מיתוג‬ ‫מבוסס‬ ‫פרוטוקול‬ ‫הינו‬-‫משרת‬)Master-Slave.(‫אדון‬ ‫כל‬ ‫פיקונט‬ ‫בכל‬ ‫עם‬ ‫לתקשר‬ ‫יכול‬7‫משרתים‬)‫זה‬ ‫במספר‬ ‫תומכים‬ ‫המכשירים‬ ‫כל‬ ‫שלא‬ ‫למרות‬(‫ה‬ ‫כל‬ ‫כאשר‬‫את‬ ‫חולקים‬ ‫משרתים‬ ‫האדון‬ ‫של‬ ‫השעון‬.‫של‬ ‫בטווחים‬ ‫שעובד‬ ‫האדון‬ ‫ידי‬ ‫על‬ ‫שנקבע‬ ‫הבסיסי‬ ‫השעון‬ ‫על‬ ‫מבוסס‬ ‫המנות‬ ‫חילוף‬312.5 ‫שנייה‬ ‫מיקרו‬.‫של‬ ‫אחד‬ ‫נתונים‬ ‫חריץ‬ ‫מהוות‬ ‫שעון‬ ‫פעימות‬ ‫שתי‬625‫שנייה‬ ‫מיקרו‬,‫זוג‬ ‫מהווים‬ ‫חריצים‬ ‫שני‬ ‫של‬ ‫חריצים‬1250‫שנייה‬ ‫מיקרו‬,‫בי‬ ‫וקולט‬ ‫בזוגות‬ ‫משדר‬ ‫האדון‬ ‫אחד‬ ‫בחריץ‬ ‫חבילות‬ ‫של‬ ‫הפשוט‬ ‫במקרה‬‫חידים‬, ‫בזוגות‬ ‫וקולט‬ ‫ביחידים‬ ‫משדר‬ ‫המשרת‬ ‫ובהתאם‬.‫של‬ ‫באורך‬ ‫להיות‬ ‫יכולות‬ ‫חבילות‬1,3‫או‬5‫בכל‬ ‫אבל‬ ‫חריצים‬ ‫זוגיים‬ ‫בחריצים‬ ‫השידור‬ ‫את‬ ‫להתחיל‬ ‫צריך‬ ‫האדון‬ ‫המקרים‬‫בבודדים‬ ‫לשדר‬ ‫צריך‬ ‫והמשרת‬.‫במהלך‬ ‫מכשירים‬ ‫שני‬ ‫ההתקשרות‬,‫הם‬‫בתיאום‬ ‫יכולים‬‫נה‬ ‫שהאדון‬ ‫כך‬ ‫ביניהם‬ ‫תפקידים‬ ‫להחליף‬‫והמשרת‬ ‫המשרת‬ ‫יה‬ ‫האדון‬ ‫נהיה‬. RN42‫בטכנולוגיית‬ ‫שמשתמש‬ ‫להטמעה‬ ‫ופשוט‬ ‫נמוך‬ ‫הספק‬ ‫בעל‬ ‫קטן‬ ‫אלחוטית‬ ‫תקשורת‬ ‫רכיב‬ ‫הוא‬Bluetooth ‫מכשירים‬ ‫בין‬ ‫לקשר‬ ‫כדי‬.‫הוא‬‫עבודה‬ ‫היא‬ ‫שלו‬ ‫המחדל‬ ‫וברירת‬ ‫בטרייה‬ ‫מבוססי‬ ‫ביישומים‬ ‫לעבודה‬ ‫מתאים‬ ‫בקונפיגורצי‬‫י‬‫ת‬SPP)Serial Port Profile(.‫האנרגי‬ ‫צריכת‬‫היא‬ ‫במנוחה‬ ‫שלו‬ ‫ה‬250Micro Farad.‫יכול‬ ‫הרכיב‬ ‫עד‬ ‫של‬ ‫בקצב‬ ‫לעבוד‬3Mbps‫כ‬ ‫עד‬ ‫של‬ ‫ולטווח‬-20‫מטר‬.
  • 24.
    - 24 - 2.10.1rBlueSMiRFSilve–SparkFunBluetooth Modem ‫ה‬-"BlueSMiRFSilver"‫מתוצרת‬"SparkFun"‫בטכנולוגית‬ ‫בכבלים‬ ‫שימוש‬ ‫להחליף‬ ‫שנועד‬ ‫תקשורת‬ ‫רכיב‬ ‫הוא‬ Bluetooth.‫ה‬ ‫מודול‬ ‫מותקן‬ ‫ברכיב‬-Bluetooth‫קודם‬ ‫סקרנו‬ ‫אותו‬-42RN.‫והוא‬ ‫מובנית‬ ‫אנטנה‬ ‫עם‬ ‫מגיע‬ ‫הוא‬ ‫בין‬ ‫של‬ ‫בקצבים‬ ‫לשדר‬ ‫יכול‬2400‫עד‬115200‫לשנייה‬ ‫ביטים‬.‫ממתח‬ ‫לו‬ ‫לספק‬ ‫נדרש‬ ‫הרכיב‬ ‫את‬ ‫להפעיל‬ ‫מנת‬ ‫על‬ ‫בין‬ ‫חיצוני‬3.3‫ל‬-6‫מחשב‬ ‫מול‬ ‫ראשונית‬ ‫קונפיגורציה‬ ‫ונדרשת‬ ‫וולט‬. ‫איור‬13–RN42/RN42N to MCU interface ‫איור‬15–‫ה‬ ‫רכיב‬ ‫תרשים‬-Bluetooth RN41 ‫איור‬14–BluteSMiRFSilver Bluetooth modem
  • 25.
    - 25 - 11.2‫מנוע‬Servo-DC ‫למנועי‬Servo‫פיר‬‫יש‬ ‫ישר‬ ‫זרם‬ ‫מסוג‬‫הקולט‬‫למנוע‬ ‫מידע‬ ‫מוסר‬,‫מקודד‬ ‫מידע‬ ‫שליחת‬ ‫בעזרת‬ ‫ימוקם‬ ‫הפיר‬ ‫למנוע‬.‫במנוע‬ ‫הנקלט‬ ‫המידע‬ ‫כאשר‬,‫משתנה‬ ‫הפיר‬ ‫של‬ ‫הזוויתי‬ ‫המיקום‬ ‫גם‬.‫ישר‬ ‫זרם‬ ‫מנועי‬ ‫סוגי‬Servo‫הם‬ ‫שונים‬ ‫מסוגים‬ ‫גיר‬ ‫מנועי‬ ‫או‬ ‫מברשות‬ ‫חסרי‬ ‫כלל‬ ‫בדרך‬.‫לגודלם‬ ‫יחסית‬ ‫מאוד‬ ‫וחזקים‬ ‫קטנים‬ ‫הם‬ ‫אלו‬ ‫מנועים‬. ‫ברובוטיק‬‫ה‬‫ועם‬ ‫הילוכים‬ ‫תיבת‬ ‫עם‬ ‫ישר‬ ‫זרם‬ ‫מנוע‬ ‫כשילוב‬ ‫אלה‬ ‫במנועים‬ ‫משתמשים‬ ‫מכאנטרוניקה‬ EncoderPotentiometer‫בקרה‬ ‫מעגל‬ ‫לסגירת‬)‫סגור‬ ‫בחוג‬ ‫בקרה‬(. ‫מנוע‬ ‫כשבוחרים‬Servo‫לב‬ ‫לשים‬ ‫חשוב‬ ‫ישר‬ ‫זרם‬‫הכולל‬ ‫המנוע‬ ‫של‬ ‫הביצועים‬ ‫למפרט‬: ‫הפיר‬ ‫מהירות‬-‫מועמ‬ ‫לא‬ ‫סיבובית‬ ‫מהירות‬‫החי‬ ‫הפיר‬ ‫של‬ ‫סת‬‫צוני‬. ‫סופי‬ ‫מתח‬-‫ישר‬ ‫זרם‬ ‫מנוע‬ ‫של‬ ‫מתח‬. ‫מתמשך‬ ‫זרם‬-‫ה‬ ‫לסלילי‬ ‫מסופק‬ ‫להיות‬ ‫שיכול‬ ‫המקסימאלי‬ ‫הזרם‬‫יתר‬ ‫לחימום‬ ‫להם‬ ‫לגרום‬ ‫בלי‬ ‫רוטור‬. ‫מתמשך‬ ‫מומנט‬-‫הא‬ ‫היציאה‬ ‫מומנט‬‫קבועים‬ ‫תנאים‬ ‫תחת‬ ‫המנוע‬ ‫של‬ ‫פשרי‬. ‫מתמשכת‬ ‫אנרגיה‬-‫ע‬ ‫המסופקת‬ ‫המכאנית‬ ‫האנרגיה‬"‫המנוע‬ ‫י‬. .111.2‫מנועי‬ ‫ומהירות‬ ‫בכיוון‬ ‫שליטה‬ ‫אמצעי‬DC)‫גשר‬H( ‫ישירות‬ ‫המנועים‬ ‫את‬ ‫להניע‬ ‫מסוגל‬ ‫איננו‬ ‫הבקר‬,‫זרם‬ ‫מספיק‬ ‫מספק‬ ‫לא‬ ‫שהוא‬ ‫כיוון‬.‫כך‬ ‫על‬ ‫להתגבר‬ ‫כדי‬,‫הזרם‬ ‫ע‬ ‫למנועים‬ ‫מסופק‬"‫המנועים‬ ‫בקר‬ ‫י‬,‫זה‬ ‫לבקר‬ ‫והבקרה‬ ‫השליטה‬ ‫אותות‬ ‫את‬ ‫מעביר‬ ‫רק‬ ‫והמעבד‬.‫בקרים‬ ‫מנועי‬ ‫של‬ ‫אופייניים‬DC‫גשר‬ ‫הקרויה‬ ‫בסיסית‬ ‫בטופולוגיה‬ ‫משתמשים‬-H)H-Bridge(,‫למעשה‬ ‫שהיא‬4 ‫דמוית‬ ‫בצורה‬ ‫המחוברים‬ ‫מפסקים‬H‫למנוע‬.‫מפסקים‬ ‫ליישם‬ ‫ניתן‬‫ממסרים‬ ‫באמצעות‬ ‫אלו‬,‫טרנזיסטור‬)‫ראה‬ ‫איור‬16(MOSFET)Metal-Oxide semiconductor field effect transistors(,‫משולב‬ ‫מעגל‬ ‫או‬)‫שבב‬(‫לבקרת‬ ‫מנוע‬‫ים‬. ‫איור‬16–‫מנועי‬ ‫בקרת‬ ‫מעגל‬DC‫בארכיטקטורת‬H-Brige
  • 26.
    - 26 - .211.2‫של‬‫חשמלית‬ ‫סכמה‬Bridge-H ‫באיור‬ ‫המעגל‬16‫מתאר‬‫מנועים‬ ‫בקרת‬ ‫מעגל‬ ‫של‬ ‫פשוטה‬ ‫ארכיטקטורה‬.‫חלקים‬ ‫משני‬ ‫למעשה‬ ‫מורכב‬ ‫המעגל‬: ‫צירופי‬ ‫לוגי‬ ‫חלק‬,‫ו‬-H-Bridge.‫והקטעון‬ ‫הרוויה‬ ‫תחומי‬ ‫הם‬ ‫זה‬ ‫במעגל‬ ‫הטרנזיסטורים‬ ‫של‬ ‫העבודה‬ ‫תחומי‬,‫כך‬ ‫כמתגים‬ ‫משמשים‬ ‫שהם‬. ‫ב‬ ‫הטרנזיסטורים‬-H-Bridge‫המנוע‬ ‫על‬ ‫המתח‬ ‫את‬ ‫שיפעיל‬ ‫כזה‬ ‫באופן‬ ‫שלהם‬ ‫העבודה‬ ‫תחומי‬ ‫את‬ ‫משנים‬ ‫מסוימת‬ ‫בקוטביות‬,‫אחד‬ ‫בכיוון‬ ‫להסתובב‬ ‫למנוע‬ ‫שתגרום‬,‫ההפוכה‬ ‫בקוטביות‬ ‫או‬,‫המ‬ ‫את‬ ‫שתסובב‬‫בכיוון‬ ‫נוע‬ ‫ההפוך‬.‫לדוגמה‬,‫הטרנזיסטורים‬ ‫כאשר‬S1‫ו‬-S4‫הרוויה‬ ‫בתחום‬ ‫מצויים‬ ‫באיור‬,)‫סגורים‬ ‫כמתגים‬ ‫משמשים‬( ‫הטרנזיסטורים‬ ‫ואילו‬S2‫ו‬-S3‫הקטעון‬ ‫בתחום‬ ‫מצויים‬)‫פתוחים‬ ‫כמתגים‬ ‫משמשים‬(,‫במנוע‬ ‫יעבור‬ ‫הזרם‬ ‫לימין‬ ‫משמאל‬.‫הטרנזיסטורים‬ ‫כאשר‬S1‫ו‬-S4‫הקטעון‬ ‫בתחום‬ ‫באיור‬,‫והטרנזיסטורים‬S2‫ו‬-S3‫בתחום‬ ‫הרוויה‬,‫לשמאל‬ ‫מימין‬ ‫במנוע‬ ‫יעבור‬ ‫הזרם‬.‫הקטעון‬ ‫בתחום‬ ‫הטרנזיסטורים‬ ‫כל‬ ‫אם‬,‫בחופשיו‬ ‫יסתובב‬ ‫המנוע‬‫ת‬. ‫הרוויה‬ ‫בתחום‬ ‫כולם‬ ‫וכאשר‬)‫הזרם‬‫המעגל‬ ‫חלקי‬ ‫בכל‬ ‫בחופשיות‬ ‫עובר‬(,‫יבלום‬ ‫המנוע‬.‫הטרנזיסטורים‬S1,S3 ‫מסוג‬ ‫הם‬NPN,‫הטרנזיסטורים‬ ‫ואילו‬S4 ,S2‫מסוג‬ ‫הם‬PNP. ‫קלט‬ ‫קווי‬ ‫שני‬ ‫נכנסים‬ ‫הלוגי‬ ‫למעגל‬:‫האפשור‬ ‫קו‬,‫הכיוון‬ ‫וקו‬.‫המעגל‬,‫מ‬ ‫המורכב‬-4‫שערי‬AND‫ושער‬NOT ‫אחד‬,‫א‬ ‫מספק‬‫פונקצית‬ ‫ת‬‫ב‬ ‫מהטרנזיסטורים‬ ‫אחד‬ ‫לכל‬ ‫הבסיס‬-H-Bridge,‫לטבלה‬ ‫בהתאם‬ ‫שיפעלו‬ ‫כך‬ ‫שלמטה‬.‫לוגי‬ ‫במצב‬ ‫האפשור‬ ‫קו‬ ‫כאשר‬'0,'‫ה‬ ‫שערי‬ ‫כל‬ ‫של‬ ‫הפלט‬-AND‫יהיה‬'0,'‫ב‬ ‫זרם‬ ‫יעבור‬ ‫ולא‬-H-Bridge. ‫לוגי‬ ‫במצב‬ ‫האפשור‬ ‫קו‬ ‫כאשר‬'1,'‫הכיוון‬ ‫בקו‬ ‫המצוי‬ ‫בערך‬ ‫תלויים‬ ‫הרוויה‬ ‫בתחום‬ ‫שימצאו‬ ‫הטרנזיסטורים‬ ‫זוג‬. .311.2‫סיכום‬‫הסיבוב‬ ‫כיוון‬ ‫לקביעת‬ ‫המנוע‬ ‫בקרת‬ ‫קווי‬ ‫פעולת‬ ‫אופן‬ ‫של‬ ‫לוגי‬ ‫מצב‬ ‫האפשור‬ ‫קו‬ ‫של‬ ‫לוגי‬ ‫מצב‬ ‫הכיוון‬ ‫קו‬ ‫המנוע‬ ‫פעולת‬ 11‫אחד‬ ‫לכיוון‬ ‫סיבוב‬. 10‫שני‬ ‫לכיוון‬ ‫סיבוב‬. 0X‫המנוע‬ ‫עצירת‬ ‫טבלה‬17–‫הסיבוב‬ ‫כיוון‬ ‫לקביעת‬ ‫המנוע‬ ‫בקרת‬ ‫קווי‬ ‫פעולת‬ ‫אופן‬
  • 27.
    - 27 - 22.1‫מנוע‬S4303R-SM ‫מנוע‬‫הוא‬Servo‫ע‬ ‫המיוצר‬ ‫סטנדרטי‬ ‫בגודל‬"‫חברת‬ ‫י‬SpringRC,‫מנוע‬ ‫והוא‬Servo‫רציף‬.‫במתח‬‫וולט‬ ‫שישה‬ ‫של‬ ‫מ‬ ‫למהירות‬ ‫מגיע‬ ‫הוא‬‫של‬ ‫רבית‬54‫לדקה‬ ‫סיבובים‬)RPM(‫של‬ ‫ומומנט‬5.1‫ק‬"‫לס‬ ‫ג‬"‫מ‬.‫פוטנציומטר‬ ‫קיים‬ ‫במנוע‬ ‫המנוחה‬ ‫נקודת‬ ‫את‬ ‫לשנות‬ ‫ניתן‬ ‫עמו‬,‫היא‬ ‫המחדל‬ ‫ברירת‬1.5‫של‬ ‫מחזור‬ ‫מתוך‬ ‫שנייה‬ ‫מילי‬20‫מילישניות‬. ‫אות‬ ‫רוחב‬ ‫עבור‬‫ה‬‫מ‬ ‫גדול‬-1.5,‫ל‬ ‫מתחת‬ ‫אות‬ ‫רוחב‬ ‫ועבוד‬ ‫השעון‬ ‫כיוון‬ ‫נגד‬ ‫יסתובב‬ ‫המנוע‬-1.5,‫הוא‬‫יסתובב‬‫עם‬ ‫השעון‬ ‫כיוון‬.‫ב‬ ‫לשלוט‬ ‫ניתן‬-Servo‫חיצוני‬ ‫ממקור‬ ‫מתח‬ ‫לו‬ ‫וניתן‬ ‫במידה‬ ‫כלשהו‬ ‫מבקר‬ ‫בודד‬ ‫בקרה‬ ‫קו‬ ‫עם‬. ‫איור‬18–‫מנוע‬ ‫של‬ ‫טכני‬ ‫מפרט‬Servo‫מסוג‬SM-S4303R
  • 28.
    - 28 - 2.13octalbuffer–MC74HC541A ‫חוצץ‬‫שמונה‬‫רגלי‬‫ם‬,‫למתח‬ ‫מצוי‬ ‫בטווח‬ ‫מתח‬ ‫כניסת‬ ‫ממיר‬Vcc‫מבוקש‬.‫למעשה‬ ‫הוא‬ ‫זה‬ ‫רכיב‬‫אוסף‬‫שמונה‬ ‫של‬ ‫רכיבי‬Tri-state‫אותות‬ ‫שמונה‬ ‫עד‬ ‫של‬ ‫מהפך‬ ‫לא‬ ‫מעבר‬ ‫המאפשרים‬ ‫משורשרים‬.‫לכניסות‬ ‫בנוסף‬A1-A8 ‫המתאימים‬ ‫המוצאים‬ ‫ולשמונת‬,‫כניסת‬ ‫לרכיב‬Vcc)‫מבוקש‬ ‫מתח‬(,‫ושני‬ ‫אדמה‬ ‫כניסת‬Enables.‫בהכנסת‬'L' (LOW)‫ה‬ ‫כניסות‬ ‫בשתי‬-Enables,‫מתח‬ ‫כמגבר‬ ‫עובד‬ ‫החוצץ‬,‫אחרת‬‫במוצא‬ ‫תתקבל‬‫גבוהה‬ ‫עכבה‬-'Z'. ‫איור‬19–Buffer function table ‫איור‬21–Buffer pin assignment ‫איור‬20–‫ברכיב‬ ‫החוצצים‬ ‫כלל‬ ‫על‬ ‫כולל‬ ‫מבט‬ ‫איור‬22–‫בודד‬ ‫חוצץ‬ ‫של‬ ‫הפנימי‬ ‫המבנה‬
  • 29.
    - 29 - 42.1‫פעימה‬‫רוחב‬ ‫אפנון‬–PWM ‫המנוע‬ ‫במהירות‬ ‫לשלוט‬ ‫מנת‬ ‫על‬,‫שונה‬ ‫בקצב‬ ‫ונסגרים‬ ‫נפתחים‬ ‫המפסקים‬‫בכדי‬‫למנוע‬ ‫שונה‬ ‫ממוצע‬ ‫מתח‬ ‫לספק‬. ‫קרויה‬ ‫זו‬ ‫טכניקה‬PWM)Pulse Width Modulation(‫שלמטה‬ ‫באיור‬ ‫ומודגמת‬,‫כאשר‬V‫המנוע‬ ‫על‬ ‫המתח‬ ‫הוא‬ ‫ו‬-t‫הזמן‬ ‫הוא‬.‫למשל‬,‫טרנזיסטורים‬ ‫כאשר‬S1‫ו‬-S4‫ל‬ ‫משמשים‬-PWM‫וטרנזיסטורים‬S2‫ו‬-S3‫נשארים‬ ‫הקטעון‬ ‫בתחום‬,‫כאשר‬ ‫הכניסה‬ ‫מתח‬ ‫כמו‬ ‫הקוטביות‬ ‫אותה‬ ‫ובעל‬ ‫זהה‬ ‫יהיה‬ ‫במנוע‬ ‫המתח‬S1‫ו‬-S4‫סגורים‬,‫ו‬- V0‫פתוחים‬ ‫הם‬ ‫כאשר‬.‫ריבועי‬ ‫גל‬ ‫האפשור‬ ‫לקו‬ ‫מוכנס‬ ‫זו‬ ‫בשיטה‬,‫בעל‬‫המחזור‬ ‫זמן‬tperiod,‫הגל‬ ‫בו‬ ‫הזמן‬ ‫כאשר‬ ‫ב‬ ‫נמצא‬‫לוגי‬ ‫מתח‬'1'‫הוא‬ton.‫מכך‬ ‫וכתוצאה‬,‫המנוע‬ ‫מהירות‬,‫ע‬ ‫לשליטה‬ ‫ניתנת‬"‫רוחב‬ ‫שינוי‬ ‫י‬-‫הפעימה‬)Duty Cycle‫או‬pulse-width ratio:( ‫ה‬ ‫גל‬ ‫הזנת‬-PWM‫מבוצעת‬‫ע‬"‫ע‬ ‫מראש‬ ‫המתוכנת‬ ‫בקר‬ ‫י‬"‫הנדרשים‬ ‫הצרכים‬ ‫פ‬: ‫הכניסה‬ ‫מתח‬ ‫פעימת‬ ‫רוחב‬ ‫אפנון‬‫שונים‬ ‫ממוצעים‬ ‫מתחים‬ ‫יוצר‬.‫באיור‬,‫המסופק‬ ‫הריבועי‬ ‫הגל‬ ‫הוא‬ ‫המלא‬ ‫הקו‬ ‫האפשור‬ ‫לקו‬,‫במנוע‬ ‫המתקבל‬ ‫הממוצע‬ ‫המתח‬ ‫את‬ ‫מייצג‬ ‫המקווקו‬ ‫והקו‬. ‫ב‬ ‫המתגים‬ ‫הפשטת‬-H-Bridg‫דרכים‬ ‫במספר‬ ‫ממומשת‬ ‫להיות‬ ‫יכולה‬.‫מנועים‬ ‫ולכבות‬ ‫להפעיל‬ ‫יכולים‬ ‫ממסרים‬, ‫כיוונם‬ ‫על‬ ‫לשלוט‬ ‫ואף‬,‫בה‬ ‫להשתמש‬ ‫אין‬ ‫אולם‬‫בשיטת‬ ‫המנוע‬ ‫מהירות‬ ‫על‬ ‫בקרה‬ ‫הדורשות‬ ‫במערכות‬ ‫ם‬PWM, ‫שלהם‬ ‫הגבוה‬ ‫והבלאי‬ ‫האיטית‬ ‫התגובה‬ ‫מהירותם‬ ‫בשל‬.‫מצב‬ ‫של‬ ‫מימושים‬‫מוצק‬)Solid state(,‫כמו‬ ‫דו‬ ‫טרנזיסטורים‬-‫קוטביים‬)Bipolar(‫ו‬-MOSFET‫במ‬ ‫יותר‬ ‫נפוצים‬‫ערכות‬‫כאלו‬. period on t t CycleDuty ‫איור‬23–‫לחישוב‬ ‫נוסחה‬Duty Cycle ‫איור‬24–
  • 30.
    - 30 - ‫פרק‬3–‫המערכת‬‫מבנה‬ “DroidCam” application (through Wi-Fi) Bluetooth UART ‫איור‬25–‫המערכת‬ ‫כלל‬ ‫של‬ ‫זרימה‬ ‫תרשים‬ Graphical user interface User input Smartphone camera Bluetooth modem FPGA Continues servo motor LEDS
  • 31.
    - 31 - 3.1GUI 3.1.1‫עיקרון‬‫בניית‬‫המשתמש‬‫ממשק‬ ‫ו‬ ‫היות‬‫המערכת‬‫מס‬ ‫מכילה‬'‫מרכיבי‬‫השני‬ ‫על‬ ‫אחד‬ ‫השפעה‬ ‫להם‬ ‫יש‬ ‫אשר‬ ‫ם‬,‫מומלץ‬‫מרכיביה‬ ‫כלל‬ ‫את‬ ‫לרכז‬ ‫המבוצעים‬ ‫הביניים‬ ‫תהליכי‬ ‫על‬ ‫ובקרה‬ ‫שליטה‬ ‫תא‬ ‫יהווה‬ ‫אשר‬ ‫מרכזי‬ ‫למקום‬‫בה‬.‫שימוש‬ ‫הוא‬ ‫ויעיל‬ ‫נוח‬ ‫פתרון‬ ‫משתמש‬ ‫בממשק‬(GUI)‫הפעולות‬ ‫ומתבצעות‬ ‫הקוד‬ ‫נכתב‬ ‫בה‬ ‫העבודה‬ ‫בסביבת‬‫המרכזיות‬. ‫המחשב‬,‫ה‬ ‫תוכנת‬ ‫באמצעות‬-Matlab,‫מהמשתמש‬ ‫קלט‬ ‫מקבל‬ ‫והוא‬ ‫היות‬ ‫המערכת‬ ‫של‬ ‫העצבים‬ ‫כמרכז‬ ‫משמש‬ ‫רובוט‬ ‫גבי‬ ‫על‬ ‫המותקנת‬ ‫סמארטפון‬ ‫וממצלמת‬,‫משדר‬ ‫דרך‬ ‫לרובוט‬ ‫פלט‬ ‫ושולח‬ ‫עיבוד‬ ‫מבצע‬Bluetooth‫להמשך‬ ‫משימות‬ ‫ביצוע‬.‫למשתמש‬ ‫ונוחה‬ ‫ידידותית‬ ‫בצורה‬ ‫התהליך‬ ‫את‬ ‫לנהל‬ ‫בכדי‬,‫נבנה‬‫באמצעות‬ ‫משתמש‬ ‫ממשק‬ ‫ה‬ ‫בתוכנת‬ ‫הקיימים‬ ‫ייעודיים‬ ‫כלים‬-Matlab.‫מס‬ ‫מכיל‬ ‫המשתמש‬ ‫ממשק‬'‫גרפי‬ ‫בעיצוב‬ ‫ורכיבים‬ ‫פקדים‬ ‫אישית‬ ‫מותאם‬,‫במערכת‬ ‫לשלוט‬ ‫למשתמש‬ ‫מאפשרים‬ ‫אשר‬‫ו‬ ‫פשוטה‬ ‫בצורה‬‫ידע‬ ‫ללא‬‫טכניים‬ ‫בפרטים‬ ‫או‬ ‫בקוד‬ ‫הממשק‬ ‫בניית‬ ‫מאחורי‬ ‫שעומדים‬. 3.1.2‫המשתמש‬ ‫ממשק‬ ‫פעולת‬ ‫אופן‬ GUIDE‫פונקצית‬ ‫ובו‬ ‫קוד‬ ‫קובץ‬ ‫יוצר‬Callback‫המשתמש‬ ‫בממשק‬ ‫רכיב‬ ‫לכל‬.‫הן‬ ‫האפליקציה‬ ‫את‬ ‫להפעיל‬ ‫ניתן‬ ‫הנבנה‬ ‫מהתרשים‬)‫קובץ‬FIG(‫שנוצר‬ ‫הקוד‬ ‫מקובץ‬ ‫והן‬.‫שם‬ ‫יש‬ ‫פקד‬ ‫לכל‬(tag name)‫ה‬ ‫בפונקצית‬ ‫מופיע‬ ‫אשר‬- Callback‫ו‬ ‫שלו‬‫לשינוי‬ ‫ניתן‬.‫המשתמש‬ ‫בממשק‬ ‫מסוים‬ ‫פקד‬ ‫הפעלת‬ ‫בעת‬,‫קר‬ ‫מתבצעת‬‫לפונקצית‬ ‫יאה‬Callback ‫המ‬‫ו‬ ‫אליו‬ ‫שויכת‬‫היררכית‬ ‫בצורה‬ ‫בה‬ ‫הכתובות‬ ‫פקודות‬ ‫של‬ ‫סט‬ ‫מכילה‬.‫מס‬ ‫פקד‬ ‫לכל‬'‫שמורים‬ ‫אשר‬ ‫מאפיינים‬ ‫הנקרא‬ ‫במבנה‬handles‫ה‬ ‫לפי‬ ‫פקד‬ ‫לכל‬ ‫שדה‬ ‫ובו‬-tag name‫שלו‬. ‫ביצוע‬ ‫עקרון‬‫ה‬‫בשפת‬ ‫תכנות‬ ‫מה‬ ‫במידת‬ ‫מזכיר‬ ‫פונקציה‬C,‫מקומיים‬ ‫במשתנים‬ ‫ניכר‬ ‫שימוש‬ ‫עושה‬ ‫אשר‬(local) ‫ה‬‫סיומה‬ ‫בעת‬ ‫ונמחקים‬ ‫הפונקציה‬ ‫בגוף‬ ‫חישובים‬ ‫לביצוע‬ ‫משמשים‬.‫זאת‬ ‫עם‬,‫ברצוננו‬ ‫אשר‬ ‫משתנים‬ ‫גם‬ ‫קיימים‬ ‫ה‬ ‫פונקציות‬ ‫ביצוע‬ ‫לעת‬ ‫לשמור‬-callbacks‫הבאות‬‫הנוכחית‬ ‫מהפונקציה‬ ‫ביציאה‬ ‫אותם‬ ‫לאבד‬ ‫ולא‬,‫הם‬ ‫לכן‬ ‫נשמרים‬ ‫מכן‬ ‫ולאחר‬ ‫מוגדרים‬‫ה‬ ‫במבנה‬-handles‫ושינוי‬ ‫לקריאה‬ ‫וניתנים‬‫ה‬ ‫פונקציות‬ ‫ביצוע‬ ‫במהלך‬- callbacks‫הבאות‬.‫פקודת‬get‫את‬ ‫ולקלוט‬ ‫מסוים‬ ‫פקד‬ ‫של‬ ‫מאפיין‬ ‫בעל‬ ‫לשדה‬ ‫לפנות‬ ‫המאפשרת‬ ‫פקודה‬ ‫הינה‬ ‫זה‬ ‫מאפיין‬ ‫של‬ ‫ערכו‬,‫פקודת‬ ‫ואילו‬set‫מסוים‬ ‫פקד‬ ‫של‬ ‫מאפיין‬ ‫בעל‬ ‫בשדה‬ ‫ערך‬ ‫של‬ ‫השמה‬ ‫מאפשרת‬.‫השמה‬ ‫בכל‬ ‫ע‬ ‫ערך‬ ‫של‬"‫הפקודה‬ ‫י‬set,‫המבנה‬ ‫כלל‬ ‫את‬ ‫לשמור‬ ‫יש‬handles‫הפקודה‬ ‫באמצעות‬guidata. ‫ב‬‫תהליך‬‫ממשק‬ ‫יצירת‬‫ה‬‫ע‬ ‫משתמש‬"‫ה‬ ‫פונקצית‬ ‫י‬-GUIDE,‫פקודות‬ ‫של‬ ‫סט‬ ‫מבצעת‬ ‫אשר‬ ‫פתיחה‬ ‫פונקצית‬ ‫נוצרת‬ ‫בה‬ ‫הכתובות‬,‫המשמש‬ ‫ממשק‬ ‫של‬ ‫הראשונית‬ ‫ההרצה‬ ‫בעת‬.‫כל‬ ‫ומאותחלים‬ ‫מופיעים‬ ‫הפתיחה‬ ‫בפונקצית‬ ‫יצרנו‬ ‫אשר‬ ‫המשתנים‬‫המשתמש‬ ‫בממשק‬ ‫הפקדים‬ ‫של‬ ‫מהמאפיינים‬ ‫וחלק‬‫המבנה‬ ‫תחת‬ ‫ונשמרים‬handles. ‫בנוסף‬,‫בתקשורת‬ ‫המחזיק‬ ‫משתנה‬ ‫של‬ ‫התקשורת‬ ‫ניתוק‬ ‫מתבצעת‬ ‫שבה‬ ‫סגירה‬ ‫פונקצית‬ ‫קיימת‬‫טורית‬(s).‫כמו‬ ‫המבנה‬ ‫את‬ ‫המרכיבים‬ ‫והפקדים‬ ‫האלמנטים‬ ‫כלל‬ ‫של‬ ‫מחיקה‬ ‫מתבצעת‬ ‫כן‬handles,‫שחרור‬ ‫לבצע‬ ‫מנת‬ ‫על‬ ‫שאינו‬ ‫זיכרון‬‫יותר‬ ‫בשימוש‬.
  • 32.
    - 32 - 3.1.3‫המשתמש‬‫ממשק‬ ‫מבנה‬ ‫הבאים‬ ‫הרכיבים‬ ‫את‬ ‫מכיל‬ ‫המשתמש‬ ‫ממשק‬)‫איור‬ ‫ראה‬26:( Connect/disconnect from bluetooth:‫ממ‬ ‫מתנתק‬ ‫או‬ ‫מתחבר‬‫קלט‬‫ה‬-Bluetooth‫הרובוט‬ ‫על‬ ‫שנמצא‬. ‫משימות‬ ‫ביצוע‬ ‫למטרת‬ ‫הרובוט‬ ‫עם‬ ‫קשר‬ ‫ליצירת‬ ‫חיוני‬ ‫חיבור‬ ‫ביצוע‬. Insert port number:‫יש‬‫מס‬ ‫את‬ ‫להזין‬'‫במחשב‬ ‫טורית‬ ‫תקשורת‬ ‫כיציאת‬ ‫המוגדרת‬ ‫היציאה‬. Insert characters:‫ה‬ ‫למקלט‬ ‫אותו‬ ‫ולשלוח‬ ‫אחד‬ ‫תו‬ ‫פעם‬ ‫בכל‬ ‫בשדה‬ ‫להכניס‬ ‫ניתן‬-Bluetooth‫על‬ ‫שנמצא‬ ‫הרובוט‬.‫ה‬ ‫למקלט‬ ‫התחברות‬ ‫שבוצעה‬ ‫לאחר‬ ‫רק‬ ‫פעיל‬ ‫השדה‬-Bluetooth. ‫תנועה‬ ‫פקדי‬:‫בתנועתו‬ ‫מלאה‬ ‫שליטה‬ ‫מאפשרים‬ ‫אשר‬ ‫פקדים‬‫קדימה‬ ‫הרובוט‬ ‫של‬,‫אחורה‬,‫ושמאלה‬ ‫ימינה‬. ‫נלחץ‬ ‫פקד‬ ‫כאשר‬,‫עליו‬ ‫נוספת‬ ‫לחיצה‬ ‫בעת‬ ‫רק‬ ‫מפעילות‬ ‫יחדול‬ ‫והוא‬ ‫כהה‬ ‫באפור‬ ‫נצבע‬ ‫הוא‬,‫ע‬ ‫או‬"‫לחיצה‬ ‫י‬ ‫אחר‬ ‫תנועה‬ ‫פקד‬ ‫על‬. Conect to camera:‫הרובוט‬ ‫גבי‬ ‫על‬ ‫שנמצאת‬ ‫הסמארטפון‬ ‫ממצלמת‬ ‫מתנתק‬ ‫או‬ ‫מתחבר‬.‫הקלט‬ ‫תצוגת‬ ‫מהמצלמה‬ ‫המגיע‬,‫ג‬ ‫על‬ ‫תופיע‬‫המשתמש‬ ‫ממשק‬ ‫שבמרכז‬ ‫השחורה‬ ‫החלונית‬ ‫בי‬.‫הפקד‬ ‫של‬ ‫הלחיצה‬ ‫לפני‬,‫יש‬ ‫אנו‬ ‫בה‬ ‫הייעודית‬ ‫האפליקציה‬ ‫וכי‬ ‫אינטרנט‬ ‫רשת‬ ‫אותה‬ ‫על‬ ‫מחוברים‬ ‫והסמארטפון‬ ‫המחשב‬ ‫כי‬ ‫לוודא‬ ‫רשת‬ ‫כמצלמת‬ ‫משתמשים‬(DroidCam)‫המשודר‬ ‫הוידאו‬ ‫את‬ ‫וקולטת‬ ‫המחשב‬ ‫גבי‬ ‫על‬ ‫ועובדת‬ ‫פתוחה‬ ‫מהסמארטפון‬. ‫איור‬26–‫המשתמש‬ ‫ממשק‬ ‫מבנה‬
  • 33.
    - 33 - 3.1.4‫שידור‬‫ל‬‫מהסמארטפון‬ ‫הוידאו‬-Matlab ‫אפליקציה‬ ‫באמצעות‬ ‫למחשב‬ ‫אמת‬ ‫בזמן‬ ‫וידאו‬ ‫מעבירה‬ ‫היא‬ ‫שכן‬ ‫רשת‬ ‫מצלמת‬ ‫מהווה‬ ‫הסמארטפון‬ ‫מצלמת‬ ‫נקראת‬ ‫אשר‬ ‫אנדרואיד‬ ‫למכשירי‬ ‫ייעודית‬DroidCam.‫בסמארטפון‬ ‫המותקנת‬ ‫לאפליקציה‬ ‫בנוסף‬,‫יש‬ ‫לקוח‬ ‫צד‬ ‫לאפליקציה‬(Client side)‫במחשב‬ ‫המותקן‬.‫ה‬ ‫רשת‬ ‫באמצעות‬ ‫נעשה‬ ‫הוידאו‬ ‫שידור‬-WiFi‫שתי‬ ‫כאשר‬ ‫אלי‬ ‫מחוברים‬ ‫הצדדים‬‫כתובת‬ ‫להם‬ ‫ויש‬ ‫ה‬IP‫משותפת‬. ‫ה‬ ‫תוכנת‬ ‫באמצעות‬ ‫האפליקציה‬ ‫של‬ ‫הלקוח‬ ‫בצד‬ ‫המשודר‬ ‫הוידאו‬ ‫את‬ ‫לפתוח‬ ‫בכדי‬-Matlab‫תחילה‬ ‫להגדיר‬ ‫יש‬ ‫רשת‬ ‫כמצלמת‬ ‫האפליקציה‬ ‫את‬.‫התהליך‬‫ה‬ ‫של‬ ‫מיוחד‬ ‫כלים‬ ‫ארגז‬ ‫באמעות‬ ‫נעשה‬-Matlab‫סרטוני‬ ‫עם‬ ‫לעבודה‬ ‫נקרא‬ ‫אשר‬ ‫וידאו‬"Image Acquisition Toolbox".‫לשידור‬ ‫מתאים‬ ‫אשר‬ ‫וידאו‬ ‫למתאם‬ ‫לדאוג‬ ‫יש‬ ‫תחילה‬ ‫שהיא‬ ‫המבוקשת‬ ‫ברזולוציה‬ ‫סרטון‬640X480.‫נקרא‬ ‫לפורמט‬ ‫הרצוי‬ ‫המתאם‬'winvideo'‫מותקן‬ ‫והוא‬ ‫של‬ ‫ייעודית‬ ‫תמיכה‬ ‫חבילת‬ ‫באמצעות‬Matlab‫בשם‬"Os Generic Video Interface"‫אותה‬ ‫להוריד‬ ‫ניתן‬ ‫אשר‬ ‫ע‬ ‫מוצעות‬ ‫אשר‬ ‫תמיכה‬ ‫חבילות‬ ‫שלל‬ ‫מתוך‬"‫י‬Matlab)‫של‬ ‫לאתר‬ ‫להתחבר‬ ‫יש‬ ‫התהליך‬ ‫לצורך‬Matlab ‫אישי‬ ‫משתמש‬ ‫חשבון‬ ‫באמצעות‬.( ‫איור‬28–‫האפליקציה‬DroidCam‫ה‬‫במכשי‬ ‫מותקנת‬‫ה‬ ‫ר‬-Android ‫איור‬27–‫האפליקציה‬ ‫של‬ ‫לקוח‬ ‫צד‬DroidCam
  • 34.
    - 34 - ‫התמיכה‬‫חבילת‬ ‫התקנת‬ ‫לאחר‬,‫הצדדים‬ ‫בחלונות‬ ‫המצלמה‬ ‫של‬ ‫שמה‬ ‫ואת‬ ‫המתאם‬ ‫שם‬ ‫את‬ ‫לראות‬ ‫ניתן‬.‫כן‬ ‫כמו‬ ‫במס‬ ‫ולשלוט‬ ‫הרשת‬ ‫ממצלמת‬ ‫המגיע‬ ‫הוידאו‬ ‫של‬ ‫הצגה‬ ‫לבצע‬ ‫ניתן‬'‫הוידאו‬ ‫שידור‬ ‫קצב‬ ‫כגון‬ ‫מאפיינים‬)‫פריימים‬ ‫לשנייה‬(,‫ניגודיות‬,‫בהירות‬,Zoom‫ועוד‬. ‫איור‬29–Matlab Support Package Installer ‫איור‬30–Matlab Image Acquisition Tool
  • 35.
    - 35 - 3.1.5‫המשתמש‬‫בממשק‬ ‫הוידאו‬ ‫פתיחת‬ ‫ה‬ ‫דרך‬ ‫והצגתו‬ ‫למחשב‬ ‫הסמארטפון‬ ‫ממצלמת‬ ‫הוידאו‬ ‫ייבוא‬ ‫לאחר‬-"Image Acquisition Toolbox"‫ב‬- Matlab,‫המשתמש‬ ‫ממשק‬ ‫בתוך‬ ‫הנמצא‬ ‫מסך‬ ‫גבי‬ ‫על‬ ‫להציגו‬ ‫ברצוננו‬.‫תואם‬ ‫יהיה‬ ‫אשר‬ ‫מסך‬ ‫ליצור‬ ‫בכדי‬ ‫המתבקשת‬ ‫הוידאו‬ ‫לרזולוצית‬(640X480),‫בגודל‬ ‫אפסים‬ ‫מטריצת‬ ‫יצרנו‬640x680‫מערכת‬ ‫מסוג‬ ‫רכיב‬ ‫ובנינו‬ ‫צירים‬(axes)‫המטריצה‬ ‫מוצגת‬ ‫עליו‬ ‫אשר‬. ‫ע‬"‫הקרויה‬ ‫בפקודה‬ ‫שימוש‬ ‫י‬videoinput‫הוידאו‬ ‫קלט‬ ‫את‬ ‫שומרים‬ ‫אנו‬‫הרשת‬ ‫ממצלמת‬ ‫המגיע‬‫משתנה‬ ‫לתוך‬ ‫בשם‬vid‫במבנה‬ ‫נשמר‬ ‫אשר‬handles‫נוצר‬ ‫הוא‬ ‫בה‬ ‫לפונקציה‬ ‫מחוץ‬ ‫נוספות‬ ‫לפעולות‬ ‫פעילותו‬ ‫המשך‬ ‫לצורך‬. ‫ע‬"‫בפקודה‬ ‫שימוש‬ ‫י‬preview‫המשתנה‬ ‫תוכן‬ ‫את‬ ‫מציגים‬ ‫אנו‬)‫להלן‬,‫הוידאו‬(‫שבנינו‬ ‫המטריצה‬ ‫גבי‬ ‫על‬,‫אשר‬ ‫שחור‬ ‫מסך‬ ‫גבי‬ ‫על‬ ‫מוצגת‬)‫הצירים‬ ‫מערכת‬.( ‫הכפתור‬ ‫על‬ ‫על‬ ‫לחיצה‬ ‫בעת‬ ‫השחור‬ ‫המסך‬ ‫גבי‬ ‫על‬ ‫מוצג‬ ‫הוידאו‬"connect to camera"‫לחיצה‬ ‫בעת‬ ‫ונסגר‬ ‫נוספת‬‫עליו‬.‫השחור‬ ‫המסך‬ ‫גבי‬ ‫על‬ ‫הוידאו‬ ‫הצגת‬ ‫לאחר‬,‫התמונה‬ ‫בעיבוד‬ ‫העוסק‬ ‫הקוד‬ ‫ביצוע‬ ‫שלב‬ ‫טרם‬ ‫בו‬ ‫המופיעה‬,‫פקודת‬ ‫נשלחת‬"hold on"‫אשר‬‫מחיקתה‬ ‫ללא‬ ‫התמונה‬ ‫גבי‬ ‫על‬ ‫נוספים‬ ‫אלמנטים‬ ‫הצגת‬ ‫מאפשרת‬. ‫איור‬31–‫הוידא‬ ‫הצגת‬‫ו‬‫המשתמש‬ ‫בממשק‬
  • 36.
    - 36 - 3.1.6‫תקשורת‬‫יצירת‬‫טורית‬‫המשתמש‬ ‫ממשק‬ ‫בעזרת‬ ‫ה‬ ‫למקלט‬ ‫המשתמש‬ ‫מממשק‬ ‫המעובד‬ ‫המידע‬ ‫את‬ ‫להעביר‬ ‫בכדי‬-Blutooth‫הרובוט‬ ‫גבי‬ ‫על‬ ‫נמצא‬ ‫אשר‬ ‫טורית‬ ‫בתקשורת‬ ‫השתמשנו‬.‫כאמור‬,‫עיקריות‬ ‫דרכים‬ ‫בשתי‬ ‫דיגיטלי‬ ‫מידע‬ ‫לשדר‬ ‫ניתן‬:‫או‬ ‫טורית‬ ‫תקשורת‬ ‫מקבילית‬ ‫תקשורת‬.‫האות‬ ‫מועבר‬ ‫שבה‬ ‫המהירות‬ ‫הוא‬ ‫מקבילית‬ ‫תקשורת‬ ‫של‬ ‫העיקרי‬ ‫יתרונה‬,‫להעביר‬ ‫ניתן‬ ‫שכן‬ ‫מס‬ ‫זו‬ ‫בשיטה‬'‫במקביל‬ ‫ביטים‬.‫זאת‬ ‫לעומת‬,‫טורית‬ ‫בתקשורת‬‫ביט‬ ‫אחר‬ ‫ביט‬ ‫עובר‬ ‫המידע‬. ‫מידע‬ ‫של‬ ‫מאסיביות‬ ‫כמויות‬ ‫להעביר‬ ‫ברצוננו‬ ‫שאין‬ ‫ומכיוון‬ ‫זה‬ ‫יתרון‬ ‫למרות‬,‫ב‬ ‫המידע‬ ‫את‬ ‫לשדר‬ ‫בחרנו‬‫תקשורת‬ ‫טורית‬.‫בנוסף‬,‫מס‬ ‫ישנם‬ ‫טורית‬ ‫לתקשורת‬'‫בולטים‬ ‫יתרונות‬,‫מקסימלי‬ ‫שידור‬ ‫ומרחק‬ ‫נמוך‬ ‫לרעש‬ ‫אות‬ ‫יחס‬ ‫כגון‬ ‫המקבילית‬ ‫התקשורת‬ ‫לשיטת‬ ‫יחסית‬ ‫גדול‬.‫עוד‬‫שב‬ ‫היא‬ ‫חשובה‬ ‫נקודה‬‫מקבילית‬ ‫תקשורת‬‫קי‬‫ה‬ ‫ים‬-ISI (Intersymbol interference)‫אשר‬‫לאות‬ ‫גורם‬‫ל‬‫וב‬ ‫התעוות‬‫העברה‬ ‫קצב‬ ‫את‬ ‫מוריד‬ ‫בעצם‬ ‫כך‬)‫תווים‬ ‫חבילת‬ ‫שנשלח‬‫ת‬‫משובשת‬ ‫בצורה‬,‫נ‬‫שלח‬‫ת‬‫שה‬ ‫עד‬ ‫שוב‬‫י‬‫מתקבל‬ ‫א‬‫ת‬‫בהצלחה‬.( ‫י‬ ‫טרם‬‫ה‬ ‫ומקלט‬ ‫המחשב‬ ‫בין‬ ‫הטורית‬ ‫התקשורת‬ ‫צירת‬-Blutooth‫הרובוט‬ ‫גבי‬ ‫על‬ ‫אשר‬,‫מס‬ ‫לאתחל‬ ‫יש‬'‫הגדרות‬ ‫כגון‬,‫טורית‬ ‫לתקשורת‬ ‫היציאה‬ ‫פורט‬(COM),‫הנתונים‬ ‫שידור‬ ‫קצב‬(Baud rate),‫מס‬'‫אשר‬ ‫המידע‬ ‫סיביות‬ ‫מידע‬ ‫חבילת‬ ‫בכל‬ ‫נשלחות‬,‫זוגיות‬ ‫סיבית‬,‫עצירה‬ ‫וסיבית‬.‫הטורית‬ ‫התקשורת‬ ‫צורת‬ ‫על‬ ‫נוסף‬ ‫פירוט‬,‫תהליך‬ ‫וקליטתו‬ ‫המידע‬ ‫שליחת‬ ‫ואופן‬ ‫האתחול‬,‫בפרק‬ ‫בהמשך‬ ‫מוצג‬3.3.1. ‫ב‬ ‫הוידאו‬ ‫לפתיחת‬ ‫בדומה‬‫המשתמש‬ ‫ממשק‬,‫ה‬ ‫במבנה‬ ‫ונשמר‬ ‫הטורית‬ ‫התקשורת‬ ‫את‬ ‫יוצר‬ ‫אשר‬ ‫משתנה‬ ‫הוגדר‬- handles.‫וולהדליק‬ ‫החיבור‬ ‫בהגדרות‬ ‫ולשלוט‬ ‫לראות‬ ‫ניתן‬ ‫המשתנה‬ ‫שדות‬ ‫בין‬/‫אותו‬ ‫לכבות‬.‫המשתנה‬ ‫יצירת‬ ‫ע‬ ‫נעשית‬"‫הפקד‬ ‫על‬ ‫לחיצה‬ ‫לאחר‬ ‫מהמשתמש‬ ‫קלט‬ ‫קבלת‬ ‫י‬"connect to camera"‫יש‬ ‫שאליו‬ ‫שדה‬ ‫פותח‬ ‫אשר‬ ‫מס‬ ‫את‬ ‫להזין‬'‫המחשב‬ ‫בהגדרות‬ ‫מועד‬ ‫מבעוד‬ ‫שהוגדרה‬ ‫הטורית‬ ‫היציאה‬.‫לציין‬ ‫המקום‬ ‫כאן‬,‫החיבור‬ ‫יצירת‬ ‫כי‬ ‫הראשונה‬ ‫בפעם‬ ‫צולחת‬ ‫תמיד‬ ‫לא‬‫ה‬ ‫שתוכנת‬ ‫משום‬-Matlab‫טורית‬ ‫לתקשורת‬ ‫ייעודית‬ ‫אינה‬,‫לתוכנות‬ ‫בניגוד‬ ‫לצור‬ ‫שימוש‬ ‫בהם‬ ‫עשינו‬ ‫אשר‬ ‫ייעודיות‬‫ובדיקה‬ ‫כיול‬ ‫ך‬,‫תוכנת‬ ‫כדוגמת‬"Tera Term".‫באם‬,‫לא‬ ‫החיבור‬ ‫ניסיון‬ ‫צלח‬,‫שוב‬ ‫לנסות‬ ‫ויש‬ ‫שגיאה‬ ‫הודעת‬ ‫תצא‬.‫צלח‬ ‫והחיבור‬ ‫במידה‬,‫ל‬ ‫יהפך‬ ‫החיבור‬ ‫כפתור‬-disconnect‫כן‬ ‫וכמו‬ ‫ה‬ ‫בנורית‬ ‫ירוק‬ ‫אור‬ ‫יופיע‬-Led‫ה‬ ‫שבמקלט‬-Bluetooth.‫אותות‬ ‫לשליחת‬ ‫ומוכן‬ ‫ערוך‬ ‫המשתמש‬ ‫ממשק‬ ‫כעת‬ ‫לרובוט‬. ‫איור‬32–‫ה‬ ‫מקלט‬-Bluetooth‫מחובר‬ ‫במצב‬
  • 37.
    - 37 - 3.1.7‫התנועה‬‫פקדי‬ ‫ותפעול‬ ‫אותות‬ ‫שליחת‬ ‫הרובוט‬ ‫של‬ ‫נסיעתו‬ ‫בכיוון‬ ‫פשוט‬ ‫תפעול‬ ‫מאפשר‬ ‫המשתמש‬ ‫ממשק‬.‫ע‬ ‫מתבצעת‬ ‫השליטה‬"‫כפתורי‬ ‫ארבעה‬ ‫י‬ ‫תנועה‬(Forward, Backword, Right, Left)‫מחשב‬ ‫במשחק‬ ‫ברכב‬ ‫שליטה‬ ‫מזכירים‬ ‫אשר‬.‫למשחק‬ ‫בניגוד‬ ‫הכיוון‬ ‫מחצי‬ ‫אחד‬ ‫על‬ ‫ממושכת‬ ‫לחיצה‬ ‫בעת‬ ‫רק‬ ‫נוסע‬ ‫הרכב‬ ‫בו‬ ‫אשר‬ ‫מחשב‬,‫ע‬ ‫מתבצעת‬ ‫הרובוט‬ ‫תנועת‬"‫לחיצה‬ ‫י‬ ‫המשתמש‬ ‫בממשק‬ ‫התנועה‬ ‫מפקדי‬ ‫אחד‬ ‫על‬ ‫בודדת‬. ‫עליו‬ ‫נוספת‬ ‫לחיצה‬ ‫בעת‬ ‫רק‬ ‫הרובוט‬ ‫תנועת‬ ‫את‬ ‫ויפסיק‬ ‫כהה‬ ‫באפור‬ ‫נצבע‬ ‫נלחץ‬ ‫אשר‬ ‫הפקד‬‫אחר‬ ‫כיוון‬ ‫פקד‬ ‫על‬ ‫או‬ ‫שי‬‫כהה‬ ‫באפור‬ ‫הוא‬ ‫כעת‬ ‫צבע‬.‫ה‬ ‫למשדר‬ ‫אות‬ ‫שולח‬ ‫נלחץ‬ ‫אשר‬ ‫פקד‬ ‫כל‬-Bluetooth‫הרובוט‬ ‫גבי‬ ‫על‬ ‫נמצא‬ ‫אשר‬ ‫הרצוי‬ ‫בכיוון‬ ‫לתנועה‬ ‫ומתורגם‬.‫כאמור‬,‫ע‬ ‫חיבור‬ ‫לבצע‬ ‫יש‬ ‫התנועה‬ ‫בפקדי‬ ‫להשתמש‬ ‫בכדי‬"‫בין‬ ‫טורית‬ ‫תקשורת‬ ‫י‬ ‫הרובוט‬ ‫ובין‬ ‫המשתמש‬ ‫ממשק‬. ‫ה‬‫תווים‬‫לחי‬ ‫בעת‬ ‫הנשלחים‬‫הם‬ ‫הפקדים‬ ‫על‬ ‫צה‬: 'f'–‫פקד‬ ‫על‬ ‫לחיצה‬ ‫בעת‬Forward. 'b'–‫פקד‬ ‫על‬ ‫לחיצה‬ ‫בעת‬Backward. 'r'–‫פקד‬ ‫על‬ ‫לחיצה‬ ‫בעת‬Right. 'l'–‫פקד‬ ‫על‬ ‫לחיצה‬ ‫בעת‬Left. '0'–‫בעת‬‫פעיל‬ ‫פקד‬ ‫על‬ ‫נוספת‬ ‫לחיצה‬. ‫לרובוט‬ ‫המשתמש‬ ‫מממשק‬ ‫אותות‬ ‫של‬ ‫ידנית‬ ‫לשליחה‬ ‫אפשרות‬ ‫יש‬ ‫התנועה‬ ‫לפקדי‬ ‫בנוסף‬,‫נמצא‬ ‫אשר‬ ‫שדה‬ ‫דרך‬ ‫לידו‬ ‫ורשום‬ ‫המשתמש‬ ‫ממשק‬ ‫של‬ ‫העליון‬ ‫בחלקו‬"Insert characters".‫לאח‬ ‫רק‬ ‫פעיל‬ ‫השדה‬ ‫כי‬ ‫לב‬ ‫לשים‬ ‫יש‬‫ר‬ ‫א‬ ‫תו‬ ‫רק‬ ‫פעם‬ ‫בכל‬ ‫לשלוח‬ ‫ניתן‬ ‫וכי‬ ‫והרובוט‬ ‫המשתמש‬ ‫ממשק‬ ‫בין‬ ‫הטורית‬ ‫התקשורת‬ ‫ביצוע‬‫בלבד‬ ‫חד‬.‫לאחר‬ ‫מתווים‬ ‫אוטומטית‬ ‫מתנקה‬ ‫השדה‬ ‫התו‬ ‫שליחת‬.‫כאמור‬,‫תנועת‬ ‫את‬ ‫תגרור‬ ‫לעיל‬ ‫הוזכרו‬ ‫אשר‬ ‫התווים‬ ‫שליחת‬ ‫אחר‬ ‫תו‬ ‫כל‬ ‫ושליחת‬ ‫המתאים‬ ‫בכיוון‬ ‫הרובוט‬,‫הרובוט‬ ‫תנועת‬ ‫את‬ ‫תחדול‬)‫התו‬ ‫לשליחת‬ ‫זהה‬'0'‫מתבצעת‬ ‫אשר‬ ‫פעיל‬ ‫תנועה‬ ‫פקד‬ ‫על‬ ‫לחיצה‬ ‫בעת‬ ‫אוטומטית‬.( ‫הנ‬ ‫התווים‬ ‫על‬ ‫נוסף‬"‫ל‬,‫ה‬ ‫נוריות‬ ‫שלושת‬ ‫את‬ ‫מדליקים‬ ‫אשר‬ ‫תווים‬ ‫שלושה‬ ‫ישנם‬-Led‫הרובוט‬ ‫גוף‬ ‫על‬ ‫שנמצאות‬ ‫בהתאמה‬.‫אופן‬‫בהר‬ ‫יידון‬ ‫הנוריות‬ ‫הדלקת‬‫ח‬‫שעוסק‬ ‫בפרק‬ ‫בה‬‫ע‬ ‫האובייקטים‬ ‫בזיהוי‬"‫וצבע‬ ‫צורה‬ ‫פ‬. ‫ה‬ ‫נוריות‬ ‫להדלקת‬ ‫האחראים‬ ‫התווים‬-Led‫הם‬: 'G'–‫ה‬ ‫את‬ ‫מדליק‬-Led‫הירוק‬. 'R'–‫ה‬ ‫את‬ ‫מדליק‬-Led‫האדום‬. 'Y'–‫ה‬ ‫את‬ ‫מדליק‬-Led‫הצהוב‬.
  • 38.
    - 38 - 3.2‫זיהוי‬‫אובייקטים‬‫ע‬"‫וצבע‬‫צורה‬ ‫פ‬ 3.2.1‫רציונל‬ ‫אח‬‫ד‬‫וסיווגם‬ ‫אובייקטים‬ ‫זיהוי‬ ‫הוא‬ ‫הממוחשבת‬ ‫הראייה‬ ‫בתחום‬ ‫הטכנולוגים‬ ‫האתגרים‬.‫מס‬ ‫קיימות‬'‫טכניקות‬ ‫אובייקט‬ ‫לזהות‬ ‫בכדי‬ ‫התמונה‬ ‫עיבוד‬ ‫בעולם‬ ‫מרכזיות‬,‫באמצעות‬ ‫ניתוח‬ ‫ביצוע‬ ‫הוא‬ ‫למרביתן‬ ‫המשותף‬ ‫אשר‬ ‫מתמטיים‬ ‫אלגוריתמים‬.‫צורתו‬ ‫והן‬ ‫המזוהה‬ ‫העצם‬ ‫של‬ ‫מרכזיות‬ ‫תכונות‬ ‫בשני‬ ‫מתמקדות‬ ‫הטכניקות‬ ‫מרבית‬ ‫שלו‬ ‫והצבע‬. ‫מורכ‬ ‫פעולה‬ ‫להיות‬ ‫יכולה‬ ‫האובייקט‬ ‫של‬ ‫צורתו‬ ‫זיהוי‬‫ע‬ ‫וסיווגו‬ ‫התמונה‬ ‫במרחב‬ ‫איתורו‬ ‫את‬ ‫דורשת‬ ‫אשר‬ ‫בת‬"‫פ‬ ‫שלו‬ ‫הגיאומטרי‬ ‫המבנה‬.‫זאת‬ ‫לעומת‬,‫האובייקט‬ ‫של‬ ‫הצבע‬ ‫מרכיבי‬ ‫זיהוי‬,‫מלבד‬ ‫שכן‬ ‫יותר‬ ‫פשוטה‬ ‫משימה‬ ‫הינה‬ ‫ע‬ ‫הנבדקת‬ ‫התמונה‬ ‫במטריצת‬ ‫המיוצגים‬ ‫הצבע‬ ‫גווני‬ ‫פענוח‬"‫מספריים‬ ‫ערכים‬ ‫י‬,‫מתמטיות‬ ‫פעולות‬ ‫דורשת‬ ‫אינה‬ ‫מורכבות‬.‫הפש‬ ‫למרות‬ ‫אך‬‫היחסית‬ ‫טות‬,‫של‬ ‫צורתו‬ ‫מזיהוי‬ ‫מדויק‬ ‫פחות‬ ‫הרבה‬ ‫תהליך‬ ‫הינו‬ ‫הצבע‬ ‫מרכיבי‬ ‫זיהוי‬ ‫האובי‬‫י‬‫קט‬,‫היות‬‫לאחרת‬ ‫אחת‬ ‫סביבה‬ ‫בין‬ ‫תאורה‬ ‫ושינויי‬ ‫בתמונה‬ ‫המופיעים‬ ‫רצויים‬ ‫לא‬ ‫מרעשים‬ ‫מושפע‬ ‫והוא‬. ‫זיהוי‬ ‫עניין‬ ‫את‬ ‫לבחון‬ ‫בכדי‬‫האובייקטים‬‫בצורה‬ ‫ולממשו‬‫אופטימאלי‬‫ת‬,‫שתי‬ ‫בין‬ ‫לשלב‬ ‫החלטנו‬‫של‬ ‫הטכניקות‬ ‫ע‬ ‫זיהוי‬"‫וע‬ ‫צורה‬ ‫פ‬"‫צבע‬ ‫פ‬.‫שונים‬ ‫צבעים‬ ‫בשלושה‬ ‫מעגל‬ ‫בצורת‬ ‫אובייקטים‬ ‫לזהות‬ ‫הייתה‬ ‫שהוגדרה‬ ‫המשימה‬ ‫החדר‬ ‫במרחב‬ ‫הפזורים‬.‫לצורך‬ ‫נבחרו‬ ‫אשר‬ ‫המעגלים‬ ‫צבעי‬‫אדום‬ ‫הם‬ ‫הזיהוי‬,‫בחירה‬ ‫הייתה‬ ‫וזו‬ ‫וירוק‬ ‫צהוב‬ ‫לחלוטין‬ ‫שרירותית‬.‫מעגל‬ ‫היא‬ ‫הזיהוי‬ ‫לצורך‬ ‫נבחרה‬ ‫אשר‬ ‫הצורה‬,‫שכן‬‫תבנית‬ ‫בעל‬ ‫נפוץ‬ ‫גיאומטרי‬ ‫אובייקט‬ ‫זהו‬ ‫מתמטית‬,‫זיהויו‬ ‫לצורך‬ ‫כקוד‬ ‫ימומש‬ ‫אשר‬ ‫מתמטי‬ ‫אלגוריתם‬ ‫מציאת‬ ‫בדמות‬ ‫אתגר‬ ‫שיוצר‬ ‫מה‬. ‫איור‬33–‫הזיהוי‬ ‫לצורך‬ ‫שנבחרו‬ ‫האובייקטים‬
  • 39.
    - 39 - 2.3.2‫ע‬‫מעגל‬ ‫זיהוי‬"‫התמרת‬ ‫י‬CHT ‫בפונקציה‬ ‫השמשנו‬ ‫המעגלים‬ ‫זיהוי‬ ‫לצורך‬‫ייעודי‬‫ת‬‫של‬Matlab‫בשם‬"imfindcircle"‫בספריית‬ ‫נמצאת‬ ‫אשר‬ ‫התמונה‬ ‫עיבוד‬-Image Processing Toolbox.‫התמרת‬ ‫מבצעת‬ ‫הפונקציה‬Hough‫בחלק‬ ‫שהוסבר‬ ‫כפי‬ ‫מעגלית‬ ‫התיאורטי‬.‫מעגלי‬ ‫אובייקט‬ ‫לזהות‬ ‫ניסיון‬ ‫יש‬ ‫בה‬ ‫התמונה‬ ‫את‬ ‫כקלט‬ ‫מקבלת‬ ‫היא‬,‫הרצוי‬ ‫הרדיוס‬ ‫טווח‬ ‫את‬ ‫לזיהוי‬,‫האובייקט‬ ‫של‬ ‫הניגודיות‬ ‫מידת‬ ‫את‬‫מופיע‬ ‫הוא‬ ‫בו‬ ‫לרקע‬ ‫ביחס‬)‫ממנו‬ ‫כהה‬ ‫או‬ ‫בהיר‬(‫הרגישות‬ ‫סף‬ ‫ואת‬ ‫לזיהוי‬ ‫הדרוש‬.‫כפל‬ ‫מחזירה‬ ‫הפונקציה‬‫ט‬,‫שיעורי‬ ‫ואת‬ ‫המזוהים‬ ‫המעגלים‬ ‫של‬ ‫הרדיוסים‬ ‫ובו‬ ‫ווקטור‬ ‫קואורדינאטות‬‫נק‬'‫שלהם‬ ‫המרכז‬. ‫קצוות‬ ‫לזיהוי‬ ‫באלגוריתם‬ ‫שימוש‬ ‫עושה‬ ‫הפונקציה‬(Edge detection)‫אשר‬‫מתמטית‬ ‫פעולה‬ ‫על‬ ‫מבוסס‬ ‫ק‬ ‫את‬ ‫למצוא‬ ‫שמטרתה‬‫ו‬‫ו‬‫בתמונה‬ ‫עצמים‬ ‫של‬ ‫הקצה‬ ‫י‬.‫ק‬‫ו‬‫וי‬‫קצה‬)‫שפות‬(‫בין‬ ‫כגבול‬ ‫מוגדרים‬‫בהירות‬ ‫רמות‬ ‫שונות‬.‫שזוהו‬ ‫הקצוות‬,‫הנבדק‬ ‫האובייקט‬ ‫של‬ ‫המתאר‬ ‫קו‬ ‫את‬ ‫מהווים‬,‫ע‬ ‫ובודקת‬ ‫סורקת‬ ‫הפונקציה‬ ‫אותו‬"‫י‬ ‫מימדי‬ ‫תלת‬ ‫סוכם‬ ‫בתוך‬ ‫מתבצע‬ ‫אשר‬ ‫הצבעה‬ ‫תהליך‬,‫הוס‬ ‫שכבר‬ ‫כפי‬‫בר‬. ‫ובכן‬,‫במעגלים‬ ‫שנבדק‬ ‫העיקרי‬ ‫החלק‬,‫השתמשנו‬ ‫בהם‬ ‫המעגלים‬ ‫ולכן‬ ‫שלהם‬ ‫המתאר‬ ‫קו‬ ‫הוא‬)‫איור‬33(‫הם‬ ‫החיצונית‬ ‫ולסביבתו‬ ‫המעגל‬ ‫של‬ ‫הפנימי‬ ‫לחלק‬ ‫גבוהה‬ ‫ניגודיות‬ ‫ברמת‬ ‫נמצא‬ ‫אשר‬ ‫שחור‬ ‫מתאר‬ ‫קו‬ ‫בעלי‬.‫כן‬ ‫כמו‬ ‫הזיהוי‬ ‫של‬ ‫הרגישות‬ ‫סף‬ ‫רמת‬ ‫את‬ ‫מעט‬ ‫העלנו‬,‫פחות‬ ‫זיהוי‬ ‫שמאפשר‬ ‫מה‬"‫קשוח‬." 3.3.2‫המעגל‬ ‫צבע‬ ‫זיהוי‬ ‫ע‬ ‫מתבצע‬ ‫המעגל‬ ‫צבע‬ ‫זיהוי‬"‫ה‬ ‫ערכי‬ ‫ניתוח‬ ‫י‬-RGB‫הנבדקת‬ ‫התמונה‬ ‫של‬.‫כאמור‬,‫התמונה‬ ‫במטריצת‬ ‫תא‬ ‫כל‬ ‫מכיל‬3‫יסוד‬ ‫גוון‬ ‫כל‬ ‫של‬ ‫הבהירות‬ ‫רמת‬ ‫את‬ ‫משקפים‬ ‫אשר‬ ‫מספריים‬ ‫ערכים‬)‫אדום‬,‫ירוק‬,‫כחול‬(.‫הוא‬ ‫ערך‬ ‫כל‬ ‫המספרים‬ ‫בטווח‬'0' - '255',‫כאשר‬'0'‫נמוכה‬ ‫הכי‬ ‫הבהירות‬ ‫רמת‬ ‫זוהי‬)‫שחור‬(‫ו‬-'255'‫גבוהה‬ ‫הכי‬)‫לבן‬.( ‫משנה‬ ‫פונקציות‬ ‫שלוש‬ ‫בנינו‬ ‫התמונה‬ ‫של‬ ‫הצבע‬ ‫את‬ ‫לבדוק‬ ‫בכדי‬,‫גוון‬ ‫לכל‬ ‫אחת‬.‫שלושת‬ ‫של‬ ‫הפעולה‬ ‫עקרון‬ ‫זהה‬ ‫הפונקציות‬,‫כקלט‬ ‫מקבלת‬ ‫פונקציה‬ ‫כל‬,‫בתמונה‬ ‫חלק‬)‫מטריצה‬(‫כמעגל‬ ‫קודם‬ ‫עוד‬ ‫זוהה‬ ‫אשר‬,‫את‬ ‫סוכמת‬ ‫הפיקסל‬ ‫ערכי‬‫מראש‬ ‫בדקנו‬ ‫אשר‬ ‫למדדים‬ ‫בהתאם‬ ‫שהגדרנו‬ ‫הגוון‬ ‫בטווח‬ ‫ים‬,‫מס‬ ‫את‬ ‫ומחזירה‬'‫הפיקסלים‬ ‫שסכמה‬.‫הפיקסלים‬ ‫אחוז‬ ‫בדמות‬ ‫הגוון‬ ‫זיהוי‬ ‫רגישות‬ ‫סף‬ ‫את‬ ‫קובע‬ ‫אשר‬ ‫זיהוי‬ ‫סף‬ ‫פרמטר‬ ‫הגדרנו‬ ‫בנוסף‬ ‫אליה‬ ‫שנשלחו‬ ‫הפיקסלים‬ ‫כלל‬ ‫מתוך‬ ‫מפונקציה‬ ‫שהוחזרו‬)‫בלבד‬ ‫שזוהה‬ ‫המעגל‬ ‫את‬ ‫המכילה‬ ‫המטריצה‬ ‫גודל‬.( ‫ק‬‫ל‬ ‫הזיהוי‬ ‫סף‬ ‫את‬ ‫בענו‬-80%‫הקוד‬ ‫דרך‬ ‫לשנותו‬ ‫ניתן‬ ‫אך‬.
  • 40.
    - 40 - ‫הוגדרו‬‫אשר‬ ‫הטווחים‬‫ל‬ ‫פונקציה‬ ‫בכל‬‫צבע‬ ‫גוון‬ ‫זיהוי‬,‫כמפורט‬ ‫היסוד‬ ‫צבעי‬ ‫של‬ ‫הבהירות‬ ‫רמות‬ ‫סמך‬ ‫על‬ ‫הם‬ ‫הבאות‬ ‫בטבלאות‬: Red: ‫יסוד‬ ‫גוון‬Blue (3)Green (2)Red (1) ‫ערכים‬ ‫טווח‬Image(i,j,3) ≤ 150Image(i,j,2) ≤ 150Image(i,j,1) ≥ 100 ‫מקסימלי‬ ‫הפרש‬ ‫היסוד‬ ‫גווני‬ ‫בין‬ Image(i,j,2) | ≤ 50-| Image(i,j,3) Green: ‫יסוד‬ ‫גוון‬Blue (3)Green (2)Red (1) ‫ערכים‬ ‫טווח‬Image(i,j,3) ≤ 150Image(i,j,2) ≥ 100Image(i,j,1) ≤ 150 ‫מקסימלי‬ ‫הפרש‬ ‫היסוד‬ ‫גווני‬ ‫בין‬ Image(i,j,1) | ≤ 50-| Image(i,j,3) Yellow: ‫יסוד‬ ‫גוון‬Blue (3)Green (2)Red (1) ‫ערכים‬ ‫טווח‬Image(i,j,3) ≤ 150Image(i,j,2) ≥ 150Image(i,j,1) ≥ 150 ‫מקסימלי‬ ‫הפרש‬ ‫היסוד‬ ‫גווני‬ ‫בין‬ Image(i,j,1) | ≤ 50-| Image(i,j,2) ‫טבלה‬34–‫השונים‬ ‫הגוונים‬ ‫לזיהוי‬ ‫הבהירות‬ ‫רמות‬ ‫טווחי‬
  • 41.
    - 41 - 4.3.2‫כולל‬‫זיהוי‬ ‫לכדי‬ ‫הצבע‬ ‫ובדיקת‬ ‫הצורה‬ ‫ניתוח‬ ‫שילוב‬ ‫ל‬ ‫ומשם‬ ‫למחשב‬ ‫מהסמארטפון‬ ‫המגיע‬ ‫הוידאו‬ ‫סרט‬ ‫את‬ ‫לבחון‬ ‫בכדי‬-Matlab,‫זמן‬ ‫בפרק‬ ‫אותו‬ ‫לדגום‬ ‫עלינו‬ ‫היה‬ ‫פועל‬ ‫אשר‬ ‫התוכנה‬ ‫ותקיעת‬ ‫שיבושים‬ ‫ללא‬ ‫בודדת‬ ‫תמונה‬ ‫ניתוח‬ ‫שיאפשר‬ ‫מסוים‬‫ברקע‬ ‫ת‬.‫ד‬‫ג‬‫התמונה‬ ‫ימת‬ ‫וניתוחה‬,‫בעת‬ ‫לפעולה‬ ‫וחוזרת‬ ‫המשתמש‬ ‫בממשק‬ ‫המצלמה‬ ‫כיבוי‬ ‫עד‬ ‫פועלת‬ ‫אשר‬ ‫לולאה‬ ‫בעזרת‬ ‫התבצעה‬ ‫הפע‬‫מחדש‬ ‫לתה‬.‫של‬ ‫מכוונת‬ ‫השהייה‬ ‫עם‬ ‫היררכי‬ ‫פעולות‬ ‫סדר‬ ‫מכילה‬ ‫הלולאה‬400‫פעולה‬ ‫בין‬ ‫מילישניות‬ ‫ושוטפת‬ ‫חלקה‬ ‫פעולה‬ ‫לאפשר‬ ‫מנת‬ ‫על‬ ‫לפעולה‬. ‫המשימות‬ ‫ביצוע‬ ‫לצורך‬ ‫כי‬ ‫לציין‬ ‫המקום‬ ‫זה‬,‫יכולות‬ ‫ללא‬ ‫פשוטים‬ ‫אישי‬ ‫ומחשב‬ ‫סמארטפון‬ ‫במצלמת‬ ‫השתמשנו‬ ‫הקוד‬ ‫את‬ ‫לייעל‬ ‫המאמץ‬ ‫אף‬ ‫על‬ ‫ולכן‬ ‫התעשייה‬ ‫בעולם‬ ‫המקובלים‬ ‫הכלים‬ ‫כמו‬ ‫מיוחדות‬ ‫עיבוד‬,‫לעיתים‬ ‫נתקלנו‬ ‫למחשב‬ ‫מהמצלמה‬ ‫הסרט‬ ‫בהגעת‬ ‫ועיכוב‬ ‫איטי‬ ‫עיבוד‬ ‫של‬ ‫בבעיות‬. ‫הייעו‬ ‫ממאמצי‬ ‫כחלק‬‫ל‬,‫למציאת‬ ‫הצורה‬ ‫ניתוח‬ ‫את‬ ‫ביצענו‬‫הצבע‬ ‫ניתוח‬ ‫לפני‬ ‫מעגל‬.‫מעגל‬ ‫של‬ ‫זיהוי‬ ‫התקבל‬ ‫באם‬ ‫הצבע‬ ‫בדיקת‬ ‫תתבצע‬ ‫שבו‬ ‫לאזור‬ ‫וממוקדת‬ ‫בתוכה‬ ‫המעגל‬ ‫את‬ ‫חוסמת‬ ‫אשר‬ ‫חדשה‬ ‫ריבועית‬ ‫תמונה‬ ‫יצרנו‬.‫זהו‬ ‫אינם‬ ‫התמונה‬ ‫חלקי‬ ‫רוב‬ ‫שכן‬ ‫קריטי‬ ‫חלק‬‫רלוונטיי‬‫ם‬‫המ‬ ‫פנים‬ ‫הוא‬ ‫רלוונטי‬ ‫שכן‬ ‫ומה‬ ‫הצבע‬ ‫ניתוח‬ ‫לשלב‬‫עגל‬. ‫המעגל‬ ‫תופס‬ ‫אותו‬ ‫השטח‬ ‫אחוז‬ ‫את‬ ‫לייצג‬ ‫ניתן‬,‫התמו‬ ‫מכלל‬‫ע‬ ‫שיצרנו‬ ‫החדשה‬ ‫נה‬"‫הבא‬ ‫הפקטור‬ ‫פ‬: = ‫מעגל‬ ‫ריבוע‬ = 4 = 4 = 0.7853 = 78.53% ‫ה‬ ‫התמונה‬-"‫חתוכה‬"‫לפונקציות‬ ‫נשלחת‬‫סקרנו‬ ‫אשר‬ ‫גוון‬ ‫לזיהוי‬,‫ע‬"‫הסדר‬ ‫פ‬:Green  Red  Yellow . ‫המסוים‬ ‫הצבע‬ ‫בגוון‬ ‫המעגל‬ ‫של‬ ‫מוצלח‬ ‫זיהוי‬ ‫התבצע‬ ‫באם‬,‫ה‬ ‫ונורית‬ ‫מופסקת‬ ‫הרובוט‬ ‫תנועת‬-Led‫שעליו‬ ‫שזוהה‬ ‫לגוון‬ ‫המתאים‬ ‫בצבע‬ ‫לרצד‬ ‫מתחילה‬.‫כן‬ ‫כמו‬,‫שלו‬ ‫בצבע‬ ‫במעגל‬ ‫מוקף‬ ‫שזוהה‬ ‫האובייקט‬.‫לא‬ ‫באם‬ ‫מוצלח‬ ‫זיהוי‬ ‫התבצע‬,‫האחרון‬ ‫לגוון‬ ‫עד‬ ‫הלאה‬ ‫וכן‬ ‫הבא‬ ‫הגוון‬ ‫לבדיקת‬ ‫עוברת‬ ‫הלולאה‬,‫לתחילת‬ ‫חוזרת‬ ‫היא‬ ‫בו‬ ‫שראשיתו‬ ‫הפעולות‬ ‫רצף‬,‫שנדגמה‬ ‫בתמונה‬ ‫מעגל‬ ‫איתור‬)‫ראה‬‫א‬‫י‬‫ו‬‫ר‬36(. ‫אובייקט‬ ‫של‬ ‫מוצלח‬ ‫זיהוי‬ ‫ביצוע‬ ‫לאחר‬,‫מסוים‬ ‫בכיוון‬ ‫הרובוט‬ ‫של‬ ‫והנעתו‬,‫וימחק‬ ‫המרצדת‬ ‫הנורית‬ ‫תכובה‬ ‫האובייקט‬ ‫את‬ ‫מקיף‬ ‫אשר‬ ‫המעגל‬‫מחדש‬ ‫יחול‬ ‫הזיהוי‬ ‫ותהליך‬. ‫במנוחה‬ ‫עומד‬ ‫והרובוט‬ ‫מוצלח‬ ‫זיהוי‬ ‫התבצע‬ ‫אם‬ ‫שגם‬ ‫לציין‬ ‫חשוב‬,‫לראות‬ ‫וניתן‬ ‫ברקע‬ ‫להתבצע‬ ‫ממשיך‬ ‫הניתוח‬ ‫ע‬ ‫זאת‬"‫ממנה‬ ‫מידי‬ ‫מרוחק‬ ‫ואינו‬ ‫המצלמה‬ ‫עדשת‬ ‫קולטת‬ ‫אשר‬ ‫בטווח‬ ‫הוא‬ ‫עוד‬ ‫כל‬ ‫האובייקט‬ ‫הזזת‬ ‫י‬.‫ניתן‬ ‫אחריו‬ ‫עוקב‬ ‫האובייקט‬ ‫סביב‬ ‫המצויר‬ ‫המעגל‬ ‫את‬ ‫לראות‬‫מהפריים‬ ‫יצא‬ ‫לא‬ ‫עוד‬ ‫כל‬.‫ונפוץ‬ ‫ידוע‬ ‫מימוש‬ ‫זהו‬ ‫הממוחשבת‬ ‫הראייה‬ ‫בתחום‬ ‫בשימוש‬‫דינאמיים‬ ‫אובייקטים‬ ‫אחר‬ ‫מעקב‬ ‫שמאפשר‬(Object Tracking). ‫דגימת‬ ‫התמונה‬ ‫מעגל‬ ‫זיהוי‬ ‫ירוק‬ ‫מעגל‬? ‫מעגל‬ ‫אדום‬? ‫מעגל‬ ‫צהוב‬? ‫איור‬35–‫ה‬ ‫מהתמונה‬ ‫המעגל‬ ‫שטח‬ ‫אחוז‬-"‫חתוכה‬" ‫איור‬36–‫האובייקט‬ ‫זיהוי‬ ‫תהליך‬ ‫של‬ ‫זרימה‬ ‫תרשים‬
  • 42.
    - 42 - 3.3UART 3.3.1‫למחשב‬‫המודם‬ ‫חיבור‬ ‫אנחנו‬ ‫בפרויקט‬‫עבדנו‬‫מודם‬ ‫עם‬Bluetooth‫תוצרת‬microchip‫בשם‬RN42‫המבוא‬ ‫בפרק‬ ‫סרקנו‬ ‫אותו‬, ‫על‬ ‫מורכב‬ ‫המודם‬‫צ‬'‫יפ‬‫חברת‬ ‫של‬"Sparkfun"‫בשם‬"Bluesmirf silver".‫לחסוך‬ ‫לנו‬ ‫מאפשר‬ ‫זה‬ ‫במודם‬ ‫שימוש‬ ‫חוטיות‬ ‫ממגבלות‬ ‫וחופשייה‬ ‫יותר‬ ‫פשוטה‬ ‫תנועה‬ ‫ומאפשר‬ ‫בכבלים‬ ‫השימוש‬ ‫את‬.‫המודם‬ ‫את‬ ‫שמחברים‬ ‫לפני‬ ‫למכשירי‬ ‫להתחבר‬ ‫יכולת‬ ‫למחשב‬ ‫כי‬ ‫לוודא‬ ‫יש‬ ‫למחשב‬Bluetooth,‫ואין‬ ‫במידה‬,‫ל‬ ‫ניתן‬‫חיצוני‬ ‫דונגל‬ ‫רכוש‬ ‫בחיבור‬ ‫שמתחבר‬USB‫למחשב‬‫מכן‬ ‫ולאחר‬ ‫השתמשנו‬ ‫בו‬ ‫הדונגל‬ ‫כדוגמת‬‫לבצע‬ ‫יש‬‫א‬‫המודם‬ ‫של‬ ‫ראשוני‬ ‫תחול‬. ‫ביצוע‬ ‫הוא‬ ‫הראשון‬ ‫השלב‬pairing)‫זיווג‬(‫המודם‬ ‫ובין‬ ‫עובדים‬ ‫עמו‬ ‫המחשב‬ ‫בין‬‫מכשיר‬ ‫בכל‬ ‫כמו‬Bluetooth. ‫הוא‬ ‫הראשוני‬ ‫הקוד‬1234‫בהמשך‬ ‫לשינוי‬ ‫וניתן‬. ‫איור‬38–‫ביצוע‬Pairing‫ה‬ ‫ומודם‬ ‫המחשב‬ ‫בין‬-Bluetooth ‫איור‬37–‫דונגל‬Bluetooth‫דגם‬CSR 4.0
  • 43.
    - 43 - ‫מספרי‬‫שני‬ ‫עם‬ ‫למחשב‬ ‫מחובר‬ ‫המודם‬ ‫זה‬ ‫בשלב‬COM‫אחד‬‫לכתיב‬‫ה‬‫לקריאה‬ ‫והשני‬,‫להתאים‬ ‫להתחיל‬ ‫וניתן‬ ‫לדרישותינו‬ ‫אותו‬. ‫ו‬ ‫הללו‬ ‫הפורטים‬ ‫דרך‬ ‫תבוצע‬ ‫מהמודם‬ ‫וקריאה‬ ‫כתיבה‬ ‫כל‬‫את‬ ‫ולשנות‬ ‫לראות‬ ‫ניתן‬‫של‬ ‫ההגדרות‬‫דרך‬ ‫המודם‬ ‫ב‬ ‫ההתקנים‬ ‫מנהל‬-Windows. ‫איור‬40–‫ה‬ ‫יציאת‬ ‫הגדרות‬-COM ‫איור‬39–‫ה‬-COM‫ההתקנים‬ ‫במנהל‬ ‫שנוצר‬
  • 44.
    - 44 - ‫בתוכנת‬‫השתמשנו‬ ‫זה‬ ‫בשלב‬"Tera Term"‫ניתן‬ ‫אך‬ ‫המודם‬ ‫של‬ ‫המחדל‬ ‫ברירת‬ ‫הגדרות‬ ‫את‬ ‫לשנות‬ ‫כדי‬ ‫ת‬ ‫בכל‬ ‫להשתמש‬‫ו‬‫תקשורת‬ ‫כנת‬‫טורית‬)‫כדוגמת‬putty.( ‫התווים‬ ‫את‬ ‫לראות‬ ‫מנת‬ ‫על‬ ‫הראשון‬ ‫בשלב‬‫באפשרות‬ ‫בחרנו‬ ‫למודם‬ ‫שולחים‬ ‫שאנו‬Local echo: ‫התווים‬ ‫רצף‬ ‫שליחת‬ ‫הבא‬ ‫בשלב‬"$$$"‫הפרמטרים‬ ‫בכל‬ ‫שליטה‬ ‫לנו‬ ‫ומאפשרת‬ ‫ההגדרות‬ ‫לתפריט‬ ‫אותנו‬ ‫מכניסה‬ ‫ע‬ ‫התווים‬ ‫לשידור‬ ‫שנוגעים‬"‫השידור‬ ‫בקצב‬ ‫החל‬ ‫המודם‬ ‫י‬,‫המודם‬ ‫שם‬ ‫או‬ ‫הזוגיות‬ ‫סיבית‬ ‫בחירת‬ ‫דרך‬,‫גם‬ ‫כמו‬ ‫מח‬ ‫עם‬ ‫הזיווג‬ ‫לביצוע‬ ‫הקוד‬‫שבים‬.‫הפקודה‬ ‫את‬ ‫המודם‬ ‫יקבל‬ ‫כאשר‬,$$$‫תהיה‬ ‫שנקבל‬ ‫התשובה‬CMD‫והנורה‬ ‫מהיר‬ ‫בקצב‬ ‫תהבהב‬ ‫האדומה‬.‫הקונפיגורציה‬ ‫מצב‬ ‫בתוך‬ ‫נמצאים‬ ‫שאנו‬ ‫לנו‬ ‫מאותת‬ ‫זה‬ ‫דבר‬. ‫האות‬ ‫בשליחת‬D,‫במודם‬ ‫כרגע‬ ‫הקיימות‬ ‫ההגדרות‬ ‫את‬ ‫למעשה‬ ‫ונקבל‬ ‫יפתח‬ ‫התפריט‬: ‫איור‬41–‫ה‬ ‫בתוכנת‬ ‫המוקלד‬ ‫התוכן‬ ‫הצגת‬ ‫אפשור‬-Tera Term ‫איור‬42–‫ה‬ ‫מודם‬ ‫הגדרות‬ ‫הצגת‬-Bluetooth
  • 45.
    - 45 - ‫של‬‫המחדל‬ ‫ברירת‬ ‫את‬ ‫לשנות‬ ‫מנת‬ ‫על‬115200baud rate =,‫היא‬ ‫צורתה‬ ‫אשר‬ ‫פקודה‬ ‫ניתנת‬SU,<>‫כאשר‬ ‫המבוקש‬ ‫הקצב‬ ‫של‬ ‫הראשונות‬ ‫הספרות‬ ‫שתי‬ ‫את‬ ‫נכתוב‬ ‫סוגריים‬ ‫במקום‬.‫שכזה‬ ‫שינוי‬ ‫בכל‬,‫המודם‬ ‫תשובת‬ ‫תהיה‬aok<>,‫המבוקש‬ ‫לקצב‬ ‫השינוי‬ ‫התקבל‬ ‫כלומר‬. ‫השינויים‬ ‫בתפריט‬ ‫העבודה‬ ‫את‬ ‫לסיים‬ ‫בכדי‬,‫הרצף‬ ‫את‬ ‫נשלח‬"---".‫הנורה‬ ‫של‬ ‫ההבהוב‬ ‫את‬ ‫יפסיק‬ ‫זה‬ ‫איתות‬ ‫שהוזנו‬ ‫השינויים‬ ‫עם‬ ‫עבודה‬ ‫למצב‬ ‫יכנס‬ ‫והמודם‬ ‫האדומה‬.‫ה‬ ‫ללוח‬ ‫המודם‬ ‫בחיבור‬ ‫להתחיל‬ ‫ניתן‬ ‫זה‬ ‫בשלב‬- FPGA‫ש‬ ‫בלי‬ ‫הלוח‬ ‫אל‬ ‫מהמחשב‬ ‫אותות‬ ‫לשלוח‬ ‫ולהתחיל‬‫י‬‫בכבלים‬ ‫מוש‬. 3.3.2‫ה‬ ‫בניית‬-UART‫וחיבורו‬ ‫ה‬ ‫מודם‬ ‫את‬ ‫לחבר‬ ‫בבואנו‬-Bluetooth‫ה‬ ‫לרכיב‬ ‫המחשב‬ ‫בין‬ ‫כמחבר‬-FPGA‫עובדים‬ ‫אנחנו‬ ‫עמו‬,‫זקוקים‬ ‫היינו‬ ‫ל‬-UART‫ולצרכינו‬ ‫לעבודתנו‬ ‫שיתאים‬.‫שידור‬ ‫מבחינת‬ ‫ראשית‬/‫קליטה‬,‫ב‬-UART‫צורך‬ ‫לנו‬ ‫היה‬ ‫לא‬ ‫שלנו‬ ‫ש‬ ‫מכיוון‬ ‫במשדר‬‫ב‬ ‫המשתמש‬ ‫מממשק‬ ‫כיוונית‬ ‫חד‬ ‫בצורה‬ ‫מבוצע‬ ‫השידור‬-Matlab‫ה‬ ‫לכיוון‬-FPGA. ‫שנית‬,‫שידור‬ ‫קצב‬ ‫מבחינת‬,‫של‬ ‫בקצב‬ ‫לעבוד‬ ‫בחרנו‬9600‫ב‬‫לשנייה‬ ‫יטים‬‫ו‬‫ה‬ ‫את‬ ‫התאמנו‬ ‫לכן‬-UART‫זה‬ ‫לקצב‬. ‫סיבית‬ ‫ללא‬ ‫לעבוד‬ ‫בחרנו‬ ‫כן‬ ‫כמו‬‫זוגיות‬ ‫וסיבית‬ ‫מסגרת‬ ‫זיהוי‬. ‫איור‬43–‫ה‬ ‫שינוי‬-Baud rate‫ה‬ ‫בתוכנת‬-Tera Term
  • 46.
    - 46 - ‫הביצוע‬‫מבחינת‬,‫סיבית‬ ‫שזיהינו‬ ‫מרגע‬0‫אות‬ ‫כהתחלת‬,‫שליפת‬ ‫לפני‬ ‫ולבסוף‬ ‫נוספות‬ ‫דגימות‬ ‫תשע‬ ‫דוגמים‬ ‫אנחנו‬ ‫הוא‬ ‫הראשון‬ ‫הביט‬ ‫כי‬ ‫מוודאים‬ ‫האות‬0‫והאחרון‬1)‫למתח‬ ‫חזר‬ ‫והקו‬ ‫האות‬ ‫שידור‬ ‫שנגמר‬ ‫מוודאים‬ ‫אנו‬ ‫כך‬ ‫גבוה‬(,‫האות‬ ‫נשלף‬ ‫אז‬‫עבודה‬ ‫להמשך‬ ‫סיביות‬ ‫שמונה‬ ‫באורך‬.‫שהאות‬ ‫סימן‬ ‫אז‬ ‫מתקיים‬ ‫לא‬ ‫והתנאי‬ ‫במידה‬ "‫נשבר‬"‫רעש‬ ‫שדגמנו‬ ‫או‬‫ולכן‬‫נעביר‬"00000000"‫להמשך‬‫הלאה‬ ‫שגוי‬ ‫מידע‬ ‫העברת‬ ‫ונמנע‬.‫כי‬ ‫לוודא‬ ‫מנת‬ ‫על‬ ‫ה‬ ‫ללוח‬ ‫תקינה‬ ‫בצורה‬ ‫הגיעה‬ ‫הרצוי‬ ‫האות‬-FPGA,‫ה‬ ‫הקוד‬ ‫של‬ ‫הצגתו‬ ‫את‬ ‫ביצענו‬-Ascii‫דרך‬ ‫הנשלח‬ ‫האות‬ ‫של‬ ‫ה‬ ‫נוריות‬ ‫שמונת‬-Led‫בלוח‬ ‫המצויות‬. ‫ל‬ ‫המודם‬ ‫חיבור‬FPGA‫הושלם‬.‫ה‬ ‫מרגלי‬ ‫אחת‬ ‫בין‬ ‫יצרנו‬ ‫הפיזי‬ ‫החיבור‬ ‫את‬FPGA‫לרגל‬TX-O‫במודם‬,‫בנוסף‬ ‫למודם‬ ‫ואדמה‬ ‫מתח‬ ‫חיברנו‬.‫וה‬ ‫לרכיב‬ ‫מחובר‬ ‫המודם‬ ‫זה‬ ‫בשלב‬-UART‫עובד‬.‫אותות‬ ‫בשליחת‬ ‫להתחיל‬ ‫ניתן‬ ‫ה‬ ‫אל‬ ‫מהמחשב‬-FPGA. ‫איור‬44–‫ה‬ ‫רכיב‬-UART ‫איור‬45–‫ה‬ ‫קוד‬ ‫הצגת‬-Ascii‫ה‬ ‫בנוריות‬ ‫תו‬ ‫של‬-DE-nano
  • 47.
    ‫המערכת‬ ‫למוצאי‬ ‫ניתנות‬‫אשר‬ ‫השונות‬ ‫וההוראות‬ ‫החיבור‬ ‫דרך‬ ‫את‬ ‫נסקור‬ ‫זה‬ ‫בפרק‬.‫כאמור‬,‫המערכת‬ ‫מוצאי‬ ‫הנ‬ ‫הצבעים‬ ‫לזיהוי‬ ‫בהתאמה‬ ‫וצהוב‬ ‫ירוק‬"‫שבנינו‬ ‫הזיהוי‬ ‫באלגוריתם‬ ‫ל‬, ‫במרחב‬ ‫הרכב‬ ‫נע‬ ‫ובאמצעותם‬ ‫במחשב‬ ‫המשתמש‬ ‫ממשק‬ ‫דרך‬ ‫הנשלטים‬. ‫משוכללת‬ ‫מצבים‬ ‫מכונת‬ ‫כמעין‬ ‫רק‬ ‫היא‬ ‫המבוא‬ ‫בפרק‬ ‫סקרנו‬ ‫אותם‬,‫מסוג‬ ‫המנועים‬ ‫חיבור‬ ‫נקודות‬ ‫שלוש‬ ‫בעלי‬ ‫והם‬ ‫סיבובית‬ ‫תנועה‬ ‫מגבלת‬ ‫להם‬ ‫אין‬ ‫כלומר‬. ‫בתמונה‬ ‫לראות‬ ‫שניתן‬ ‫כפי‬ ‫ולבן‬: 47–‫מנוע‬Servo‫מדגם‬SM-S4303R - 47 - ‫ה‬ ‫ללוח‬ ‫המערכת‬ ‫מוצאי‬ ‫חיבור‬-FPGA ‫המערכת‬ ‫למוצאי‬ ‫ניתנות‬ ‫אשר‬ ‫השונות‬ ‫וההוראות‬ ‫החיבור‬ ‫דרך‬ ‫את‬ ‫נסקור‬ ‫זה‬ ‫בפרק‬ LED‫אדום‬ ‫בצבעים‬,‫הנ‬ ‫הצבעים‬ ‫לזיהוי‬ ‫בהתאמה‬ ‫וצהוב‬ ‫ירוק‬ ‫במרחב‬ ‫הרכב‬ ‫נע‬ ‫ובאמצעותם‬ ‫במחשב‬ ‫המשתמש‬ ‫ממשק‬ ‫דרך‬ ‫הנשלטים‬ ‫מהמחשב‬ ‫ורק‬ ‫אך‬ ‫מגיעות‬ ‫והחיווי‬ ‫התנועה‬ ‫הוראות‬ ‫כל‬,‫ה‬ ‫פעולת‬FPGA‫משוכללת‬ ‫מצבים‬ ‫מכונת‬ ‫כמעין‬ ‫רק‬ ‫היא‬ ‫הרלוונטים‬ ‫למוצאים‬ ‫רצוי‬ ‫מתח‬. ‫סרוו‬ ‫מנועי‬ ‫חיבור‬ ‫מנועי‬ ‫שני‬ ‫עם‬ ‫עבדנו‬ ‫שלנו‬ ‫בפרויקט‬Servo‫חברת‬ ‫של‬"Springrc"‫המבוא‬ ‫בפרק‬ ‫סקרנו‬ ‫אותם‬ "continuous rotation,‫חיבור‬ ‫נקודות‬ ‫שלוש‬ ‫בעלי‬ ‫והם‬ ‫סיבובית‬ ‫תנועה‬ ‫מגבלת‬ ‫להם‬ ‫אין‬ ‫כלומר‬ ‫שלנו‬‫חוטים‬ ‫מכיל‬‫אדום‬ ‫בצבעי‬,‫שחור‬‫בתמונה‬ ‫לראות‬ ‫שניתן‬ ‫כפי‬ ‫ולבן‬ ‫וולט‬. (pulse width modulation). ‫איור‬ ‫ה‬ ‫מנוע‬ ‫תנועת‬ ‫כיווני‬-Servo 3.4‫ה‬ ‫ללוח‬ ‫המערכת‬ ‫מוצאי‬ ‫חיבור‬ ‫המערכת‬ ‫למוצאי‬ ‫ניתנות‬ ‫אשר‬ ‫השונות‬ ‫וההוראות‬ ‫החיבור‬ ‫דרך‬ ‫את‬ ‫נסקור‬ ‫זה‬ ‫בפרק‬ ‫נורות‬ ‫שלוש‬ ‫הם‬LED ‫מנועי‬ ‫ושני‬Servo‫במרחב‬ ‫הרכב‬ ‫נע‬ ‫ובאמצעותם‬ ‫במחשב‬ ‫המשתמש‬ ‫ממשק‬ ‫דרך‬ ‫הנשלטים‬ ‫מהמחשב‬ ‫ורק‬ ‫אך‬ ‫מגיעות‬ ‫והחיווי‬ ‫התנועה‬ ‫הוראות‬ ‫כל‬ ‫העת‬ ‫כל‬ ‫המעבירה‬‫הרלוונטים‬ ‫למוצאים‬ ‫רצוי‬ ‫מתח‬ 3.4.1‫סרוו‬ ‫מנועי‬ ‫חיבור‬ ‫מנועי‬ ‫שני‬ ‫עם‬ ‫עבדנו‬ ‫שלנו‬ ‫בפרויקט‬ continuous rotation" ‫ב‬ ‫המחבר‬-Servo‫שלנו‬ ‫כבל‬‫אדום‬-5‫וולט‬ ‫שחור‬-‫אדמה‬. ‫לבן‬-PWM(pulse width modulation) ‫איור‬46–‫ה‬ ‫מנוע‬ ‫תנועת‬ ‫כיווני‬
  • 48.
    - 48 - ‫פסיקות‬‫לפי‬ ‫מתבצעת‬ ‫המבוקש‬ ‫במצב‬ ‫הבחירה‬‫מ‬ ‫המגיעות‬‫המשתמש‬ ‫ממשק‬.‫האותיות‬f, b, r, l‫את‬ ‫מכתיבות‬ ‫בוחר‬ ‫המשתמש‬ ‫בהם‬ ‫הכיוונים‬‫הרובוט‬ ‫את‬ ‫להניע‬. ‫נסיעה‬ ‫פונקציות‬ ‫ארבע‬ ‫בנינו‬ ‫במרחב‬ ‫נוחה‬ ‫תנועה‬ ‫עבור‬: 'f'–‫קדימה‬:‫ה‬-Servo‫השעון‬ ‫כיוון‬ ‫עם‬ ‫מסתובב‬ ‫הימני‬.‫ה‬-Servo‫השעון‬ ‫כיוון‬ ‫נגד‬ ‫מסתובב‬ ‫השמאלי‬. 'b'–‫אחורה‬:‫ה‬-Servo‫השעון‬ ‫כיוון‬ ‫נגד‬ ‫מסתובב‬ ‫הימני‬.‫ה‬-Servo‫השעון‬ ‫כיוון‬ ‫עם‬ ‫מסתובב‬ ‫השמאלי‬. 'r'–‫ימינה‬:‫ה‬-Servo‫השעון‬ ‫כיוון‬ ‫נגד‬ ‫מסתובב‬ ‫השמאלי‬.‫ה‬-Servo‫עוצר‬ ‫הימני‬. 'l'–‫שמאלה‬:‫ה‬-Servo‫השעון‬ ‫כיוון‬ ‫עם‬ ‫מסתובב‬ ‫הימני‬.‫ה‬-Servo‫עוצר‬ ‫השמאלי‬. ‫אינ‬ ‫לא‬ ‫אמנם‬ ‫הסיבובים‬ ‫כיוון‬‫טואטיבי‬,‫ה‬ ‫שמנועי‬ ‫משום‬ ‫נובע‬ ‫הדבר‬ ‫אך‬-Servo‫הש‬ ‫מול‬ ‫אחד‬ ‫מחוברים‬‫ולכן‬ ‫ני‬ ‫מראה‬ ‫כעיקרון‬ ‫היא‬ ‫פעולתם‬.‫קדימה‬ ‫בתנועה‬Servo‫השעון‬ ‫כיוון‬ ‫עם‬ ‫מסתובב‬ ‫ימין‬,‫אך‬Servo‫חייב‬ ‫שמאל‬ ‫יחדיו‬ ‫שינועו‬ ‫כדי‬ ‫השעון‬ ‫כיוון‬ ‫נגד‬ ‫להסתובב‬. ‫בנינו‬ ‫התנועה‬ ‫את‬ ‫לייצר‬ ‫כדי‬Component‫פרמטרים‬ ‫שני‬ ‫שמקבל‬-Duty cycle‫וע‬ ‫תדר‬ ‫ומחלק‬"‫מייצר‬ ‫כך‬ ‫י‬ ‫אות‬PWM‫ל‬ ‫מועבר‬ ‫אשר‬-Servo‫המבוקש‬. ‫איור‬48–‫ה‬ ‫רכיבי‬-PWM‫השונים‬ ‫בערוצים‬
  • 49.
    - 49 - ‫אות‬‫רוחב‬ ‫מצבי‬ ‫שלושה‬ ‫עם‬ ‫עבדנו‬:1,1.5‫ו‬2‫מילישניות‬.‫לוח‬ ‫על‬ ‫התבצעה‬ ‫בפרויקט‬ ‫העבודה‬FPGA‫חברת‬ ‫של‬ ALTERA‫בשם‬DE0-nano‫תדירות‬ ‫בעל‬‫של‬ ‫שעון‬50‫הרץ‬ ‫מגה‬.‫רוחב‬ ‫ליצור‬ ‫בכדי‬‫אות‬‫מסוים‬,‫השתמשנו‬ ‫תדר‬ ‫במחלק‬)‫בשם‬ ‫משתנה‬FREQ‫כפרמטר‬ ‫הנשלח‬(‫המבוקש‬ ‫לתדר‬ ‫בהתאם‬.‫ה‬ ‫אות‬-PWM‫בו‬ ‫למצב‬ ‫מחולק‬ ‫ב‬ ‫נמצא‬ ‫הוא‬-'high'‫וב‬ ‫מהזמן‬ ‫חלק‬-'low'‫הזמן‬ ‫ביתר‬,‫ע‬"‫ערך‬ ‫י‬Duty cycle‫כפרמטר‬ ‫הנשלח‬.‫שה‬ ‫מכיוון‬- Duty cycle‫דרך‬ ‫נוצר‬PROCESS‫ע‬ ‫פועל‬ ‫אשר‬"‫המשתנה‬ ‫בתדר‬ ‫שעון‬ ‫פ‬FREQ‫בעלייתו‬ ‫רק‬ ‫ומופעל‬,‫להשתמש‬ ‫יש‬ ‫תדר‬ ‫במחלק‬(FREQ)‫פי‬ ‫הגדול‬2‫הרצוי‬ ‫מהתדר‬.‫התדר‬ ‫מחלקי‬ ‫ליצירת‬ ‫השתמשנו‬ ‫בהם‬ ‫הערכים‬ ‫מכאן‬‫הם‬: 1 <======== 50 2 25000 = 1 1.5 <======== 50 2 37500 = 2 3 2 <======== 50 2 50000 = 0.5 ‫ה‬ ‫פרמטר‬-Duty cycle‫בתדר‬ ‫המחולק‬ ‫השעון‬ ‫את‬ ‫סוכם‬FREQ‫ל‬ ‫מנת‬ ‫על‬‫של‬ ‫כולל‬ ‫מחזור‬ ‫לזמן‬ ‫הגיע‬20 ‫מילישניות‬: ‫של‬ ‫פולס‬ ‫רוחב‬ ‫עבור‬1ms)‫השעון‬ ‫כיוון‬ ‫עם‬ ‫סיבוב‬(,Duty cycle=20. ‫של‬ ‫פולס‬ ‫רוחב‬ ‫עבור‬2ms)‫השעון‬ ‫כיוון‬ ‫נגד‬ ‫סיבוב‬(,Duty cycle=10. ‫של‬ ‫פולס‬ ‫רוחב‬ ‫עבור‬1.5ms)‫המנוחה‬ ‫נקודת‬(,Duty cycle=13.‫יוצא‬ ‫המחזור‬ ‫זמן‬19.5ms,‫יש‬ ‫אמנם‬ ‫הרצוי‬ ‫המחזור‬ ‫מזמן‬ ‫קל‬ ‫הפרש‬,‫מנועי‬ ‫אבל‬Servo"‫סלחנים‬"‫של‬ ‫לטווח‬ ‫עד‬ ‫לשינויים‬10%‫האות‬ ‫ברוחב‬. ‫איור‬49–‫התדר‬ ‫מחלק‬ ‫ערכי‬ ‫איור‬50–‫אותות‬PWM‫ה‬ ‫למנועי‬ ‫הנשלחים‬-Servo
  • 50.
    - 50 - ‫סכימה‬‫מערכי‬ ‫שני‬ ‫ישנם‬ ‫בתרשים‬ ‫לראות‬ ‫שניתן‬ ‫כפי‬,‫ליצירת‬ ‫משמש‬ ‫והראשי‬ ‫הגדול‬‫התדר‬ ‫מחלק‬FREQ‫והשני‬ ‫ה‬ ‫לייצור‬ ‫לסכימה‬ ‫משמש‬ ‫יותר‬ ‫והקטן‬Duty cycle -‫הרצוי‬. ‫איור‬51–‫סכמת‬RTL‫ה‬ ‫רכיב‬ ‫של‬-PWM
  • 51.
    - 51 - 3.4.2‫ה‬‫נוריות‬ ‫חיבור‬-Led ‫ה‬ ‫נוריות‬ ‫עבור‬-Led‫ווקטור‬ ‫הגדרנו‬(COLOR_VEC)‫באורך‬3‫שונה‬ ‫ערך‬ ‫שמקבל‬ ‫סיביות‬‫פסיקה‬ ‫בכל‬. COLOR_VEC(2)COLOR_VEC(1)COLOR_VEC(0) ‫ה‬ ‫נוריות‬-Led‫הבאים‬ ‫לווקטורים‬ ‫בהתאם‬ ‫יידלקו‬: "100"–‫ה‬ ‫את‬ ‫מדליק‬-Led‫הירוק‬. "010"–‫ה‬ ‫את‬ ‫מדליק‬-Led‫האדום‬. "001"–‫ה‬ ‫את‬ ‫מדליק‬-Led‫הצהוב‬. ‫עבור‬‫כל‬‫אחרת‬ ‫פסיקה‬,‫מוצא‬‫ה‬-"COLOR_VEC"‫יהיה‬"000",‫עיגול‬ ‫זיהוי‬ ‫מלבד‬ ‫אחרת‬ ‫פקודה‬ ‫כל‬ ‫עבור‬ ‫כלומר‬ ‫באחד‬‫משלושת‬‫הצבעים‬‫הגדרנו‬ ‫אשר‬,‫יכובו‬‫הנוריות‬ ‫כל‬ ‫את‬.‫הדלקת‬‫הנוריות‬‫הבהוב‬ ‫של‬ ‫באופן‬ ‫מתבצעת‬.‫ב‬‫תוך‬ ‫ה‬ ‫את‬ ‫שממפה‬ ‫הרכיב‬‫נוריות‬,‫ה‬‫כנסנו‬‫סו‬‫ה‬ ‫כם‬‫הנורית‬ ‫את‬ ‫ומכבה‬ ‫שמדליק‬ ‫שעון‬ ‫מייצר‬‫ה‬‫מ‬‫תאימה‬‫ל‬ ‫אחת‬‫שניה‬. ‫איור‬52–‫ה‬ ‫נוריות‬ ‫וכיבוי‬ ‫הדלקת‬ ‫רכיב‬-Led ‫איור‬53–‫ה‬ ‫נוריות‬ ‫וכיבוי‬ ‫הדלקת‬ ‫ווקטור‬-Led ‫איור‬54–‫ה‬ ‫בהפעלת‬ ‫ששולט‬ ‫הרכיב‬ ‫סכמת‬-Led
  • 52.
    - 52 - 3.4.3‫ה‬‫חיבור‬-Buffer ‫ה‬ ‫רגלי‬I/O‫מ‬ ‫מוציאות‬ ‫ברכיב‬‫של‬ ‫תח‬3.3‫ה‬ ‫מנועי‬ ‫ואילו‬ ‫וולט‬-Servo‫צורכים‬‫על‬ ‫שעולה‬ ‫מתח‬4.8‫וולט‬. ‫המבוא‬ ‫בפרק‬ ‫סקרנו‬ ‫אותו‬ ‫מתח‬ ‫מגביר‬ ‫חוצץ‬ ‫הוא‬ ‫זו‬ ‫לבעיה‬ ‫הפתרון‬. MC74HC541A – octal buffer‫חוצץ‬ ‫הינו‬‫בעל‬8‫מו‬ ‫ושמונה‬ ‫כניסות‬‫צאים‬.‫ה‬ ‫כניסות‬ ‫את‬-Enable:1OE‫ו‬- 2OE‫יחדיו‬ ‫חיברנו‬‫ה‬ ‫מלוח‬ ‫רגל‬ ‫אל‬-FPGA‫ממנה‬ ‫מוציאים‬ ‫אנו‬ ‫אשר‬"‫מתח‬‫נמוך‬"(low)‫ב‬‫את‬ ‫לאפשר‬ ‫כדי‬ ‫החוצץ‬ ‫פעולת‬. ‫חיברנו‬‫לחוצץ‬‫של‬ ‫בגובה‬ ‫חיצוני‬ ‫מתח‬ ‫מקור‬5‫כ‬ ‫וולט‬-Vcc.‫ה‬ ‫לוח‬ ‫של‬ ‫המוצא‬ ‫אות‬ ‫את‬-FPGA‫להפעלת‬ ‫המיועד‬ ‫ה‬-Servo,‫אל‬ ‫חיברנו‬‫מבוא‬‫החוצץ‬)A‫בתרשים‬(‫ו‬‫המוצא‬ ‫את‬)Y‫בתרשים‬(‫ה‬ ‫אל‬ ‫חיברנו‬-Servo‫או‬ ‫שלו‬ ‫כסיגנל‬ ‫ה‬ ‫כאות‬-PWM. ‫איור‬55–‫בודד‬ ‫חוצץ‬ ‫של‬ ‫הפנימי‬ ‫המבנה‬
  • 53.
    - 53 - ‫פרק‬4–‫ומסקנות‬‫סיכום‬ 4.1‫סיכום‬ ‫לייצר‬ ‫תכננו‬ ‫העבודה‬ ‫בתחילת‬‫פרויקט‬‫משחקית‬ ‫סביבה‬ ‫או‬ ‫משחק‬ ‫שידמה‬‫ו‬‫תחומי‬ ‫מבחינת‬ ‫רחב‬ ‫שיהיה‬ ‫המימוש‬,‫ש‬ ‫דבר‬‫לנו‬ ‫יקנה‬‫להיחשף‬ ‫רצינו‬ ‫אליהם‬ ‫שונים‬ ‫בתחומים‬ ‫והיכרות‬ ‫ניסיון‬.‫י‬ ‫שהפרויקט‬ ‫השתדלנו‬‫י‬‫גע‬ ‫בטכנולוגיה‬‫היום‬ ‫ביותר‬ ‫הרלוונטית‬,‫והיינו‬ ‫התואר‬ ‫במהלך‬ ‫ללמוד‬ ‫שנהנינו‬ ‫העולמות‬ ‫את‬ ‫לשלב‬ ‫הרצון‬ ‫מתוך‬ ‫בעתיד‬ ‫בהם‬ ‫לעסוק‬ ‫רוצים‬. ‫תחומים‬ ‫במספר‬ ‫ניסיון‬ ‫רכשנו‬ ‫זה‬ ‫בפרויקט‬: 1.‫רכיב‬ ‫עם‬ ‫עבודה‬FPGA‫ו‬‫ב‬ ‫כתיבה‬-VHDL. 2.‫הממשק‬ ‫בתוך‬ ‫וידאו‬ ‫שידור‬ ‫והטמעת‬ ‫משתמש‬ ‫ממשק‬ ‫כתיבת‬. 3.‫אמת‬ ‫בזמן‬ ‫ודגימתו‬ ‫וידאו‬ ‫עיבוד‬‫מ‬ ‫כחלק‬‫אמת‬ ‫בזמן‬ ‫הקורים‬ ‫תהליכים‬ ‫עם‬ ‫התמודדות‬. 4.‫כבלים‬ ‫בתחליפי‬ ‫שימוש‬‫כדוגמת‬Bluetooth‫ו‬-WiFi. 5.‫במנועי‬ ‫שליטה‬Servo,‫שונים‬ ‫במנועים‬ ‫שונה‬ ‫תנועה‬ ‫לייצר‬ ‫הקושי‬ ‫כולל‬. ‫להודות‬ ‫ברצוננו‬‫הפרויקט‬ ‫את‬ ‫לבצע‬ ‫וההזדמנות‬ ‫הכלים‬ ‫את‬ ‫לנו‬ ‫נתנו‬ ‫אשר‬ ‫ולמרצים‬ ‫למכללה‬ ‫הזה‬ ‫המעניין‬. 4.1.1‫התמודדנו‬ ‫איתם‬ ‫קשיים‬‫הפרויקט‬ ‫במהלך‬ ‫קשים‬ ‫מעט‬ ‫לא‬ ‫עם‬ ‫התמודדנו‬ ‫הפרויקט‬ ‫במהלך‬,‫רשימה‬ ‫להלן‬‫חלקית‬: 1.‫היה‬ ‫הראשון‬ ‫הקושי‬‫בכתיבת‬ ‫להתמקצע‬UART‫לממש‬ ‫רצינו‬ ‫אותה‬ ‫הספציפית‬ ‫למשימה‬ ‫שיותאם‬,‫החיבור‬ ‫ה‬ ‫מודם‬ ‫עם‬-Bluetooth‫ל‬ ‫הקוד‬ ‫וצריבת‬‫ה‬ ‫זיכרון‬-EEPROM‫ב‬-FPGA‫מ‬ ‫בניתוק‬ ‫ימחק‬ ‫שלא‬ ‫כך‬‫ה‬‫חשמל‬. ‫הספר‬‫חברבר‬ ‫אייל‬ ‫של‬‫עזר‬‫לנו‬‫הפתרונות‬ ‫את‬ ‫להבין‬‫הבעיה‬ ‫את‬ ‫לפתור‬ ‫וכך‬ ‫האפשריים‬. 2.‫מצלמה‬ ‫בחירת‬:‫מצלמ‬ ‫לבחור‬ ‫זמן‬ ‫לנו‬ ‫לקח‬‫להמשך‬ ‫אותו‬ ‫ולמשוך‬ ‫לשידור‬ ‫להתחבר‬ ‫איך‬ ‫ידענו‬ ‫לא‬ ‫כי‬ ‫ה‬ ‫ב‬ ‫עיבוד‬-MATLAB.‫לעשו‬ ‫הרצון‬ ‫היה‬ ‫אותנו‬ ‫שהנחה‬ ‫נוסף‬ ‫פרמטר‬‫לאנשים‬ ‫שזמינים‬ ‫במכשירים‬ ‫שימוש‬ ‫ת‬ ‫הפרויקט‬ ‫לצורך‬ ‫במיוחד‬ ‫מוזמנים‬ ‫ואינם‬ ‫רבים‬. ‫כלכלית‬ ‫מבחינה‬,‫בחרנו‬ ‫אנו‬ ‫ולכן‬ ‫יותר‬ ‫עלתה‬ ‫המצלמה‬ ‫גם‬ ‫כך‬ ‫גבוהות‬ ‫היו‬ ‫שדרישותינו‬ ‫ככל‬‫במצלמת‬ ‫הסמארטפון‬,‫על‬ ‫שעונה‬ ‫נגיש‬ ‫מוצר‬‫לפרויקט‬ ‫הרלוונטיות‬ ‫הדרישות‬.
  • 54.
    - 54 - 3.‫בשלב‬‫כתיבת‬‫ממשק‬‫ה‬‫ב‬‫משתמש‬-MATLAB,‫הוידאו‬ ‫את‬ ‫לחבר‬ ‫מנת‬ ‫על‬ ‫רבים‬ ‫וטעייה‬ ‫וניסוי‬ ‫זמן‬ ‫לנו‬ ‫לקח‬ ‫ה‬ ‫לתוך‬ ‫מהמצלמה‬ ‫המגיע‬-GUI,‫הפקדים‬ ‫את‬ ‫ליצור‬‫הרובוט‬ ‫את‬ ‫לנווט‬ ‫ניתן‬ ‫עמו‬ ‫ממשק‬ ‫ולייצר‬ ‫השונים‬ ‫במרחב‬.‫הבאים‬ ‫המקורות‬ ‫בשלושת‬ ‫בעיקר‬ ‫נעזרנו‬‫ב‬‫להתגבר‬ ‫כדי‬‫הללו‬ ‫הבעיות‬ ‫על‬: HELP-‫פונקצ‬‫ב‬ ‫הקיימת‬ ‫האוטומטית‬ ‫העזרה‬ ‫ית‬MATLAB -. http://www.mathworks.com–‫ה‬ ‫אתר‬‫יצרני‬ ‫של‬ ‫בית‬MATLAB.‫ביותר‬ ‫שימושי‬,‫ומלא‬ ‫מפורט‬ ‫בדוגמאות‬. ‫שונים‬ ‫חובבים‬ ‫ובלוגי‬ ‫פורומים‬-‫וללמוד‬ ‫להחכים‬ ‫ניתן‬ ‫מהם‬ ‫אנשים‬ ‫של‬ ‫בהתנסויות‬ ‫מלאה‬ ‫הרשת‬. 4.‫וידאו‬ ‫לעבד‬ ‫כיצד‬‫תמונה‬ ‫עיבוד‬ ‫בכלי‬:‫עיבדנו‬ ‫בפרויקט‬‫פעם‬ ‫בכל‬‫מהוידאו‬ ‫אחת‬ ‫תמונה‬.‫הדבר‬ ‫בתחילה‬ ‫נוספת‬ ‫תמונה‬ ‫דוגמים‬ ‫אנחנו‬ ‫וכבר‬ ‫אחת‬ ‫תמונה‬ ‫של‬ ‫עיבוד‬ ‫גמרנו‬ ‫וטרם‬ ‫היות‬ ‫מרובות‬ ‫לקריסות‬ ‫הוביל‬. ‫זה‬ ‫קושי‬ ‫על‬ ‫להתגבר‬ ‫מנת‬ ‫על‬,‫תמונה‬ ‫כל‬ ‫של‬ ‫והעיבוד‬ ‫הבדיקה‬ ‫הליך‬ ‫משך‬ ‫את‬ ‫ייעלנו‬,‫גודל‬ ‫את‬ ‫הקטנו‬ ‫הוספנו‬ ‫גם‬ ‫ולבסוף‬ ‫המעובדת‬ ‫התמונה‬'‫פאוזה‬'‫מאולצת‬‫ב‬‫רציפה‬ ‫עבודה‬ ‫לאפשר‬ ‫כדי‬. 5.‫מרובים‬ ‫אובייקטים‬ ‫זיהוי‬:‫בתחילה‬ ‫שכתבנו‬ ‫באלגוריתם‬,‫מספר‬ ‫ישנם‬ ‫בתמונה‬ ‫בו‬ ‫מצב‬ ‫על‬ ‫דגש‬ ‫שמנו‬ ‫לא‬ ‫אובייקטים‬.‫לא‬ ‫היה‬ ‫הפיתרון‬ ‫זה‬ ‫במקרה‬‫אובי‬ ‫של‬ ‫זיהוי‬ ‫פשר‬‫י‬‫אחד‬ ‫קט‬‫בלבד‬‫ריצה‬ ‫בכל‬. 6.‫צל‬ ‫בעיות‬:‫ה‬ ‫ערכי‬ ‫הסטת‬ ‫של‬ ‫בעיה‬ ‫יש‬ ‫צבע‬ ‫בזיהוי‬-RGB‫לאור‬ ‫החשיפה‬ ‫מידת‬ ‫של‬ ‫שינוי‬ ‫בכל‬.‫הפתרון‬ ‫צבע‬ ‫כל‬ ‫לייצוג‬ ‫ערכים‬ ‫של‬ ‫רחבה‬ ‫קשת‬ ‫לאפשר‬ ‫היה‬ ‫שמצאנו‬. 4.1.2‫הפרויקט‬ ‫להמשך‬ ‫הצעות‬ ‫רבים‬ ‫במישורים‬ ‫עבדנו‬ ‫שבפרויקט‬ ‫משום‬,‫לקחת‬ ‫ניתן‬ ‫ראשית‬‫כ‬‫דיוק‬ ‫לרמות‬ ‫אותו‬ ‫ולשכלל‬ ‫בנפרד‬ ‫אלמנט‬ ‫ל‬ ‫יותר‬ ‫טובות‬ ‫וביצועיות‬,‫בשלמותו‬ ‫הפרויקט‬ ‫של‬ ‫יותר‬ ‫הרחב‬ ‫ובהקשר‬: 1.‫לשי‬ ‫השתמשנו‬ ‫בה‬ ‫התוכנה‬ ‫את‬ ‫לשנות‬ ‫ניתן‬‫ד‬‫למחשב‬ ‫הוידאו‬ ‫ור‬,‫של‬ ‫נוספות‬ ‫ביכולות‬ ‫שתשתמש‬ ‫לתוכנה‬ ‫הטלפון‬,‫ג‬ ‫חיישני‬ ‫או‬ ‫סאונד‬ ‫הקלטת‬ ‫זה‬ ‫אם‬ ‫בין‬'‫ירוסקופ‬.‫יהי‬ ‫כך‬‫המתרח‬ ‫על‬ ‫יותר‬ ‫רחב‬ ‫מידע‬ ‫לקבל‬ ‫ניתן‬ ‫ה‬‫ש‬ ‫הרובוט‬ ‫בסביבת‬. 2.‫לשנות‬ ‫ניתן‬,‫ולצורות‬ ‫נוספים‬ ‫לצבעים‬ ‫שבנינו‬ ‫האלגוריתם‬ ‫של‬ ‫הזיהוי‬ ‫יכולות‬ ‫את‬ ‫ולהרחיב‬ ‫להוסיף‬ ‫נוספות‬ ‫גיאומטריות‬. 3.‫אודות‬ ‫מידע‬ ‫להחזיר‬ ‫וכך‬ ‫אור‬ ‫חיישן‬ ‫או‬ ‫טמפרטורה‬ ‫חיישן‬ ‫כגון‬ ‫לרובוט‬ ‫חיצוניים‬ ‫חיישנים‬ ‫להוסיף‬ ‫ניתן‬ ‫הסביבה‬‫ה‬ ‫דרך‬ ‫נמצא‬ ‫הרובוט‬ ‫בה‬-UART,‫נוסף‬ ‫בצינור‬ ‫מידע‬ ‫לקבל‬ ‫שנוכל‬ ‫כך‬‫ה‬ ‫מלבד‬‫מצלמה‬,‫של‬ ‫במקרה‬ ‫ה‬ ‫ברשת‬ ‫תקלה‬-WiFi.
  • 55.
    - 55 - 4.2‫ביבליוגרפיה‬ 1.https://learn.sparkfun.com/tutorials/using-the-bluesmirf/all 2. http://www.idogendel.com/whitebyte 3. http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en558330 4. http://www.mathworks.com 5. https://www.wikipedia.org 6. http://www.bluetooth.com/Pages/Bluetooth-Home.aspx 7. http://www.lirtex.com/he 8. https://www.pololu.com/product/1248 9. https://github.com 10. Terasic DE0-Nano User Manual.
  • 56.
    - 56 - ‫הנדסי‬‫לפרויקט‬ ‫הצעה‬–‫חולון‬ ‫טכנולוגי‬ ‫מכון‬-H.I.T. ‫חשמל‬ ‫להנדסת‬ ‫הפקולטה‬,‫ותקשורת‬ ‫אלקטרוניקה‬ )50076( ‫שנה‬ 5102 ‫ראשונית‬ ‫הגשה‬ ‫תאריך‬:15.04.15 ‫ההצעה‬ ‫אישור‬ ‫תאריך‬: ‫משוער‬ ‫סיום‬ ‫תאריך‬:01.01.16 ‫א‬.‫הסטודנט‬ ‫פרטי‬/‫ים‬: 1‫מלא‬ ‫שם‬‫רחימי‬ ‫שלומי‬2‫מלא‬ ‫שם‬‫אדיר‬‫ציון‬ ‫זהות‬ ‫תעודת‬301287223‫זהות‬ ‫תעודת‬38084455 ‫טלפון‬052-4622935‫טלפון‬050-9944497 ‫דואר‬ ‫אלקטרוני‬ Shlomir25@gmail.com‫דואר‬ ‫אלקטרוני‬ adirdido@hotmail.com ‫הסטודנט‬ ‫חתימת‬‫הסטודנט‬ ‫חתימת‬ ‫רחימי‬ ‫שלומי‬__‫ציון‬ ‫אדיר‬__ ‫ב‬.‫שם‬‫הפרויקט‬ ‫בעברית‬ ‫הפרויקט‬ ‫שם‬) :‫עד‬8‫מילים‬(: ‫ע‬ ‫הנשלט‬ ‫רובוט‬ ‫באמצעות‬ ‫ממוחשבת‬ ‫ראייה‬ ‫תוצרי‬ ‫יישום‬"‫י‬GAFP. Project Name: (Up to 8 words): Implementation of computer vision products using a robot controlled by FPGA. ‫ג‬.‫המנחים‬ ‫שמות‬: ‫אקדמי‬ ‫מנחה‬:‫ד‬"‫נונל‬ ‫טירר‬ ‫ר‬‫חתימה‬: ‫נוסף‬ ‫מנחה‬:‫חתימה‬:
  • 57.
    - 57 - ‫ד‬.‫לפרויקט‬‫ורציונאל‬ ‫רקע‬ ‫כללי‬ ‫רקע‬ ‫להכיל‬ ‫והרציונאל‬ ‫הרקע‬ ‫על‬,‫של‬ ‫בהיקף‬ ‫ורעיונות‬ ‫מוטיבציה‬‫לפחות‬10‫שורות‬. ‫השונים‬ ‫ליישומיים‬ ‫בהתאם‬ ‫הצורך‬ ‫ותיאור‬ ‫שיווק‬ ‫לשיקולי‬ ‫להתייחס‬ ‫יש‬)‫לב‬ ‫שימו‬!‫מטרת‬ ‫אינו‬ ‫רקע‬ ‫הפרויקט‬ ‫תיאור‬ ‫ואינו‬ ‫הפרויקט‬(! ‫כללי‬ ‫רקע‬-)‫מקסימום‬5‫שורות‬( ‫לפעולות‬ ‫כתחליף‬ ‫ברובוטים‬ ‫וגובר‬ ‫ההולך‬ ‫היומיומי‬ ‫השימוש‬ ‫את‬ ‫לראות‬ ‫ניתן‬ ‫האחרונות‬ ‫השנים‬ ‫במהלך‬ ‫אנושיות‬.‫ה‬ ‫הוא‬ ‫לכך‬ ‫דוגמא‬-IROBOT)‫הבית‬ ‫לניקוי‬ ‫רובוט‬(‫גוגל‬ ‫של‬ ‫הרובוטי‬ ‫והרכב‬)‫בתהליכי‬ ‫שנמצא‬ ‫רישוי‬.( ‫רציונאל‬-‫לפרויקט‬ ‫מוטיבציה‬-‫מקסימום‬5‫שורות‬( ‫שונים‬ ‫פיזיים‬ ‫ומצבים‬ ‫למקרים‬ ‫רובוט‬ ‫בעזרת‬ ‫מכני‬ ‫מענה‬ ‫לתת‬ ‫היא‬ ‫לפרויקט‬ ‫המוטיבציה‬.‫לדוגמא‬ ‫כך‬, ‫בהתאם‬ ‫במרחב‬ ‫הרובוט‬ ‫התמצאות‬‫בפניו‬ ‫שמוצגים‬ ‫לאילוצים‬. ‫ה‬.‫הפרויקט‬ ‫מטרת‬/‫הפרויקט‬ ‫היקף‬ ‫מטרה‬ ‫עיקרית‬ ‫שונות‬ ‫צורות‬ ‫המכילות‬ ‫תמונות‬ ‫עיבוד‬‫שונים‬ ‫בצבעים‬‫לביצוע‬ ‫לרובוט‬ ‫פקודות‬ ‫ומתן‬ ‫בהתאם‬ ‫משימות‬‫מהתמונות‬ ‫שיופק‬ ‫למידע‬. ‫ו‬.‫הפרויקט‬ ‫תוצרי‬:)‫הפרויקט‬ ‫להצלחת‬ ‫כמותיים‬ ‫מדדים‬.(‫הפרויקט‬ ‫מטרת‬ ‫בין‬ ‫קורלציה‬ ‫לוודא‬ ‫יש‬ ‫לתוצרים‬ ‫הפלטפורמה‬ ‫מהי‬ ‫לציין‬ ‫כן‬ ‫כמו‬ ‫יודגם‬ ‫ומה‬ ‫סופי‬ ‫כתוצר‬ ‫יוצג‬ ‫מה‬ ‫לפרט‬ ‫סימולציה‬ ‫לגבי‬ ‫קיימת‬ ‫ואם‬ ‫לסימולציה‬.‫המעגל‬ ‫מה‬ ‫לפרט‬ ‫בנייה‬ ‫לגבי‬/‫יודגם‬ ‫ומה‬ ‫שיבנה‬ ‫מערכת‬. 1.‫שעברו‬ ‫מתמונות‬ ‫אמת‬ ‫בזמן‬ ‫מידע‬ ‫הפקת‬‫דיגיטלי‬ ‫עיבוד‬. 2.‫שליטה‬‫הביצוע‬ ‫בשרשרת‬ ‫השונים‬ ‫החלקים‬ ‫בין‬ ‫וסנכרון‬)‫עיבוד‬,‫הרובוט‬ ‫ותפעול‬ ‫המידע‬ ‫שליחת‬( ‫ז‬.‫מקורות‬ ‫לצרף‬ ‫יש‬‫העבודה‬ ‫מתבססת‬ ‫שעליו‬ ‫עיקרי‬ ‫אחד‬ ‫מקור‬. ‫לכתוב‬ ‫יש‬ ‫הנוספים‬ ‫המקורות‬ ‫בציון‬:‫מחבר‬ ‫שם‬,‫ספר‬ ‫שם‬/‫המקור‬ ‫נלקח‬ ‫ממנו‬ ‫מאמר‬,‫הוצאה‬,‫שנה‬ ‫ועמוד‬ http://www.mathworks.com1. https://learn.sparkfun.com/tutorials/using-the-bluesmirf/all2. Terasic DE0-Nano User Manual3.
  • 58.
    - 58 - ‫ח‬.‫הציוד‬‫השגת‬ ‫אופן‬ ‫ואת‬ ‫הפרויקט‬ ‫ביצוע‬ ‫לשם‬ ‫הנדרשים‬ ‫ייחודיים‬ ‫ורכיבים‬ ‫הציוד‬ ‫רשימת‬ ‫את‬ ‫פרט‬/‫רכיבים‬ ‫הציוד‬/‫רכיב‬‫השגתו‬ ‫אופן‬ 1.Bluetooth Modem‫ע‬"‫המכון‬ ‫י‬ 2.DE0-Nano board‫ע‬"‫המכון‬ ‫י‬ 3.‫מצלמת‬WIFI‫ע‬"‫המכון‬ ‫י‬,‫האישי‬ ‫הסמארטפון‬ ‫במצלמת‬ ‫בשימוש‬ ‫או‬ 4.‫חוטים‬,‫פשוט‬ ‫אלקטרוני‬ ‫וציוד‬ ‫מחברים‬‫ע‬ ‫והיתר‬ ‫ברשותנו‬ ‫שקיים‬ ‫ציוד‬"‫המכון‬ ‫י‬ ‫ט‬.‫בפרויקט‬ ‫פעילות‬ ‫גאנט‬ ‫הפרויקט‬ ‫בביצוע‬ ‫דרך‬ ‫ואבני‬ ‫פעילות‬.‫הגאנט‬ ‫טבלת‬ ‫למלא‬ ‫הסטודנט‬ ‫על‬ ‫פעילות‬/‫חודש‬ ‫חודש‬ 1 ‫חודש‬ 2 ‫חודש‬ 3 ‫חודש‬ 4 ‫חודש‬ 5 ‫חודש‬ 6 ‫חודש‬ 7 ‫חודש‬ 8 ‫וסביבת‬ ‫הנושא‬ ‫חקר‬ ‫העבודה‬XX ‫על‬ ‫החשמלי‬ ‫המעגל‬ ‫תכנון‬ ‫רכיביו‬ ‫כל‬XX ‫רכיבים‬ ‫של‬ ‫בחירה‬ ‫והזמנתם‬ ‫מתאימים‬X ‫אלגוריתם‬ ‫פיתוח‬)‫במידת‬ ‫הצורך‬(XX ‫דו‬"‫ביניים‬ ‫ח‬X ‫תוכנה‬ ‫כתיבת‬)‫במידה‬ ‫וקיימת‬(XXX ‫תוכנה‬ ‫סימולציה‬/ ‫אלגוריתם‬XX ‫החשמלי‬ ‫המעגל‬ ‫בניית‬ )‫וקיים‬ ‫במידה‬(‫ואינטרגציה‬ ‫רכיביו‬ ‫בין‬XXX ‫התוכנה‬ ‫בין‬ ‫אינטגרציה‬ ‫החומרה‬ ‫ורכיבי‬XX ‫בדיקת‬‫ותקינות‬ ‫תפקוד‬ ‫המערכת‬XX ‫פרויקט‬ ‫ספר‬ ‫כתיבת‬XXX
  • 59.
    - 59 - ‫י‬.‫סיכונים‬ 1.‫הפרויקט‬‫מטרות‬ ‫בהשגת‬ ‫סיכונים‬)‫קיימים‬ ‫אם‬( ‫ממנה‬ ‫רלוונטי‬ ‫מידע‬ ‫והפקת‬ ‫מדויק‬ ‫תמונה‬ ‫עיבוד‬ ‫בביצוע‬ ‫קושי‬. 2.‫תתמודד‬ ‫כיצד‬)‫הסטודנט‬(‫אלו‬ ‫סיכונים‬ ‫עם‬ ‫התמונה‬ ‫עיבוד‬ ‫מנגנון‬ ‫פישוט‬. ‫מאושר‬ ‫פרויקט‬‫בתנאי‬ ‫מאושר‬ ‫פרויקט‬‫מאושר‬ ‫לא‬ ‫פרויקט‬ ‫הערות‬‫הערות‬‫הערות‬ ‫פרויקטים‬ ‫רכז‬ ‫וחתימת‬ ‫שם‬ ____________________