פרויקטון בקרת שער חניה
הסבר פרויקטון חומרה
VCC
VCC
P1
R
10k
R1
10K
200
P1
VCC
C8
U4
4
SLCT(D4)
PE(D5)
1
+
-
3
2
7
+
-
5
6
8
+
-
10
9
14
+
-
12
13
LM324
10K
0.1u
VCC=5V
R2
VCC1
1k
LED
DATA0
DATA1
2
7
10
15
M1
8
U2
16
MOTOR LEFT
CONNECTOR DB25F
D3
L293D
1A
2Y
2A
1Y
3A
3Y
4A
4Y
6
3
11
14
VCC=5V
1,2EN
3,4EN
4
5
13
12
GND
GND
GND
GND
1
9
IR משדר מקלט
ובכך הוא קובע אתIR קובע את עוצמת הזרם דרך הדיודהR1 הנגד-מעגל המשדר
.עוצמת השידור
. 1.2V IR מפל המתח על הדיודה
19mA=
5 − 1.2 VCC − VD
=
=I
200
R
sensor1
VCC
C9
DATA2
IR
0.1u
R1
R
200
11
1
14
2
15
3
16
4
17
5
18
6
19
7
20
8
21
9
22
10
23
11
24
12
25
13
VCC2
STROBE(D0-out2)
AUTO(D1-out2)
DATA0(out0)
ERROR(D3-in1)
DATA1(out0)
INT(D2-out2)
DATA2(out0)
SELECT(D3-out2)
DATA3(out0)
GND
DATA4(out0)
GND
DATA5(out0)
GND
DATA6(out0)
GND
DATA7(out0)
GND
ACKNLG(D6-in1)
GND
BUSY(D7-in1)
GND
PE(D5-in1)
GND
SLCT(D4-in1)
- חישוב הזרם דרך המשדר
IR
sensor2
מעגל המקלט -המקלט הוא פוטו טרנזיסטור ,זרם הבסיס נקבע על ידי קרינת . IR
כאשר המקלט קולט שידור ) IRאין חסימה( ,הזרם במעגל המקלט גדול.
מתח על R2גדול לפיכך המתח בנקודה Aקטן) .בסביבות , 0--0.5Vתלוי
בעוצמת הקליטה(.
בזמן חסימה בין המשדר למקלט ,הזרם בענף המקלט קטן עד למינימום ,מפל המתח על R2
קטן ,המתח בנקודה Aגדל )בסביבות .( 4-3V
VCC
בנקודה Aקיבלנו שינויי מתח.
R2
R1
10K
200
על מנת להפוך שינויים אלה ל '0' -או ''1
שהמחשב יזהה יש צורך במשווה.
IR
sensor1
C8
0.1u
תפקיד הקבל לסנן רעשים )מקצר את הרעשים לאדמה(.
משווה
המשווה בנוי ממגבר שרת בחוג פתוח
Vמחובר לנגד משתנה ואנו קובעים את המתח בנקודה לפי מחלק המתח של הנגד. V+מחובר לנקודה Aקולקטור הפוטוטרנזיסטור.
A
מתח המוצא של המשווה
V+ > V-
VOÎ '1'
V+ < V- VOÎ ' 0'
חיבור המשווה לכניסות\יציאות של המדפסת
VCC
VCC
P1
R2
10k
A
R1
10K
200
VCC
U4
IR
4
0.1u
+
-
3
2
7
+
-
5
6
8
+
-
10
9
14
+
-
12
13
sensor1
VCC
10K
200
11
1
LM324
C8
C9
0.1u
IR
sensor2
דוחף הזרם L293D
מאפיינים:
•
זרם מקסימלי 500mA
•
זרם רגעי 1.5mA
•
חסינות לרעש גבוהה
•
הגנה מפני התחממות
השימוש בדוחף הזרם הוא חיוני משום שלא ניתן לחבר ליציאות המחשב את המנוע בגלל צריכת זרם
גבוהה .המחשב מסוגל להוציא זרמים בערכי מילי אמפרים מנועי ה DC-בהם אנחנו משתמשים צורכים
עד מאה מילי אמפר ,ולכן התבקש להשתמש בדוחף כמתווך.
דוחף זה הוא מסוג Hבו מחוברים 4טרנזיסטורים אשר עובדים בקטעון או רוויה בהתאם לאות הכניסה.
בכך הם מאפשרים למתח המנועים להגיע למנוע בקוטביות מסוימת )מנוע מסתובב קדימה( ,בקוטביות
הפוכה )מנוע מסתובב הפוך( או ניתוק המתח )מנוע עוצר(.
מבנה עקרוני של דוחף מסוג H
הטרנזיסטורים משמשים כמפסקים )עבודה ברוויה ובקטעון(
כאשר S3,S2ברוויה ו S1,S4 -בקטעון הזרם יזרום מימין לשמאל המנוע יסתובב לכיוון אחד.
כאשר S1,S4ברוויה ו S3,S2 -בקטעון הזרם יזרום משמאל לימין המנוע יסתובב לכיוון השני.
תוכנה
>#include <windows.h
הכרזה על ספריות מובנות לשימוש בפונקציות
>#include <stdio.h
>#include<conio.h
;)short _stdcall Inp32(short portaddress
;)void _stdcall Out32(short portaddress,short data
*************************************//
//
password
*************************************//
)(int password
{
;int a,f
;char key
מערך של הקוד בערכי char code[4]={0x31,0x32,0x33,0x34}; ASCII
;]char get_code[4
הכרזה על מערך לקליטת הקוד מהמשתמש
הודעת הכנסת קוד
;)"
לולאה 4פעמים לקליטת הקוד
קליטת מקש בקוד
הכנסת הערך הנקלט למערך הקליטה
הדפסת * על המסך
printf(" ENTER PASSWORD:
)for (a=0;a<4;a++
{
key=getch(); ASCII
;get_code[a]=key
;)"*"(printf
}
)for (f=0,a=0;a<4;a++
לולאת בדיקת הקוד
{
)]if (code[a]!=get_code[a
האם הקוד הנקלט שונה מהקוד
{
האמיתי
;f=1
אם כן שים בדגל 1
;break
סיים את הלולאה
}
}
;return f
fקוד שגוי f=1קוד נכון f=0
החזר את
}
********************************************//
//
motor
*******************************************//
)(void motor
{
;int s
;)"printf("\n THE GATE IS OPEN\n
הודעת פתיחת השער
הפעלת המנוע לפתיחה והדלקת הלד ;)Out32(0x378,0x05
;)Sleep(2000
השהיה של 2שניות בה המנוע יעבוד
;)Out32(0x378,0x00
עצירת המנוע כיבוי הלד
;)Sleep(2000
השהייה 2שניות לאפשר מעבר רכב
{do
לולואה
קלוט מצב המפסקים למשתנה s=Inp32(0x379); s
בצע מיסוך לחיישני כניסה\יציאה s=s&0x30; d5,d4
}
;)while (s!=0x00
אם יש רכב בשער )חישניים ב ('1'-חזור על
הלולאה
;)"printf("\n THE GATE IS close\n
אין רכב בשער הוצא הודעת
סגירה
;)Out32(0x378,0x06
הפעל מנוע לסגירת השער
;)Sleep(2000
המתן 2שניות
;)Out32(0x378,0x00
עצור את המנוע השער סגור
}
**********************************************//
//
main
**********************************************//
)(void main
{
הכרזת משתנים
כיבוי מנוע ולד
הודעת
סריקה
קליטת כניסה מצב חיישני כניסה יציאה
מיסוך סיביות 4,5לבדיקת החיישנים
אם החיישנים ב '0'-לא הגיע רכב חזור
האם חיישן הכניסה הופעל )'('1
לולאה אין סופית
הפעל את הפונקציה לקליטת קוד
ערך מוחזר ' '0הקוד תקין
האם הקוד תקין
;int p,sensor
)while(1
{
;)Out32(0x378,0x00
;)"printf("SYSTEM SCANING\n
{do
;)sensor=Inp32(0x379
;sensor=sensor&0x30
}
;)while ((sensor&0x30)==0x00
)if (sensor==0x10
{
)while(1
{
;)(p=password
)if ( p==0
{
הפעל פונקצה לפתיחה וסגירה של השער ;)(motor
;)Sleep(5000
השהיה 5שניות
;break
}
else
הודעת שגיאה במידה ;)"printf("\n ERROR TRY AGAIN\n
והקוד שגוי
חיישן יציאה הופעל)'('1
הפעל פונקציה לפתיחה וסגירת השער
;)(motor
}
}
else
}
}
© Copyright 2025