الکترونیک، رباتیک و مکانیک

آموزش به زبان بسیار ساده و روان (از صفر تا بینهایت)

الکترونیک، رباتیک و مکانیک

آموزش به زبان بسیار ساده و روان (از صفر تا بینهایت)

الکترونیک، رباتیک و مکانیک

با سلام و عرض ادب خدمت هموطنان عزیز
در این سایت قصد داریم موضوعاتی که در حیطه الکترونیک ،مکانیک و برنامه نویسی ربات ها دارای جذابیت خاصی می باشد رو آموزش بدیم. امیدواریم که با نظرات شما عزیزان شاهد آموزشهای جامعی در این زمینه باشیم.
با تشکر

نویسندگان
پیوندهای روزانه
طبقه بندی موضوعی
آخرین نظرات

دوشنبه, ۲۱ دی ۱۳۹۴، ۰۷:۲۷ ق.ظ

۲

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

1- سلام خوبی
2- سلام خوبم تو خوبی
1- اره خوبم . چکار می کنی کم پیدایی
2- اره یک چند وقتیه دارم پروژه دانشگاه رو انجام می دم
1- چی هست این پروژت
2- هیچی ساخت یک دور سنج موتور با میکروکنترلرAVR
1- چی میکروکنترلرavr ؟؟؟؟ میکرو کنترلر دیگه چیه
2- میکروکنترلر رو اگه بخام به زبون ساده بهت بگم یک کنترل کننده هستش که تقریبا هر چی ازش بخای برایت انجام میده
1- پس بگو یک رباته
2- نه منظورم هر کاری نبود ببین مثل یک کامپیوتر که بهش فرمان میدی اون هم انجام میده البته از نظر ظاهری که نگاهش کنی یک ایسی 40 پایه هستش
1- چی؟؟؟؟؟ مگه میشه یک کامپیوتر به اندازه یک ایسی چهل پایه باشه
2- نه خود کامپیوتر منظورم از کامپیوتر اینه که بهش فرمان می دی اونم انجام میده
1- بازم نفهمیدم بیشتر توضیح بده اصلا به چه دردی میخوره
2- بزار بیشتر برات توضیح بدم این یک ایسی هستش که ما به وسیله کامپیوتر برنامه نویسی می کنیم بعد برنامه رو می ریزیم توی میکرو . کاربردش هم خیلی زیاده مثلا باهاش می تونی ساعت . فرکانس متر. قفل رمز درست کنی
1- یکم بیشتر درباه خود میکرو توضیح بده
2- این میکرویی که بهت میگم یک خانواده هستش که انواع مختلفی داره که تشکیل شده از سه گروه 1-tiny 2-90s 3-mega
1- خوب فرق این سه گروه باهم چیه مثلا tiny با 90s یا با mega چه فرقی دارن
2- فرفشون توی امکاناتی که دارن هستش و همین فرق باعث شده که قیمت هاشونم باهم فرق کنه
1- منظورت از امکاناتشون چیه
2- ببین بزار بیشتر برات درباره خود میکرو توضیح بدم . از امکاناتی که این میکرو ها دارن میشه به تایمر – کانتر- تولید موج pwm – حافظه ای که اطلاعات رو توی خودش حفظ کنه – سرعت بالای انجام دستورات- I\O (یا همون ورودی خروجی خدمون) – مبدل انالوگ به دیجیتال adc – مقایسه کننده انالوگ و... . حالا که با امکاناتش اشنا شدی همینو بهت بگم که بعضی از میکرو ها توی امکاناتشون و توی مقدار حافضه با هم فرق دارن برای همین قیمتهاشونم باهم فرق میکنه
1- خوب حالا کدوم از همه امکاناتش بیشتره
2- نوع mega از همه امکاناتش بیشتر و از نظر مقدار حافضه هم از همه حافضه اش بیشتره بعد نوع 90s و در نهایت نوع tiny
1- این همه امکانات همه توی یک ایسی پس حتما باید یک صد هزار تومنی قیمتش باشه
2- نه اگه بهت بگم که بهترین نوع این میکرو که نوع mega هستش رو توی خود بازار ایران با سه هزار تومن می تونی بخری باورت نمی شه
1- چی فط سه هزار تومن اون هم بهترین نوعش اخه چطور ممکنه این همه امکانات فقط سه هزارتومن اون هم بهترین نوعش!!!!!!!!!!!!!!!!!!!!!!
2- خوب دیگه تکنولوژیه دیگه
1- راستی گفتی یکی از امکاناتش حافضه هستش بگو ببینم اصلا این حافضه به چه دردی می خوره؟؟
2- یادت میاد که بهت گفته بودم که باید به این میکرو فرمان بدیم
1- اره
2- خوب این فرمان ها رو ما با یک نرم افزار مینویسیم
1- خوب چه ربطی داره به سوال من
2- یکم صبر داشته باش . این برنامه ای که مانوشتیم توی این حالفضه قرار می گیره
1- بیشتر توضیح بده
2- حافضه میکرو avr دو تا هستش یکی حافضه بلند مدت که بهش می گن eeprom و دومی هستش حافضه کوتاه مدت که بهش می گن flash
1- خوب فرقشون باهم چیه
2- فرقشون در اینه که در حافظه کوتاه مدت با قطع تغذیه (ولتاژ) میکرو اطلاعات از بین می ره ولی در حافضه بلند مدت با قطع شدن تغذیه میکرو اطلاعات از بین نمیره
1- اها فهمیدم . خوب یادم میاد بهم گفتی که هر کاری ازش بخایم برامون انجام میده چطوری باید بهش بگیم که فلان کار رو انجام بده ؟
2- خوب بزار به صورت کلی بهت بگم که گیج نشی . ما برای کارهایی که از این میکرو می خایم باید بهش برنامه بدیم این برنامه توسط نرم افزار نوشته می شه
1- چه نرم افزاری؟
2- نرم افزارای مختلفی هستش که باهاش برای میکرو برنامه می نویسن برنامه هایی رو که من می شناسم bascom –codvision و ... هستش که من با bascom کار می کنم. خوب حالا بزار ادامه مطلب رو بگم . برنامه ای رو که ما می نویسیم زبان های مختلفی داره
1- منظورت انگلیسی یا فارسی هستش
2- نه بابا منظورم زبان های برنامه نویسی هستش که عبارتند از baisic-c –اسمبلی
1- یعنی باید همه ای زبان های برنامه نویسی رو بلد باشیم
2- نه بابا ناراحت نباش من خودم وقتی که می خاستم میکروکنترلر یاد بگیرم هیچ کدوم از این زبان ها رو یاد نداشتم . چقدر سوال می کنی منو از موضوع پرت کردی . هر کدوم از این زبان ها در یک نرم افزار خاص خودش نوشته می شه مثلا اگه دوست داشتی برنامه رو با زبان بیسیک بنویسی باید با نرم افزار baisic کار کنی اگه خاستی با زبان c برنامه بنویسی باید با نرم افزار codvision برنامه بنویسی . خوب حالا وقتی که برنامه رو نوشتی باید برنامه رو بریزی توی میکرو . حتما می خای بپرسی چطوری برنامه رو میریزن توی میکرو خوب بهت می گم با یک پروگرامر
1- چی پروگرامر دیگه چیه؟
2- نترس پروگرامر وسیله ای هستش که میکرو رو روی اون قرار میدی ویک سر دیگش وصل می شه به پرینتر کامپیوتر بعد که به کامپیوتر نصب شد از طریق نرم افزار فرمان ارسال برنامه به داخل میکرو رو میدی مثلا در نرم افزار بیسکام که بعدا مفصلا بهت توضیح میدم با زدن کلید F4 برنامه ریخته می شه داخل میکرو
1- ببین من نفهمیدم نقش این پروگرامر این وسط چیه
2- پروگرامر واسطه ای هست میان میکرو و کامپیوتر . خوب اخه مرد حسابی برنامه ای که تو برای میکرو نوشتی باید بره توی میکرو یا نه . پس از روی هوا هم که نمی شه برنامه رو فرستاد پس میان یک پروگرامر وصل می کنند به کامپیوتر و میکرو رو روی این پروگرامر قرار میدن بعد از توی کامپیوتر فرمان ارسال برنامه رو می دن
1- ببین درست فهمیدم یا نه پروگرامر تنها نقشی که داره اینه که برنامه ای که ما توی کامپیوتر نوشیتم رو بریزه توی میکروکنترلر
2- افرین
1- بازم سوال دارم
2- بگو
1- این امکاناتی رو که گفتی میکرو داره چطوری می تونیم ازش استفاده کنیم
2- این کار رو موقع برنامه نویسی بهش می گیم . مثلا می خایم از کانتر میکرو ( کانتر به معنی شمارنده ) استفاده کنیم . باید در اول برنامه بنویسیم که از کانتر می خا هیم استفاده کنیم . به این کار در اصتلاح می گویند config . البته بعدا درباره برناه نویسیش – نحوه کار با نرم افزار – اتصال سخت افزاری میکرو برای کامل توضیح می دم
1- یک مثال می تونی بزنی که کاربرد این میکرو و امکاناتش چیه؟؟؟
2- اره ولی قول بده که نترسی که برنامه شو بنویسم چون که بعدا درباره کل دستورات برنامه نویسی و نحوه کار با نرم افزار برات توضیح می دم
1- باشه
2- خوب گفتی یک مثال بزن منم یم مثال خیلی ساده میزنم . فرض کن که با دو تا میکروسوییچ می خایم یک led رو روشن خاموش کنیم . برای این کار اول باید برنامه توسط نرم افزار نوشته بشه که من در اینجا از زبان بیسیک برای نوشتن برنامه استفاده میکنم :

