اموزش ربات سازی

سلام دوستان.

برنامه کنترل کننده موتورها و.. رو تحت کامپایلر BASCOM آموزش بدم. البته فکر کنم با شیوه آموزشی من آشنا شده باشید! من کد رو یه جا کپی و پیست نمی کنم بعد هم بگم یا علی خودتون بفهمید چی شد! نخیر من کد رو به چند قسمت تقسیم می کنم و هر قسمت رو بعد از نوشتن، به صورت خط به خط تحلیل می کنم. حالا این از اولین نمونه:

 

امروز می خواهیم برنامه ای بنویسیم که بوسیله اون بشه استپر موتورهامون رو راه اندازی کنیم (عین همین روش رو باید در برنامه اصلی ربات استفاده کنیم) :

 

 

 

$crystal = 1000000

$regfile = "m32def.dat"

 

Config Portb = Output

Config Portc = Output

 

Dim A As Byte

Dim B As Byte

 

B = &B10001000

A = &B10001000

 

Do

  Rotate A , Left

  Portb = A

 

  Rotate B , Right

  Portc = B

 

  Waitms 15

Loop

 

End

 

خوب حالا خط به خط تحلیل می کنیم. البته خوب یادمه توضیحات کاملی رو در مورد کدهای استفاده شده در چهار خط اول در پست های "آموزش ساخت ربات (میکرو کنترلر 1 - 2 - 3 - 4) دادم. پس اگه یادتون رفته بهشون دوباره سر بزنید.

 

 

Dim A As Byte

Dim B As Byte

 

کلا در زبان های خانواده بیسیک که کامپایلر BASCOM هم از اون استفاده می کنه، از کلمات Dim و as به صورت Dim varname as type برای تعریف متغیر استفاده می شه، که varname نام متغیر و type نوع متغیر هستش. در اینجا دو متغیر به نامهای A و B با نوع Byte معرفی شدن (هر بایت از ? بیت تشکیل شده)

 

 

B = &B10001000

A = &B10001000

استفاده از " مقدار = نام متغیر " که برای همه قابل درکه (یعنی یک مقدار رو داخل متغیر بریزیم) اما در اینجا بجای مقدار از &B10001000 استفاده شده. برای قرار دادن مقادیر به صورت باینری در یک متغیر (در این زبان) باید مقدار باینری رو بعد از B& بنویسم. در اینجا، هم در A و هم در B مقدار باینری ???????? معادل دهدهی ??? رو قرار دادیم. که دلیلش رو توضیح خواهم داد.

 

می خواستم کل این کد رو همین جلسه تحلیل کنم اما این چند خط باقی مونده خودش همینقدر جا میگیره. منم که خوب می دونم مطلب طولانی اصلا خریدار نداره . برای همین ادامه این پست در جلسه آینده. راستی منتظر نظرات سازنده شما هستم. فعلا

Do

  'some code

Loop

حتی اگر مقدار کمی هم برنامه نویسی (حتی نه به زبان بیسیک) بلد باشید، در این قسمت هیچ احتیاجی به توضیح نخواهید داشت. اما برای دوستانی که آشنایی کافی ندارن حتما باید بگم که هر کدی که بین دو کلمه Do و  Loop قرار میگیره به صورت حلقه از بالا به پایین به صورت مکرر تکرار میشه. البته در استفاده از این دستور میشه شرایطی تعیین کرد که درصورت لزوم از حلقه بی پایان خارج شد ولی ما در اینجا به این حلقه بی پایان احتیاج داریم و دلیلش رو هم بعد از توضیح کد بین اون خواهید فهمید.

راستی یادتونه که در بیسیک هر متنی که بعد از علامت " ' " قرار میگیره به عنوان توضیحات محصوب میشه. شما میتونید در قسمتهای مختلف کدتون از توضیحات استفاده کنید تا اگر کدتون طولانی شد یا اون رو به بقیه دادید در فهمش دچار مشکل نشید.

 

 

 

Rotate A , Left

 

/ 4 نظر / 93 بازدید
نرگس

چگونه می توان موتور را در دستورات bascom متوقف کرد ؟ ممنون توضیحات جالبی داده بودی .موفق باشی

قلام سیا

نظر من اینه که گه ترین سایت در دنیا .

[نیشخند]

داریوش

سلام مطالبتون جالب بود من دانشجوی رشته ی فیزیوتذاژی هستم میخوام اطلاعاتی در باره ی ساخت رباط بدست بیارم مثلا نحوه ی ساخت و ... در رابطه با بدن انسان ممنون میشم کمکم کنید