יום שישי, 27 במאי 2011

רובוט GSM





פרויקט ראשון הוא רובוט אשר פועל על ידי פלאפון. פשוט כמשמעו.




זוהי הסכימה החשמלית:










מה שקורה בעצם בפרויקט הזה הוא שבנקודות TIP וRING מחברים אוזניה עם מיקרופון(דיברוית) כאשר חותכים את הכבל של הדיבורית מחברים את החוט השחור לאדמה(RING) ואת החוט האדום לTIP.
מקודת הTIP מחובר ברגלים 2 ו3 לIC1 שזהו בעצם מפענח טונים של טלפון כלומר , כאשר אתם לוחצים על המקשים בטלפון אתם שומעים צליל מסוים הצליל הזה בנוי משתי טונים בתדרים שונים, אחד נמוך והשני גבוה.
ניתן לראות בטבלה בדיוק מהם התדרים לכל מקש:



   1209 Hz
   1336 Hz
   1477 Hz
   1633 Hz
697 Hz
1
2
3
A
770 Hz
4
5
6
B
852 Hz
7
8
9
C
941 Hz
*
0

#
D






הMT8870 בעצם מתרגם את האותות האלה לקוד לוגי השער NOT הופך אותם והATMEGA16 מקבל אותם.
לפי התוכנה שצרובה בג'וק:


Robit.c
#include <mega16.h>    /ספריית המעבד/
void main(void)
{
unsigned int k, h;/קביעת משתנים שנקבעים על פי פרמטרים שונים/
DDRA=0x00;/קביעת שמות לכתובות/
DDRD=0XFF;
while (1)
{
k =~PINA;
h=k & 0x0F;
switch (h)
{
case 0x02: //עם נלחץ כפתור 2
{
PORTD=0x89;//סע קדימה
break;
}
case 0x08: //אם כפתור 8 זוהה
{
PORTD=0x86; //סע אחורה
break;
}
case 0x04:
{
PORTD=0x85; // פנה שמאלה
break;
}
case 0x06:
{
PORTD=0x8A; // פנה ימינה
break;
}
case 0x05:
{
PORTD=0x00; // עצור
break;
}
}
}
}
כל קוד משויך לOUT PUT שיוצא מהATMEGA16 למנהל המנועים. 

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

 




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



במנהל המנוע ישנם 4in ו4out כאשר כל in אחרי על out עם מספר זהה.
כלומר עם ניקח את השרטוט שלנו ונתמקד ברגליים של הIC3:
input רגל
output רגל
מספר in/out
2
3
1
7
6
2
10
11
3
15
14
4


אז אם אני רוצה לסובב בכיוון השעון את מנוע 1 (1M) אז אני צריך להביא '1' ברגל מספר 2 ו'0' ברגל 7.התוצאה  רגל 3 מוציאה '1' ו6 '0'.
רגל 2\רגל 11
רגל 7\רגל 15
פעולת המנוע
0
0
לא פועל
0
1
מסתובב נגד כיוון השעון
1
0
מסתובב עם כיוון השעון
1
1
לא פועל



.

התוצאה הסופית

אין תגובות:

הוסף רשומת תגובה