سلام دوستان عزیز
من يه روبات مسير ياب درست کردم که توي طراحيش از ميکروو ATtiny2313 استفاده کردم و 7 تا سنسور هم داره سنسور ها از نوع فرستنده و گیرنده هستند در ضمن سنسور ها اول رفتن داخل آپ امپ lm324 بعد داخل میکرو.
ولي الان توي برنامه نويسيش موندم . البته خودم يه برنامه با bascom نوشتم ولي چون تسلط کافي ندارم نتونستم تمومش کنم.
برنامه خودم اینه :
کد php:
$regfile = "attiny2313.dat"
$crystal = 8000000
Config Timer1 = Pwm , Pwm = 10 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down , Prescale = 64
Config Portd = Input
Config Portb = Output
'motor rast
Pwm1a = 945
Portb.0 = 1
Portb.1 = 0
'motor chap
Pwm1b = 1023
Portb.6 = 0
Portb.7 = 1
Do
Gosub While
Loop
End
'mostaghim
Case&B0001000:
Pwm1a = 945
Pwm1b = 1023
Portb.0 = 1
Portb.7 = 1
'enheraf rast
Case&B0010000:
Pwm1a = 642
'enheraf chap
Case&B0000100:
Pwm1b = 720
'rast 90-120
Case&B0000010:
Gosub Rast_stop
While Pind.3 = 0
Portb.0 = 0
Wend
Portb.1 = 1
Waitms 20
Portb.1 = 0
Portb.0 = 1
Rast_stop:
Portb.0 = 0
Portb.1 = 1
Waitms 20
Portb.0 = 0
Portb.1 = 0
Return
'chap 90-120
Case&B0100000:
Gosub Chap_stop
While Pind.3 = 0
Portb.7 = 0
Wend
Portb.6 = 1
Waitms 20
Portb.6 = 0
Portb.7 = 1
Chap_stop:
Portb.6 = 1
Portb.6 = 0
Waitms 20
Portb.6 = 0
Portb.7 = 0
Return
'rast 60_1
Case&B0001111:
Gosub Rast_stop
While Pind.5 = 0
Portb.0 = 0
Wend
Portb.1 = 1
Waitms 20
Portb.0 = 1
Portb.1 = 0
'rast 60_2
Case&B0000001:
Gosub Rast_stop
While Pind.5 = 0
Portb.0 = 0
Wend
Portb.1 = 1
Waitms 20
Portb.0 = 1
Portb.1 = 0
'black detect_1
Case&B1110111:
Gosub Black
'black detect_2
Case&B1111111:
Gosub Black
Case Else
Pwm1a = 945
Pwm1b = 1023
Portb.0 = 1
Portb.7 = 1
End Sub
End Select
چيدمان سنسور هاش هم به اين شکله:
s3
s4 s2
s5 s1
s6 s0
اگه یکی از اساتید بتونن توی برنامه نویسیش راهنماییم کنن ممنون میشم
یه سوالم داشتم : اگه یه برنامه برای atmega 32 داشته باشم و جای پورتاشو عوض کنم میتونم اون برنامرو واسه attiny 2313 استفاده کنم؟