تبليغاتX
برق و الکترونیک

masror

مسرور دولت ابادي

masror

http://masror.blogfa.com

برق و الکترونیک

برق و الکترونیک

برق و الکترونیک

برق و الکترونیک

برق و الکترونیک

  » امروز  
  » پند امروز :

 

 

برق و الکترونیک
برق و الکترونیک

درباره وبلاگ



لينک دوستان


آمار و امکانات



تبليغات

تبليغات
محل تبليغ شما
موضوع:
مژده به تمام بر و بچ برای دریافت جزوات الکترونیک و مدار دانشگاههای معتبر به میلم در خواست بزنید

| ادامه مطلب |+| نوشته شده در سه شنبه دوازدهم آذر 1387 | نوشته شده توسط مسرور دولت ابادي
موضوع:
سلام به همه دوستان برای همکاری تو پروژهها ی دانشجویی به میلم برید


|+| نوشته شده در یکشنبه دهم آذر 1387 | نوشته شده توسط مسرور دولت ابادي
موضوع:
به نام خدا


این مطلب برای کسانی نوشته شده که تا حالا حتی یک بار هم کار عملی با میکروکنترلر نکردند و نمی دانند باید از کجا شروع کنند.
برای شروع کار باید یک پروگرامر و منبع تغذیه تهیه کنید که روی هم 300 تومان هزینه داره. می گی نه نگاه کن.

ساخت پروگرامر STK200 : 

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





در زیر تصویر پروگرامر ساخته شده را می بینید :

پس از بستن قاب مخصوص فیش (در شکل زیر می بینید) در انتهای سیمهای پروگرامر تک سیمهای مفتولی بچسبانید تا به راحتی داخل بردبرد بروند (این کار ضرورتی ندارد و برای راحتی خودتان توصه می شود).



اکنون پروگرامر کامل شده و نوبت به منبع تغذیه می رسد.
به اطراف خود نگاه کنید . دم دست ترین و حرفه ای ترین منبع 5 ولتی در نزدیکی شما قرار دارد . در کامپیوتر شما !!!
نترسید ، درب کیس را باز کنید و مطابق شکل یک سیم بلند را سری با یک مقاومت 1ohm به سیم قرمز یکی از فیش های آزاد پاور وصل کنید.

توجه توجه
همان طور که در شکل می بینید من در حال حواس پرتی سیم را به سیم زرد وصل کردم که 12 ولت است و این اشتباه من یک ATmega16 قربانی گرفت.


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



حالا نوبت به پروگرام کردن آی سی می رسد. ابتدا پروگرمر رو به آی سی وصل کنید. اگه به سیم بندی پروگرامر نگاه کنید می بینید که
هر سیم اسمی دارد.
(MOSI , MISO , SCK , RESET , GND)
پایه هایی همنام با سیم هایی که نام برده شد در تمام AVR ها وجود دارد با رجوی ع به دیتاشیت آی سی مربوطه آن ها را پیدا کنید. در زیر پایه های ATmega16 و ATmega32 نمایش داده شده است که همان طور که می بینید ( MOSI=6 , MISO=7,SCK=8,RESET=9 ) و GND=11 و VCC=10 می باشد .


در حالت عادی AVR نیازی به کریستال ندارد و با یک اسیلاتور داخلی 1MHz کار می کند ، مگر اینکه فیوز بیتهای آن را تغییر داده باشید( در مورد فیوز بیتها بعدا توضیح می دهم اگه با فیوز بیتها کاری نداشته باشید اونها هم با شما کاری ندارند . بعد از اینکه سیمهای پروگرامر را به آی سی وصل کردید تغذیه 5 ولت را که از کیس گرفتید را هم به آن وصل کنید(مراقب باشید که هر اشتباهی در مورد تغذیه آی سی موجب سوختن آن می شود . ولی در مورد سیمهای پرو گرامر اینطور نیست).



نرم افزار:
حالا که کارهای سخت افزاری تمام شد . نوبت نرم افزار رسیده. برنامه ای که با آن کار می کنیم برنامه ponyprog است که یک شیر پاک خورده ای به نام Claudio Lanconelli که فکر کنم ایتالیایی باشه اونو نوشته و مجانی روی اینترنت گذاشته و کار خیلی ها رو کساد کرده . این برنامه رو میتوانید از لینک زیر دانلود کنید.
http://downloads.sourceforge.net/ponyprog/ponyprogV207a.zip
البته ممکنه ورژن جدیدتری هم داشته باشه که با مراجعه به آدرس های زیر می توانید دانلود کنید.
http://www.lancos.com/ppwin95.html
http://www.lancos.com/prog.html
بعد از نصب اگر برای اولین بار برنامه رو اجرا کنید به شما دو پیام می ده که باید اولا نوع پروگرامرتون رو انتخاب کنید ، ثانبا برنامه رو کالیبره کنید.
برای این دو کار اول فیش پروگرامر رو به کامپوتر وصل کنید و بعدا به منوی setup رفته و گزینه interface setup رو بزنید. سپس پنجره باز شده را به شکل زیر در آورید و دکمه prob را بزنید اگر پیغام Test Failed. داد یعنی یا گزینه هارو اشتباه تنظیم کردید یا آن دو سیمی را که از خود فیش به خود فیش پروگرامر وصل می شوند (پایه های 2و3و11و12) رو اشتباه زدید. بعد از رفع مشکل اگر دوباره دکمه prob رو بزنید به شما پیغام Test OK را می دهد . دکمه OK را زده پنجره را ببندید.



به منوی setup بروید و گزینه Calibration را بزنید و به سوال جواب مثبت دهید بعد از چند ثانیه پیغامی می آید که Calibration OK .
بعد از این دو کار می توانید از برنامه برای پروگرام کردن آی سی استفاده کنید.

نحوه پروگرام کردن با pony prog :
- به منوی File\Open Program(Flash) file را بزنید و فایل hex مورد نظر را برای پروگرام کردن روی آی سی آدرس دهی کنید.
- از منوی Device\AVR Micro\??? آی سی مورد نظر را برای پروگرام شدن انتخاب کنید.(بهتر است گزینه AVR Auto را انتخاب کنید)
- از منوی Command گزینه Write Program(Flash) را بزنید و منتظر شوید تا عملیات به پایان برسد.
- اکنون آی سی شما پروگرام شده ، اگر آی سی شروع به کار نکرد سیم Reset پروگرامر را از آی سی جدا کنید.
- هرگونه پیغام error در مرحله پروگرام کردن به معنای اشتباه در وصل کردن سیمهاست.



|+| نوشته شده در جمعه هفدهم آبان 1387 | نوشته شده توسط مسرور دولت ابادي
موضوع:
 دوستانی که مایلند با من همکاری کنند میتونند به میلم مطالب شونو بفرستن

masror_d@yahoo.com

 


|+| نوشته شده در پنجشنبه شانزدهم آبان 1387 | نوشته شده توسط مسرور دولت ابادي
موضوع:
مرحله آخر کاری که میکروکنترلر در رباتهای عادی انجام می دهد ما با استفاده از پورت های کامپیوتر انجام داده و فرامین حرکتی را برای سیستم کنترل موتورهای ربات ارسال می کنیم (چپ گرد٬ راست گرد). اما بیاد مراحل رو از وسط شروع کنیم! یعنی مرحله پردازش تصویر. فکر می کنیم یه تصویر توسط دوربین در محیط مطلب در اختیار ما قرار داده شده و ما پردازشات لازم جهت استخراج مسیر حرکت رو روی اون انجام میدیم٬ تا بعدا برسیم به مراحل بعدی... مقدمه دیگه بسه بریم سر اصل مطلب:
 اگر همونطور که گفتم به یه کتاب مطلب نگاهی انداخته باشید حتما از همون ابتدای امر متوجه شدید که در این نرم افزار اکثر عملیات ها برپایه ماتریس ها انجام میشه (ضرب٬ تقسیم٬ جمع٬...). مطلب یجورایی شبیه یه زبون برنامه نویسی هستش و ما در اون از متغیرها٬ عملگرها و توابع و... بسبک زبانهای برنامه نویسی جهت حل مثائل خودمون استفاده می کنیم. اصلا بیاید یه مثال عملی بزنیم:
>> I = 1:10
I =
     1     2     3     4     5     6     7     8     9    10


اجرا کردن دستور I = 1:10 باعث ایجاد یک متغیر به نام I و به شکل یک ماتریس یک بعدی با محتوای ۱ تا ۱۰ می شود (این اولبن و آخریم مثال سطح پایینم بود! توقع دارم اینارو خودتون با خوندن یک کتاب یاد بگیرید) حالا بریم سراغ یک مثال تخصصی:

.codebox {BORDER: black 1px dashed; WIDTH: 90%; BACKGROUND-COLOR: #eeeeee;font-size:9pt;line-height:1; DIRECTION:ltr; text-align:left; padding:5px; font-family: Courier New}RGB = imread('peppers.png'); ٪متغیر = imread('مسیر ونام فایل تصویر');
imshow(RGB);


تابع "imread" یکی از توابع جعبه ابزار پردازش تصویر می باشد که جهت لود کردن یک فایل توصویری در یک متغیر به سبکی که مشاهده می کنید استفاده می شود. می بینید که در کادر متغیرها (بطور پیشفرض کادر بالا سمت چپ میحیط مطلب) متغیر RGB با ابعاد ایجاد شده است. یعنی یک ماتریس سه بعدی که بعد اول ۳۸۴ خانه و معرف تعداد پیکسلهای ارتفاع تصویر٬ بعد دوم ۵۱۲ پیکسل طول تصویر و بعد سوم ۳ خانه که چون تصویر از نوع رنگی (RGB) می باشد یک خانه حاوی مقدار RED و خانه های بعدی نگدارنده مقادیر GREEN و BLUE پیکسل مورد نظر می باشد. جهت درک قضیه به تصویر مقابل دقت کنید.
unit8 نوع تصویر RGB در مطلب را مشخص می کند. باید بدانید سه نوع مکعب رنگ unit8, unit16 و Double برای تصاویر رنگی در مطلب در نظر گرفته شده است. برای مثال در کلاس unit8 هر بعد مکعب که بیانگر یکی از رنگهای قرمز٬ سبز و آبی می باشد دارای ۲۵۶ (۲۸) مقدار تعیین شده می باشد که در کل ۲۵۶*۲۵۶*۲۵۶= ۲۲۴ رنگ مختلف تولید می شود. برای کلاسهای دیگر هم بهمین روال می باشد با این تفاوت که تعداد رنگ آنها بیشتر می باشد.دستور بعدی (خط دوم)٬ دستور "imshow" جهت نمایش تصاویر موجود در متغیر ها با فرمت ذکر شده می باشد. بعد از فراخوانی این دستورات ابتدا اطلاعات موجود در تصویر 'peppers.png' (موجود در مسیر جاری مطلب) داخل متغیر RGB ریخته شده و با دستور imshow مرورگر تصاویر نرم افزار عکس مربوطه را نمایش می دهد.
»افزایش کنتراست تصویر
خوب حالا بیاید یکم کارای پردازشی روی تصاویر انجام بدیم. تصویر pout.tif رو در یک متغیر لود کنید و اون رو نمایش برای خودتون بدید (دقیقا مثل کد زیر). می بینید که این عکس کنتراست پایینی داره !
I = imread('pout.tif');
imshow(I);

برای مشاهده نحوه توزیع شدت رنگ در یک تصویر می توانید با صدا زدن دستور 'imhist' نمودار هیستوگرام آن را رسم کنید (شکل ۱) .
figure, imhist(I);

می بینید که در شکل ۱ رنج شدت نازک می باشد و تمام پتانسیل ۰ تا ۲۵۵ را پوشش نمی دهد بدین معنی که بخشی از مقادیر بزرگ و بخشی از مقادیر کوچک را که باعث ایجاد کنتراست بالا می شوند را در خود ندارد.
در این جعبه ابزار روشهای گوناگونی جهت افزایش کنتراست یک تصویر در نظر گرفته شده است که یکی از آنها استفاده از تابع histeq جهت پخش کردن مقادیر شدت در کل رنج پتانسیلی تصویر می باشد. با اجرای این دستورات به ترتیب زیر می بینید که نمودار هیستوگرام از نمونه شکل۱ به شکل۲ و تصویر از شکل۳ به شکل۴ تغییر می کند...
I2 = histeq(I);
figure, imshow(I2);


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

|+| نوشته شده در پنجشنبه شانزدهم آبان 1387 | نوشته شده توسط مسرور دولت ابادي
موضوع:
سلام. همه خوبید؟ خداروشکر. راستی از لطفتون به پست قبلی ممنونم . خوب جلسه پیش مدار سنسورها رو نشون دادم اما توضیحات تکمیلی موندش که حالا میگم.
ببینید کلا هرچقدر تعداد و تنوع سنسورها در یه ربات بیشتر باشه بالطبع عملکرد اون خیلی بهتر و عاقلانه تر (هوشمندانه تر) بنظر خواهد رسید. البته کنترل و ایجاد ارتباط میان این سنسورها در مغز ربات (میکروکنترلر) بسیار مهم هستش و بدون یک برنامه بهینه هیچوقت این ادعا درست نخواهد بود! با این وجود همونطور که در مدل ها و مدارهای مختلف در سایت ها و وبلاگهای متعددی دیدید هرکدوم از هرچندتا سنسور که دوست داشتن استفاده کردن! از حالت مینیمم که دوسنسوره باشه گرفته تا چهارتایی و بیشتر... اما همونطور که گفتم هر چقدر تعداد این سنسورها بیشتر باشه برای بهینه تر کردن کارایی اونها در میکروکنترلر باید برنامه پیچیده تری رو نوشت. این پیچیدگی در کد یجورایی بصورت تصاعدی افزایش پیدا میکنه، ولی خوب تا سه یا چهار سنسور این تصاعد زیاد صعودی نیست و بعد از اون (۵ ۶ ۷ وو...) بیشتر خودشو نشون میده! که البته این به نحوه قرار گرفتن سنسورها هم خیلی ربط داره... با این حال من بخاطر اینکه این مقالات رو از ابتدایی ترین سطح شروع کردم سعی کردم از همون مدل ۲ سنسوره که حالت قرارگیری اون رو هم در شکل نشون دادم، استفاده کنم. بزرگترین مزیت این مدل (۲ سنسوره) این هست که کد میکروی بسیار ساده و کوتاهی داره و آموزش و فهم اون خیلی راحته و بزرگترین عیبش هم اینه که روبوت یه جورایی زیگزالی حرکت میکنه! (البته هرچقدر استانداردها به سمت ایده آل میل کنه این خطا هم کمتر میشه) که البته برای شروع عیب بزرگی نیست! در چیدمان سنسورهاتون اگر از مدل ما (۲ تایی) استفاده می کنید مثل شکل، حتما فاصله بین فرستنده و گیرنده، که معمولا ۲.۵ میلیمتر در نظر گرفته میشه (اما هرچقدر کمتر باشه حساسیت بیشتر میشه) و فاصله بین دو گیرنده (۲ نقطه سیاه) که بستگی به ضخامت خط سیاهتون داره (۱.۵ الی ۲ سانت بیشتر)، را در نظر بگیرید تا از ایجاد نقص های ذکر شده جلوگیری کنید. همچنین فاصله پک سنسورها (مجموعه فرستنده و گیرنده) از زمین نباید زیاد باشه و معمولا اون رو ۱.۵ تا ۳ سانت اختیار میکنن تا حساسیت کم نشه!

 راستی یادتون باشه برای خرید میکروی AVR Atmega32 حتما مدل L اون رو بخرید چون با وجود یکسان بودن قیمت، مل ال اون پروگرمر ساده ای داره درواقع اصلا پروگرمر نیست فقط باید چندتا پایش رو مستیم به پورت موازی وصل کنید (که بعدا شکلشو نشون میدم). پس یادتون باشه مثل من اشتباه نکیند. در مورد کامپایلر Bascom هم که چند وقت پیش برا دانلود گذاشته بودم معذرت می خوام چون متوجه شدم اصلا بدرد نمی خوره!!!. یه نسخه عالی دارم که بوقتش آپلودش می کنم.

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


|+| نوشته شده در چهارشنبه پانزدهم آبان 1387 | نوشته شده توسط مسرور دولت ابادي
موضوع:
بدنه یک برنامه در محیط Bascom:
(منظور از بدنه حداقل کد یک برنامه هستش بدون هیچ فرمانی)  بدنه یک برنامه در محیط Bascom شامل تعیین نوع میکرو مورد استفاده٬ کریستال٬ پایان و گزینه های اختیاری دیگری است که در زیر معرفی میشن.

معرفی میکرو:
برای شروع یک برنامه در محیط Bascom ابتدا بایستی میکروی مورد نظر تعریف گردد. چون توصیه من در استفاده از مدل ATMEGA16|32|128 بود٬ بنابراین فعلا به علت زیق در همه چی  فقط به تعریف همین ۳ مدل بسنده می کنم:

$REGFILE = VAR       'فرم کلی تعریف٫ "وار" یه رشته معرف مدل خاص میکروی مورد نظر هستش
$REGFILE =  "M16def.dat"       'MEGA 16 MCU این برا مدل
$REGFILE =  "M32def.dat"       'MEGA 32 MCU این برا مدل
$REGFILE =  "M128def.dat"     
'MEGA 128 MCU این برا مدل

کریستال:این یه نمونه کریستاله
برای مشخص کردن فرکانس کریستال (میکرو ها باید به یه قطعه خارجی بنام کریستال وصل بشن) استفاده شده برحسب هرتز از دستور CRYSTAL = X$ استفاده می نماییم X فرکانس کریستال استفاده شده بر حسب هرتز است. خوشبختانه AVR دارای یک کریستال 1MHZ داخلی هستش که واقعا یک نعمته! اما حتی برای استفاده از اون هم باید این دستور رو بکار ببریم. مثال:

$CRYSTAL = 100000        '1MHz internal
$CRYSTAL = 140000        '14MHz external

یاداشت(اختیاری): گاهی نیاز است یاداشتهایی برای اطلاعات بیشتر در برنامه اضافه کنید٬ در Bascom هم مثل بیسیک می تونید با علامت " ' " یا REM اینکارو انجام بدید. درست مثل یادداشت های اضافی که من در مثالهای قسمتهای قبل استفاده کردم! مثال:

Print "Hello World"      'این دستور بعدا معرفی میشه  
REM این هم یه مدل دیگه از یادداشت اختیاریه

همچنین در پایان هر برنامه باید از کلمه END استفاده کنید که مثل یک حلقه بی پایان عمل می کنه (مثلا در سی باید همیشه یه حلقه درست کنی. یه کار تکراری) و دلیل استفادش چه در این کامپایر و برای این میکرو و چه در سایر کامپایلرها و برای میکروهای دیگه٬ اینه که سیستم برنامه میکرو با کامپیوتر فرق فوکوله  و اگه از END یا حلقه بی پایان استفاده نکنیم برنامه همینطور میره پایین و سایر آدرس های حافظه میکرو رو به خیال ادامه برنامه میخونه که این باعث Error میشه دیگه! پس End یادتون نره!

خوب دیگه از گزینه های اجباری بدنه تغریبا چیزی نموند و برای اینجلسه هم کافیه! جلسه بعد آموزش نحوه تعریف شرط و حلقه و ... در Bascom رو داریم پس حتما مطلب رو دنبال کنید. راستی تا یادم نرفته بگم بعضی از مطالب بالا رو از رو کتاب AVR مهندس "علی کاهه" کپ زدم! همین که مرجع رو گفتم خیلی هم دلش بخواد :)). خسته نباشید


|+| نوشته شده در سه شنبه چهاردهم آبان 1387 | نوشته شده توسط مسرور دولت ابادي
موضوع:
پیکربندی پورتها: همونطور که در شکل مقابل می بینید میکروی AVR (مدل ATMEGA32) داری ۴۰ پایه هستش که ۳۲ تا از پایه های اون می تونه برای چهارتا پورت موجود در اون استفاده میشه. این ۴ پورت مانند شکل به صورت PA, PB, PC, PD نامگزاری شده اند که البته هر کدام از این پورتها دارای ۸ پین (۸X۴=۳۲) هستند. که درواقع هر پورت رو باید به صورت یک بایت در نظر گرفت و هر پین رو به صورت یک بیت (حتما می دونید هر بایت، ۸ بیت هستش!) فرض کرد و هر کدوم از این ۳۲ پایه میکرو مربوط به پین خاصی از یک پورت است. در Bascom نماد پورتها به صورت portx که X يکی از حروف A..D هست بکار ميره و نماد پين های هر پورت هم به صورت portx.y که در اينجا X مثل بالا هستش و y شماره پين از ۰ تا ۷ ميباشه (۰تا۷ ميشه ۸تا ). مثال:
 PortB = 10         'set portb to 10
 PortC.0 = 0        'Set pin 0 of portC to 0
 PortC.4 = 1        'Set pin 4 of PortC to 1

نکته دیگه که باید دقت کنید اینه که پورت ها یک بایتی هستند یعنی نهایت عددی که میشه در اونا قرار داد ۲(۱۱۱۱۱۱۱۱) درمبنای باینری یا ۲۵۵ در مبنای دهدهی خودمون هست. وقتی عدد ۲(۱۱۱۱۱۱۱۱) یا ۲۵۶ رو مثلا در پورت سی قرار بدیم تمام پین های این پورت ۱ میشن و اگر باز عدد ۱۷ معادل ۲(۰۰۰۱۰۰۰۱) رو در اون قرار بدیم (PortC=17) انگاه پینهای ۰ و ۴ این پورت یک خواهند شد. فکر کنم فهمیده باشید قضیه از چه قراره :) فقط باید یکم تبدیل باینری به دهدهی و برعکس رو بلد باشید... اما اگر هنوز کار میکروکنترلر رو درک نکردید و اصلا نمیدونید حالا یک شدن هر پین به چه درد می خوره اصلا نگران نباشید چون به موقع توضیح خواهم داد.

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


|+| نوشته شده در سه شنبه چهاردهم آبان 1387 | نوشته شده توسط مسرور دولت ابادي
موضوع:
سلام. جلسه قبل کمی در مورد میکرو و میکروی مناسب کار خودمون صحبت کردیم. این جلسه می خوام به طور کلی تر راجع به قابلیت های میکروی AVR بخصوص مدل Atmega32 صحبت کنم. بزارین بعضی از قابلیت های مهم مربوط به کار خودمون رو بصورت لیست بنویسم:

  • کارایی بالا و توان مصرف کم
  • سرعت بسیار بالا نسبت به سایر میکروها
  • 32K حافظه فلش داخلی قابل برنامه ریزی
  • پایداری حافظه فلش: قابلیت 10000 بار نوشتن و پاک کردن
  • 2K حافظه داخلی SRAM
  • 2 تایمر-کانتر 8 بیتی و یک تایمر-کانتر 16 بیتی
  • .....

