مهندش تشخیص زمین نات خیلی راحته !
اگه بیشتر سنسورها یک بودم یا سنسورهای بقلی یک بودن یعنی رفتی تو زمین نات و اون وقته که خوندن سنسوهاتو باید معکوس کنی !!
واسه ورود به نات هم وضعیت سنسورهاتو ببین و راحت می تونی تو ورود هم مشکل نداشته باشی !
اگه چیدمان منو دقت کرده باشی دو تای کنار جلو می تونن ورود به نات رو راحت تشخیص دهند !!
(۱۱-اردیبهشت-۱۳۸۹, ۲۲:۴۳:۰۵)t3r!p3000 نوشته است: [ -> ]فکر کنم بشه با یه متغیر ارایه ای که موضعیت سنسورها رو هم چند لحظه تو خودش ذخیره می کنه این کارو انجام داد !
البته به جای وضعیت سنسور میشه وضعیت حرکت موتور رو ذخیره کرد تا هر جور رفته جلو همون جوری برگرده !!!
به نظر نمیاد کار سختی باشه !!
با استفاده از پشته میشه به راحتی وضعیت سنسورهارو ذخیره کرد!
دیگه نیازی به ذخیره ی چند لحظه ای هم نیست!
علی جون منظورت از ذخیره ی وضعیت موتور چیه؟؟؟؟؟؟؟؟؟؟؟
با پشته فقط دفعه قبل رو میشه داشت !
با یه آرایه بسته به آرایتون میتونین حالت های بیشتری از قبل رو داشته باشین !!
مثلا هر یه میلی ثانیه وضعیت موتور رو ذخیره کنه !
حاال واسه برگشت هر یه میلی ثانیه اون وضعیت ذخیره شده رو بخونی و موتورها طبق اون وضعیت حرکت کنن تا همون مسیری رو که رفته برگرده !
یه حالت لوگ گیری انگار !!!
این دو راه یه مشکل اساسی دارن :
آرایه و پشته اگه تعداد عناصرشون مشخص نشده باشه میتونن تمام حافظه رم رو پر کنن چه برسه به یه مگا32
این کار راه حل ساده ای داره اونم اینه که ما تویه یه for کاری کنیم که 10 حالت قبلی در آرایه یا پشته جایگزین بشه (که البته باید از دو پشته استفاده کنیم دلیلشم کامپیوتریها بهتر میدونن)
تشخیص دادن اینکه روباتمون از مسیر خارج شده یا داره رو تقطیع حرکت میکنه یا اینکه از پیچ رد کرده خودش یه الگوریتم جدا داره که هر کی خاست کار کنه بگه تا مفصل براش توضیح بدم
اما من یه سوال دارم : چطور میشه از یه تایمر استفاده کرد (تایمر خارجی)
یعنی کسی تا حالا با تایمر های خارجی کار نکرده؟(اتصال و برنامشون)
تاحالا شده برای این روباتهای تعقیب خطتتون از پردازش تصویر به جای این سنسورها استفاده کنید ؟
هناس جون منظورت از تایمر خارجی چیه ؟؟
یعنی تایمر میکرو از خارج پالس بگیره یا اینکه یه سخت افزار تایمر باشه !!!
واسه قسمت اول که خوب تو کافیگ فقط کافیه بذاری رو مد کانتر !!
واسه قسمت دوم هم این همه آی سی شمارنده !
می تونی از هر کدوم بخوای استفاده کنی !!
فقط واسه وقفه تایمر شاید مجبور بشی یکی از وقفه های خارجی رو مشغول کنی !!!
شما منظورتو از تایمر خارجی بیشتر بگو تا بیشتر رو بحثش !!!
(۱۳-مرداد-۱۳۸۹, ۱۰:۵۵:۰۲)HENAS نوشته است: [ -> ]این دو راه یه مشکل اساسی دارن :
آرایه و پشته اگه تعداد عناصرشون مشخص نشده باشه میتونن تمام حافظه رم رو پر کنن چه برسه به یه مگا32
این کار راه حل ساده ای داره اونم اینه که ما تویه یه for کاری کنیم که 10 حالت قبلی در آرایه یا پشته جایگزین بشه (که البته باید از دو پشته استفاده کنیم دلیلشم کامپیوتریها بهتر میدونن)
تشخیص دادن اینکه روباتمون از مسیر خارج شده یا داره رو تقطیع حرکت میکنه یا اینکه از پیچ رد کرده خودش یه الگوریتم جدا داره که هر کی خاست کار کنه بگه تا مفصل براش توضیح بدم
اما من یه سوال دارم : چطور میشه از یه تایمر استفاده کرد (تایمر خارجی)
میشه راجع به اینایی که گفتین توضیح کامل بدین لطفا".
سلام به دوستان ایران ویجی من برنامه یه ربات مسیریاب رو با بیسیک نوشتم که این ربات هفت تا سنسور داره و با میکرو atmega32وl298ونمی دونم چه چیز های دیگه ای باید اضافه کنم بهش و آیا اصلا درست کار میکنه ؟ ممنون میشم اگه بهم کمک کنید.
[/Do
کد:
$regfile = "m32def.dat"
$crystal = 16000000
Config Porta = Input
Config Portb = Output
Dim Sc As Bit
Dim Sr1 As Bit
Dim Sr2 As Bit
Dim Sr3 As Bit
Dim Sl1 As Bit
Dim Sl2 As Bit
Dim Sl3 As Bit
Sc = Porta.4
Sr1 = Porta.1
Sr2 = Porta.2
Sr3 = Porta.3
Sl1 = Porta.5
Sl2 = Porta.6
Sl3 = Porta.7
If Sc = 0 Then
Set Portb.1
Set Portb.2
Set Portb.3
Set Portb.4
End If
If Sr1 = 0 Or Sr2 = 0 Or Sr3 = 0 Then
Set Portb.1
Set Portb.2
Set Porta.3
Reset Portb.4
End If
If Sl1 = 0 Or Sl2 = 0 Or Sl3 = 0 Then
Set Portb.1
Reset Portb.2
Set Portb.3
Set Portb.4
End If
Loop
End
]
سلام دوست عزیز ...
فکر کنم این از اول تا آخر مشکل داره ...
بعد شما باید یچیزایی از قبل تعریف کنی برای خودت مثلا از چند تا موتور استفاده می کنی چیدمان سنسور ها و بهتره یه مدار برای روبات روی کاغذ پیاده کنی بعد شروع به برنامه نویسی کنی ..........
سلام ذوست عزیز
من تو پروتئوس نقشه مدار رو کشیدم ونحوه چینش سنسورها به صورت عدد هشته خب موتورها دو تاست دیگه
.....