کد:
$regfile = "8515DEF.DAT"
$crystal = 8000000  
Config Porta = Output
Config Pinb.0 = Input
Config Pinb.1 = Input
Config Debounce = 25
Do
Debounce Pinb.0 , 1 , Sett , Sub
Debounce Pinb.0 , 1 , Resett , Sub
Loop
End

Sett:
Set Porta.0
Return
Resett:
Reset Porta.0
Return


1- خوب درباره اینا توضیح بده
2- صبر داشته باش اسیاب به نوبت گفتم که بعدا درباره تک تک دستورات و نحوه کار با نرم افزار برات توضیح می دم
1- قول می دی
2- قول می دم که تک تک دستورات رو با مثال زباد برات توضیح بدم
1- خوب حالا من چکار کنم
2- فعلا برو نرم افزار بیسکام (bascom) رو نصب کن تا بعد
1- باشه پس فعلا تا بعد

منبع: iranled.com

نظرات  (۲)

سلام
خسته نباشین
خودتون گفینن از کدویژن برا نوشتن کد AVR استفاده کنیم، چرا آموزش بیسکام گذاشتین؟
پاسخ:
برای کد نویسی میکروکنترلر های avr زبان های برنامه نویسی مختلفی وجود داره.اگه از  زبان C استفاده کنیم باید از نرم افزار Atmel studio یا code vision  استفاده کنیم.اگه از زبان بیسیک استفاده کنیم باید از نرم افزار بسکام استفاده کنیم.هر کی دوست داره با یه زبان خاص که بلده کد نویسی کنه.پس کامپایلر های مختلفی هم باید همشون استفاده کنن به عنوان مثال شما نمیتونید توی کامپایلر کد ویژن از زبان بیسیک استفاده کنید یا برعکس.موفق باشید
سلام
خسته نباشی 
سایت خوبی داری

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی