با سلام
این پروژه از این قراره که یه کلید همه جهته دسته پلی استیشن 2 و یه ماتریس نقطه ای 8*8
به یه میکرو اتمگا 8 وصل شده و ما با حرکت دادن و تغییر جهت دادن اون کلید میتونیم موقعیتش رو
بر روی ماتریس ببینیم البته ناگفته نمونه که زبان برنامه نویسی بیسیکه
اول میرم سراغ توضیح در مورد این کلید در دسته پلی استیشن :
اگه دسته رو باز کنید داخلش این چیزا رو میبینید که داخل هر دسته 2 عدد از این کلیدها ( اصطلاحا بهش میگن joy stick )
وجود داره که در عکس مشخصشون کردم
دو کلید مثل هم نیستن ، فقط یکی از این دو در این پروژه بدرد ما میخوره و یکی دیگش کاربردی نداره اون کلیدی که ما در اینجا
لازمش داریم مثل کلید های زیره


وقتی که دسته رو باز کردید فقط یکی از دو کلیدها مانند بالایی ها هستن و دیگری این دو قطعه ( در واقع دو تا پتانسیومتر )
رو نداره و جاش خالیه و سوراخه ، پتانسیومترها رو تو شکل زیر میبینید


این تا اینجا بمونه تا بقیه توضیحاتش واسه بعدا
فیلم پروژه کامل شده :
البته ببخشید اگه کیفیت و تایمش کمه ، اینطوری خواستم از حجم زیادش و مشکلات بعدیش جلوگیری کنم
http://uplod.ir/impe25yuh8vp/joy stick.3gp.html
برنامه در بسکام :
$regfile = "m8def.dat"
$crystal = 1000000
Config Adc = Single , Prescaler = Auto , Reference = Avcc
Config Portd = Output , Portb = Output
Start Adc
Dim A As Word
Dim B As Word
Dim Pa As Byte , Pb As Byte
Portb = 0
Portd = 255
Pa = 255
Pb = 0
Wait 3
Do
A = Getadc(0)
B = Getadc(1)
Select Case A
Case Is < 147 : Pa = &B00111111
Case 147 To 293 : Pa = &B10011111
Case 293 To 439 : Pa = &B11001111
Case 439 To 586 : Pa = &B11100111
Case 589 To 733 : Pa = &B11110011
Case 733 To 880 : Pa = &B11111001
Case 880 To 1024 : Pa = &B11111100
End Select
Select Case B
Case Is < 147 : Pb = &B11000000
Case 147 To 293 : Pb = &B01100000
Case 293 To 439 : Pb = &B00110000
Case 439 To 586 : Pb = &B00011000
Case 589 To 733 : Pb = &B00001100
Case 733 To 880 : Pb = &B00000110
Case 880 To 1024 : Pb = &B00000011
End Select
Portd = Pa
Portb = Pb
Waitms 100
Loop
End
البته چند چیز جزیی در برنامه ( مثل پرانتز و $ و " ) جا به جا شدن خودتون درستش کنید ( بی زحمت !)
چون تو پروتئوس همچین کلیدی وجود نداره پس من فقط عکسی از پروتئوس برای نمایش شماتیک میزارم
( البته ناگفته نمونه خواستم فایل پروتئوس رو پ کنم ولی گفت با این پسوند قابل پ کردن نیست و من هم
از روی بی تجربگی نتونستم واسش چاره ای بیاندیشم ! )
این عکسه :

کلی توضیحات دیگه مونده
اینا بمونن تا شما دوستان نگاهی بهشون بندازید و نظراتتون رو بگید و من هم با اشتیاق بیشتر ادامه بدم
منتظرتونم
این پروژه از این قراره که یه کلید همه جهته دسته پلی استیشن 2 و یه ماتریس نقطه ای 8*8
به یه میکرو اتمگا 8 وصل شده و ما با حرکت دادن و تغییر جهت دادن اون کلید میتونیم موقعیتش رو
بر روی ماتریس ببینیم البته ناگفته نمونه که زبان برنامه نویسی بیسیکه
اول میرم سراغ توضیح در مورد این کلید در دسته پلی استیشن :
اگه دسته رو باز کنید داخلش این چیزا رو میبینید که داخل هر دسته 2 عدد از این کلیدها ( اصطلاحا بهش میگن joy stick )
وجود داره که در عکس مشخصشون کردم

دو کلید مثل هم نیستن ، فقط یکی از این دو در این پروژه بدرد ما میخوره و یکی دیگش کاربردی نداره اون کلیدی که ما در اینجا
لازمش داریم مثل کلید های زیره


وقتی که دسته رو باز کردید فقط یکی از دو کلیدها مانند بالایی ها هستن و دیگری این دو قطعه ( در واقع دو تا پتانسیومتر )
رو نداره و جاش خالیه و سوراخه ، پتانسیومترها رو تو شکل زیر میبینید


این تا اینجا بمونه تا بقیه توضیحاتش واسه بعدا
فیلم پروژه کامل شده :
البته ببخشید اگه کیفیت و تایمش کمه ، اینطوری خواستم از حجم زیادش و مشکلات بعدیش جلوگیری کنم
http://uplod.ir/impe25yuh8vp/joy stick.3gp.html
برنامه در بسکام :
$regfile = "m8def.dat"
$crystal = 1000000
Config Adc = Single , Prescaler = Auto , Reference = Avcc
Config Portd = Output , Portb = Output
Start Adc
Dim A As Word
Dim B As Word
Dim Pa As Byte , Pb As Byte
Portb = 0
Portd = 255
Pa = 255
Pb = 0
Wait 3
Do
A = Getadc(0)
B = Getadc(1)
Select Case A
Case Is < 147 : Pa = &B00111111
Case 147 To 293 : Pa = &B10011111
Case 293 To 439 : Pa = &B11001111
Case 439 To 586 : Pa = &B11100111
Case 589 To 733 : Pa = &B11110011
Case 733 To 880 : Pa = &B11111001
Case 880 To 1024 : Pa = &B11111100
End Select
Select Case B
Case Is < 147 : Pb = &B11000000
Case 147 To 293 : Pb = &B01100000
Case 293 To 439 : Pb = &B00110000
Case 439 To 586 : Pb = &B00011000
Case 589 To 733 : Pb = &B00001100
Case 733 To 880 : Pb = &B00000110
Case 880 To 1024 : Pb = &B00000011
End Select
Portd = Pa
Portb = Pb
Waitms 100
Loop
End
البته چند چیز جزیی در برنامه ( مثل پرانتز و $ و " ) جا به جا شدن خودتون درستش کنید ( بی زحمت !)
چون تو پروتئوس همچین کلیدی وجود نداره پس من فقط عکسی از پروتئوس برای نمایش شماتیک میزارم
( البته ناگفته نمونه خواستم فایل پروتئوس رو پ کنم ولی گفت با این پسوند قابل پ کردن نیست و من هم
از روی بی تجربگی نتونستم واسش چاره ای بیاندیشم ! )
این عکسه :

کلی توضیحات دیگه مونده
اینا بمونن تا شما دوستان نگاهی بهشون بندازید و نظراتتون رو بگید و من هم با اشتیاق بیشتر ادامه بدم
منتظرتونم
دیدگاه