فهرست مطالب:

چشمک زن AVR/Arduino با تمشک پای: 3 مرحله (همراه با تصاویر)
چشمک زن AVR/Arduino با تمشک پای: 3 مرحله (همراه با تصاویر)

تصویری: چشمک زن AVR/Arduino با تمشک پای: 3 مرحله (همراه با تصاویر)

تصویری: چشمک زن AVR/Arduino با تمشک پای: 3 مرحله (همراه با تصاویر)
تصویری: ال ای دی چشمک زن با آردوینو | Flashing LEDs with Arduino 2024, جولای
Anonim
چشمک زن AVR/Arduino با تمشک پای
چشمک زن AVR/Arduino با تمشک پای

برنامه نویس درون سیستم (ISP) دستگاهی است که می توانید از آن برای برنامه ریزی بسیاری از میکروکنترلرها استفاده کنید ، به عنوان مثال ATMega328p که مغز Arduino Uno است. می توانید چیزی مانند USBtinyISP بخرید ، یا حتی می توانید از آردوینو استفاده کنید. این دستورالعمل نحوه استفاده از Raspberry Pi به عنوان ISP را به شما نشان می دهد.

برنامه avrdude ، همان چیزی است که Arduino IDE از آن برای فلش تراشه ها استفاده می کند ، می تواند با بسیاری از برنامه نویسان استفاده شود. یکی از گزینه های آن استفاده از پین های SPI در درگاه توسعه Pi است. من نحوه برقراری اتصالات مناسب ، قرار دادن یک مدار ساده روی ورق ورق را توضیح می دهم تا مجبور نباشید هر بار که می خواهید تراشه را فلش کنید سیم کشی را دوباره انجام دهید و نحوه نصب و استفاده از avrdude. همچنین به شما نشان می دهم که چگونه برنامه های کامپایل شده با استفاده از Arduino IDE را بر روی تراشه AVR مانند ATmega یا ATtiny با استفاده از این روش تهیه کنید.

موارد مورد نیاز:

  • رزبری پای با آخرین Raspbian نصب شده است
  • سوکت هدر مردانه 40 پین (یا در صورت داشتن Pi قدیمی) 26 پین
  • کابل IDE برای اتصال به Pi شما
  • رزوناتور کریستال 16 مگاهرتز
  • 22 خازن pF (2)
  • LED (1) برای نشان دادن وضعیت برنامه نویس
  • بسته به نوع چیپ هایی که می خواهید چشمک بزنید ، سوکت IC 8 ، 14 و/یا 28 پین را انتخاب کنید
  • مقداری تخته چوبی ، سیم ، لحیم کاری

مرحله 1: ساختن پیوست Cobbler

ساخت پیوست پینه دوز
ساخت پیوست پینه دوز
ساخت پیوست پینه دوز
ساخت پیوست پینه دوز
ساخت پیوست پینه دوز
ساخت پیوست پینه دوز

Serial Peripheral Interface (SPI) که سریال چهار سیم نیز نامیده می شود ، راهی برای برقراری ارتباط بین یک دستگاه اصلی و یک یا چند دستگاه برده است. ما از این برای فلش تراشه ها استفاده می کنیم ، با Pi به عنوان اصلی و تراشه به عنوان برده. شما اتصالات زیر را بین Pi و تراشه خود ایجاد خواهید کرد (برای اطلاع از پورت های مختلف AVR و پورت های توسعه Pi به پین های بالا مراجعه کنید):

  • پین های MOSI (master-out-slave-in) را به هم وصل کنید
  • پین های SCLK (ساعت مشترک) را به هم وصل کنید
  • پین های MISO (master-in-slave-out) را با یک مقاومت 220 اهم وصل کنید تا Pi از هرگونه ولتاژ غیرمنتظره زیاد تراشه محافظت شود.
  • GPIO 25 را روی Pi مستقیماً به پین RESET روی تراشه وصل کنید. Pi هنگام برنامه نویسی این پین را پایین می آورد ، بنابراین ما از یک مقاومت 10K برای بالا نگه داشتن آن در هنگام برنامه نویسی استفاده می کنیم و یک LED با مقاومت حفاظتی 1K تا ولتاژ مثبت کار می کند تا هنگام برنامه نویسی بازخورد بصری خوبی به ما بدهد.

ما پایه های اتصال زمین و قدرت (3.3V) را بین Pi و تراشه هایی که می خواهیم برنامه ریزی کنیم متصل می کنیم. اگر هنوز نمی دانید ، پین های رزبری پای 5 ولت تحمل ندارند - اگر بیش از 3.3 ولت روی آنها ظاهر شود آسیب می بینند. اگر تراشه های برنامه ریزی شده به دلایلی به 5 ولت احتیاج دارند ، می توانیم از یک تراشه تغییر سطح برای محافظت از پین های Pi استفاده کنیم ، اما من با استفاده از 3.3 ولت به مشکلی برنخوردم - بنابراین توصیه می کنم با خیال راحت آن را بازی کنید و در اجزا صرفه جویی کنید.