برنامه نویسی Atmega32:
همونطور که گفته بودم برای برنامه نویسی این میکرو از Basic و کامپایلر معروف Bascom استفاده می کنم (لینک دانلود این کامپایر رو آخر پست گذاشتم). چون من می خوام خیلی گزرا به چند تکنیک وتابع این زبان اون که در برنامه نویسی رباتمون استفاده میشه اشاره کنم اصلا وقت نمیشه درباره یکی یکی ابزارهای محیط این کامپایلر توضیح بدم. اما در آینده با آموزش پروپه های دیگه حتما اونا رو هم پوشش خواهم داد.

همونطور می بینید فقط 7 تا منو از قرار File, Edit, Program, Options, Tools, Window, Help داره. منوی File, Edit, Window, Help تمام برنامه های ویندوز که با هم مو نمی زنه پس اینا هیچ :). منوی Options هم که از اسمش پیداست برای تنضیمات کامپایلر و معرفی نوع و مدل میکرو و.. هست که البته هنگام پروگرام کردن میکرومون سراغش میایم و توضیحات کافی رو میدم. می مونه منوی Program که درواقع گزینه هایی برای کامپایل کد, Syntax Check و شبیه سازی داره که به مجرد شروع برنامه نویسی باهمینا باید سروکله بزنیم.

حتما Bascom رو دانلود کنید و یکم وارسیش کنید چون پس فردا که برگشتم دیگه تفره نمی رم و دیگه آموزش کد نویسی رو خواهیم داشت که اون هم یکی دو جلسه بیشتر طول نمی کشه و بعد میریم سر مباحث الکترونیکی رباتمون. اما باور کنبد لذت برنامه نویسی و سروکله زدن با میکرو اونم AVR چیزی کم از ساخت ربوت نداره! تا پس فردا یا حق.


|+| نوشته شده در سه شنبه چهاردهم آبان 1387 | نوشته شده توسط مسرور دولت ابادي

آخرين مطالب ارسالي

بهترين مطالب را در وبلاگ ما بجوييد

قالب وبلاگ

Free Template Blog

قالب بلاگفا

قالب پرشین بلاگ