در نهایت ، ما یک نوسان ساز کریستالی 16 مگاهرتز را در پین های XTAL روی تراشه متصل می کنیم ، که از طریق چند خازن 22pF به زمین متصل می شویم. تراشه های AVR را می توان طوری تنظیم کرد که در فرکانس های مختلف اجرا شود و همچنین می توان طوری تنظیم کرد که از یک منبع داخلی یا خارجی برای تعیین آن فرکانس استفاده کند. اگر تراشه شما به عنوان منبع فرکانس از کریستال خارجی استفاده کند ، بدون آن نمی توانید برنامه ریزی مجدد کنید. در غیر این صورت وجود آن مهم نیست.

می توانید از شماتیک مدار در تصویر آخر به عنوان راهنمای مونتاژ پیوست کفپوش خود روی تخته چوبی استفاده کنید. شما می توانید به تعداد دلخواه یا چند شکل مختلف سوکت IC داشته باشید ، فقط پین های مناسب را به موازات Pi و کریستال متصل کنید. N. B. اگر از تصویر نمونه اولیه من به عنوان راهنما استفاده می کنید ، توجه داشته باشید که من چند پین هدر و سوکت اضافی اضافه کردم تا بتوانم به دلایل نامربوط به پین های Pi دسترسی داشته باشم.

مرحله 2: نصب و استفاده از Avrdude

نصب و استفاده از Avrdude
نصب و استفاده از Avrdude
نصب و استفاده از Avrdude
نصب و استفاده از Avrdude
نصب و استفاده از Avrdude
نصب و استفاده از Avrdude
نصب و استفاده از Avrdude
نصب و استفاده از Avrdude

برای نصب avrdude روی Pi خود ، فقط تایپ کنید

sudo apt-get avrdude را نصب کنید

سپس باید رابط SPI را فعال کنید ، اگر قبلاً روشن نشده است. یک روش خط فرمان برای انجام این کار وجود دارد ، اما استفاده از ابزار پیکربندی Raspberry Pi بسیار ساده تر است. تایپ کنید

sudo raspi-config

و برای روشن کردن SPI به Interface Options بروید.

به منظور چشمک زدن تراشه خود ، کابل روبان Pi خود را به کانکتور مدار ورق ورودی وصل کرده و تراشه را در سوکت IC مناسب وارد کنید (مطمئن شوید که از راه درست رو به رو است).

هنگام چشمک زدن یک برنامه ، همچنین باید مطمئن شوید که فیوزهای موجود در تراشه را به درستی تنظیم کرده اید. اینها واقعاً بیت هایی در تراشه هستند که شما تنظیم کرده اید تا بدانید با چه سرعتی کار می کند ، آیا هنگام نوشتن تراشه EEPROM را پاک می کند یا خیر. برای اطلاع از نحوه تنظیم هر بیت می توانید مشخصات کامل AVR را بخوانید ، اما استفاده از ماشین حساب فیوز ارائه شده در engbedded.com/fusecalc بسیار آسان تر است. نام قسمت AVR مورد استفاده خود را انتخاب کرده و گزینه های مورد نظر خود را در قسمت "انتخاب ویژگی" انتخاب کنید. من معمولاً مطمئن می شوم که تنظیمات ساعت درست است و سایر موارد را به صورت پیش فرض می گذارم. تقریباً همیشه می خواهید "برنامه نویسی سریال فعال" CHECKED و "بازنشانی غیرفعال" را UNCHECKED نگذارید - در غیر این صورت نمی توانید تراشه را دوباره برنامه ریزی کنید. هنگامی که تنظیمات مناسب را دارید ، می توانید در قسمت "تنظیمات جاری" به پایین بروید و آرگومان های AVRDUDE را همانطور که در تصویر نشان داده شده کپی کنید.

برای تنظیم فیوزها ، دستور را وارد کنید

sudo avrdude -c linuxspi -P /dev/spidev0.0 -p

جایی که نام قسمت مربوط به تراشه ای است که از آن استفاده می کنید. با وارد کردن sudo ardude -c linuxspi -p؟ type می توانید لیست نام قطعات را پیدا کنید. برای فلش کردن برنامه خود ، مطمئن شوید که در فهرست فعلی شما قرار دارد و وارد کنید

sudo avrdude -c linuxspi -P /dev/spidev0.0 -p -U فلش: w:: i

پس از هر دو دستور ، LED در حالی که تراشه در حال تغییر است روشن می شود.

مرحله 3: دریافت برنامه های آردوینو بر روی AVR ها

دریافت برنامه های آردوینو روی AVR ها
دریافت برنامه های آردوینو روی AVR ها
دریافت برنامه های آردوینو روی AVR ها
دریافت برنامه های آردوینو روی AVR ها
دریافت برنامه های آردوینو روی AVR ها
دریافت برنامه های آردوینو روی AVR ها

تمرکز اصلی این دستورالعمل چشمک زدن برنامه های قبلاً کامپایل شده بر روی تراشه ها است ، نه نحوه نوشتن یا کامپایل آنها. با این حال ، من می خواستم توضیح دهم که چگونه می توانید باینری ها را با استفاده از Arduino IDE کامپایل کرده و با استفاده از این روش آنها را روی تراشه های AVR برهنه قرار دهید ، زیرا یادگیری Arduino نسبتاً آسان است و آموزشها و مثالهای زیادی وجود دارد.

ابتدا باید اطلاعاتی در مورد تراشه های AVR که چشمک می زنید اضافه کنید تا IDE نحوه کامپایل آنها را بشناسد. جیمز اسلیمن با کمال میل برخی از فایل های راه اندازی را که در github در دسترس هستند جمع آوری کرده است. برای استفاده از آنها ، منوی "Preferences" را در Arduino IDE باز کرده و روی کادر کنار فیلد "URL های مدیران تابلوهای اضافی" کلیک کنید. URL های زیر را در کادر محاوره ای ظاهر شده کپی و جایگذاری کنید:

سپس ، به منوی "Tools" بروید و گزینه "Boards Manager …" را در زیر منوی "Board" پیدا کنید. به پایین لیست در کادر محاوره Boards Manager بروید و تخته های DIY ATmega و DIY ATtiny را نصب کنید.

برای کامپایل برنامه های خود ، ابتدا مطمئن شوید که تراشه صحیح را در منوی "پردازنده" و همچنین سرعت پردازنده صحیح را انتخاب کرده اید. گزینه "Use Bootloader: No" را انتخاب کنید ، زیرا ما مستقیماً با Pi بارگذاری می کنیم و بنابراین می توانیم از فضای اضافی که معمولاً توسط بوت لودر Arduino اشغال می شود استفاده کنیم. اکنون ، روی دکمه "تأیید" (علامت تیک) کلیک کنید. این برنامه شما را بدون تلاش برای بارگذاری کامپایل می کند (از آنجا که خودتان این مرحله را انجام می دهید).

با فرض اینکه همه چیز خوب پیش برود ، اکنون باید برنامه کامپایل شده را به Pi خود برسانید. IDE آنها را در یک مکان موقت پنهان می کند ، زیرا برای بارگذاری برنامه ها طراحی شده است. در Windows ، در پوشه AppData/Local/Temp در پوشه ای است که با 'arduino_build' شروع می شود. به دنبال فایل.hex باشید - این برنامه شماست! آن را از طریق FTP یا با یک USB به Pi خود بفرستید ، و در کار هستید.

انجام این کار مستلزم این است که شما یک رایانه ویندوزی یا Mac برای کامپایل برنامه های خود داشته باشید و سپس آن را به Pi ارسال کنید. اگر بتوانید این کار را بر روی Pi انجام دهید واقعاً صاف خواهد بود ، اما متأسفانه نسخه رسمی Arduino IDE موجود در مخزن Raspbian قدیمی است و مدیر هیئت مدیره ندارد. بدون این ، افزودن تنظیمات مناسب برای کامپایل AVR های برهنه کمی پیچیده تر است. آموزش هایی برای جمع آوری نسخه جدیدتر Arduino در Pi شما وجود دارد - اگر می خواهید این کار را انجام دهید ، آنها را پیدا کنید! من همچنین احساس می کنم که می توان از IDE استفاده کرد تا از برنامه نویس linuxspi برای تراشه تراشه از داخل IDE استفاده کند (یعنی با استفاده از دکمه "بارگیری") ، اما این فراتر از صبر و مهارت من است - اگر می دانید راهی ، آن را در نظرات ارسال کنید! در نهایت ، شما فقط می توانید برنامه ها را مستقیماً در AVR-C بنویسید و آنها را در Pi با avr-gcc کامپایل کنید ، و یک پلت فرم توسعه AVR کامل در رزبری پای به شما می دهد. من مقدار کمی از آن را انجام داده ام ، و اگر می خواهید از آن مسیر بروید ، به شما سلام می کنم. چشمک بزن!

توصیه شده: