فهرست مطالب:

نحوه استفاده از پین های GPIO رزبری پای و Avrdude برای برنامه Bit-bang DIMP 2 یا DA PIMP 2: 9 مراحل
نحوه استفاده از پین های GPIO رزبری پای و Avrdude برای برنامه Bit-bang DIMP 2 یا DA PIMP 2: 9 مراحل

تصویری: نحوه استفاده از پین های GPIO رزبری پای و Avrdude برای برنامه Bit-bang DIMP 2 یا DA PIMP 2: 9 مراحل

تصویری: نحوه استفاده از پین های GPIO رزبری پای و Avrdude برای برنامه Bit-bang DIMP 2 یا DA PIMP 2: 9 مراحل
تصویری: کار با GPIO در حالت ورودی و خروجی در برد رزبری پای (Raspberry pi) 2024, جولای
Anonim
نحوه استفاده از پین های GPIO Raspberry Pi و Avrdude برای برنامه Bit-bang DIMP 2 یا DA PIMP 2
نحوه استفاده از پین های GPIO Raspberry Pi و Avrdude برای برنامه Bit-bang DIMP 2 یا DA PIMP 2

اینها دستورالعمل های گام به گام نحوه استفاده از Raspberry Pi و دستور رایگان منبع باز avrdude برای برنامه ریزی bit-bang در DIMP 2 یا DA PIMP 2 هستند. فرض می کنم که شما با رزبری پای خود و LINUX آشنا هستید. خط فرمان. نیازی نیست که با برنامه نویسی تراشه AVR آشنا باشید ، اما اگر مشکلی پیش بیاید به شما کمک می کند زیرا می توانید خروجی avrdude را بخوانید و ایده ای در مورد چکار داشته باشید.

این روش در اولین بار باید حدود 1 ساعت و هر بار بعد از آن 5 تا 10 دقیقه طول بکشد.

شما نیاز خواهید داشت:

1) Raspberry Pi با پین GPIO و منبع تغذیه. من از Raspberry Pi Zero W با پین های GPIO لحیم کاری شده استفاده می کنم. سیستم عامل باید Raspberry Pi OS (Raspbian سابق) باشد. من از Raspbian Lite (Stretch) استفاده می کنم ، که به نوعی قدیمی است. این دستورات هنوز باید روی آخرین نسخه سیستم عامل Raspberry Pi کار کنند.

در ادامه به Raspberry Pi با عنوان "RPi" اشاره خواهم کرد.

2) سیم های جهنده زن به زن. یکی از این رنگها را بدست آورید: قرمز ، مشکی ، آبی ، زرد ، سبز ، بنفش. من به جای بنفش از رنگ قهوه ای استفاده می کنم.

3) یک DIMP 2 یا DA PIMP 2 با هدر ICSP اختیاری 10 پین که در آن لحیم شده است. من در اینجا از DIMP 2 استفاده می کنم ، اما دستورالعمل ها برای DA PIMP 2 یکسان است.

4) دسترسی به اینترنت برای RPi ، بنابراین می توانید دستور رایگان منبع باز avrdude را نصب کنید.

5) یک کپی از فایل فلزی.hex برای DIMP 2 یا DA PIMP 2. شما می توانید فایل.hex را خودتان از کد منبع خام بسازید ، اما من نحوه انجام این کار را در اینجا به شما نشان نخواهم داد.

6) راهی برای ورود به RPi-از اتصال شبکه یا دسترسی مستقیم به کنسول استفاده کنید. باید بتوانید دستوراتی را روی آن اجرا کنید.

مرحله 1: سیم برق AC را جدا کرده و باتری 9V را خارج کنید

ابتدا بررسی کنید که آیا سیم برق AC به DIMP 2 یا DA PIMP 2 متصل شده و به برق AC متصل شده است. اگر چنین است ، DANGER: LETHAL SHOCK HAZARD. دستکش های لاستیکی بپوشید و سپس کلید اصلی را در DIMP 2 یا DA PIMP 2 خاموش کنید. سپس ، سیم برق AC را از برق AC جدا کرده و سیم برق AC را از DIMP 2 یا DA PIMP 2 جدا کنید. می توانید پس از جدا شدن سیم برق AC ، دستکش های لاستیکی را جدا کنید.

سپس ، باتری 9 ولت را بردارید. برق از طریق سیم های قرمز (Vcc) و مشکی (GND) به DIMP 2 توسط RPi تأمین می شود. کلید کشویی را روی DIMP 2 یا DA PIMP 2 روشن کنید تا در هر صورت خاموش شود.

مرحله 2: سیم های بلوز را وصل کنید

سیم های بلوز را وصل کنید
سیم های بلوز را وصل کنید
سیم های بلوز را وصل کنید
سیم های بلوز را وصل کنید
سیم های بلوز را وصل کنید
سیم های بلوز را وصل کنید
سیم های بلوز را وصل کنید
سیم های بلوز را وصل کنید

با روشن نشدن RPi ، شروع به اتصال سیم های بلوز کنید. در ادامه ، پین های GPIO روی رزبری پای و پین های ICSP روی DIMP 2 (سربرگ J3) یا DA PIMP 2 (سرصفحه J1) قرار دارند.

اگر گم شده اید ، به نمودار من در کنار هم و عکسها مراجعه کنید.

قسمت RPi نمودار از pinout.xyz است.

قسمت ATMEGA48V-10PU نمودار نمودار حق چاپ 2016 Atmel Corp.

من مدعی استفاده عادلانه از این نقاشی ها به دلیل افزودنی های قابل توجه و دگرگون کننده هستم.

رنگ مشکی از پایه GPIO 6 به پایه ICSP 10 می رسد. این GND (Ground) است

رنگ زرد از پایه GPIO 12 به پایه ICSP 9 می رسد. این MISO است.

سبز از پین GPIO 16 به پین ICSP 1 می رسد. این MOSI است.

آبی از پایه GPIO 18 به پایه ICSP 7 می رسد. این SCK یا SCLK (SClock) است

رنگ بنفش (در عکسهای من قهوه ای است) از پین GPIO 32 به پایه ICSP 5 می رسد. این RESET است.

قرمز از پین GPIO 4 به پین ICSP 2 می رسد. این Vcc است (قدرت 5 ولت)

مرحله 3: RPi را فعال کنید

حالا ، پیش بروید و RPi را فعال کنید. قسمت ولت متر DIMP 2 یا DA PIMP 2 نیز باید روشن شود ، اما با نگاه کردن به صفحه نمایش آن را نمی شناسید. در صورت شک ، ولتاژ را با پراب قرمز در پین 20 در ATMEGA48V-10PU و پروب سیاه در پین 4 ، 6 یا 8 در هدر ICSP اندازه گیری کنید. باید حدود 5VDC باشد.

مرحله 4: Avrdude را نصب کنید

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

به عنوان کاربر پیش فرض pi وارد شوید. رمز عبور پیش فرض تمشک است

دستور avrdude را با تایپ موارد زیر در خط فرمان ترمینال نصب کنید:

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

مرحله 5: فایل پیکربندی Avrdude را ویرایش کنید

فایل پیکربندی avrdude را با تایپ کردن ویرایش کنید:

sudo nano /etc/avrdude.conf

این خطوط را به وسط فایل که سایر تعاریف برنامه نویس در آن هستند اضافه کنید. کاری که من انجام دادم این بود که قسمت برنامه نویس را درست بالای آن برای id = "linuxgpio" کپی کرده ، سپس آن را درست در زیر (در خط 1274) چسباندم ، سپس قسمت جدید را ویرایش کردم.

برنامه نویس

id = "pi_1"؛ desc = "از رابط Linux sysfs برای bitbang خطوط GPIO استفاده کنید"؛ type = "linuxgpio"؛ بازنشانی = 12 ؛ sck = 24؛ mosi = 23؛ miso = 18 ؛ ؛

سپس فایل را با فشار دادن: Ctrl-O ذخیره کنید

و سپس با فشار دادن: Ctrl-X ، ویرایشگر نانو را ترک کنید

مرحله 6: فایل فلزی.hex را در /home /pi بارگیری یا کپی کنید

فایل فلش.hex را در RPi کپی کنید. فرض می کنم شما می دانید چگونه این کار را انجام دهید. نکته: از دستور wget ، curl ، git یا scp استفاده کنید تا فایل را از وب به RPi منتقل کنید.

فایل.hex DIMP 2 به همراه کد منبع در اینجا آمده است:

github.com/dchang0/dimp2

نسخه سفارشی فایل.hex DA PIMP 2 در اینجا آمده است. من این را آزمایش نکرده ام!

github.com/jcwren/DaPimp2

اگر نسخه فوق از فایل.hex DA PIMP 2 کار نمی کند ، کد منبع اصلی DA PIMP 2 مایکی اسکلار در اینجا است. شما باید خودتان آن را در یک فایل hex کار کنید. من آن را در این دستورالعمل ها توضیح نمی دهم زیرا این یک آموزش طولانی (اما نه دشوار) خواهد بود. من با استفاده از این کد منبع چندین واحد DA PIMP 2 را با موفقیت برنامه ریزی کردم:

drive.google.com/open؟id=0Bx5Als-UeiZbSUdH…

یا می توانید به صفحه اصلی DA PIMP 2 بروید و روی پیوند کد منبع کلیک کنید.

mikeysklar.blogspot.com/p/da-pimp-battery-…

فایل.hex را در این مسیر و نام فایل را در RPi قرار دهید…

برای DIMP 2:

/home/pi/dimp2.hex

برای DA PIMP 2:

/home/pi/da_pimp2.hex

مرحله 7: تأیید کنید که Avrdude می تواند با ATMEGA48V-10PU صحبت کند

دستور avrdude را اجرا کنید تا مطمئن شوید که می تواند با تراشه ATMEGA48V-10PU در DIMP 2 یا DA PIMP 2 صحبت کند.

cd /home /pi

sudo avrdude -c pi_1 -p m48 -v

حدود یک صفحه خروجی دریافت خواهید کرد. به آخر نگاه کنید. اگر چنین پاسخی دریافت کردید ، می توانید ادامه دهید.

avrdude: دستگاه AVR اولیه شده و آماده پذیرش دستورالعمل ها است

خواندن | ################################################## | 100٪ 0.00s

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

مرحله 8: فایل.hex را به ATMEGA48V-10PU فلش کنید

این دستور را برای برنامه نویسی تراشه اجرا کنید…

برای DIMP 2:

cd /home /pi

sudo avrdude -c pi_1 -p m48 -U flash: w: dimp2.hex

برای DA PIMP 2:

cd /home /pi

sudo avrdude -c pi_1 -p m48 -U flash: w: da_pimp2.hex

یک صفحه خروجی دریافت خواهید کرد. به دنبال این خطوط باشید:

avrdude: نوشتن فلش (1528 بایت):

نوشتن | ################################################## | 100٪ 0.79 ثانیه

avrdude: در حال تأیید…

avrdude: 1528 بایت فلش avrdude تأیید شده: safemode: فیوزهای خوب (E: FF ، H: DF ، L: 62)

اگر تا اینجا پیش رفتید ، باید صفحه LED را ببینید که صفر را برای ولتاژ نشان می دهد. اگر صفرها را دیدید کارتان تمام شد! اگر نه ، به مرحله بعدی بروید.

اگر صفرها را می بینید ، با آرامی RPi خود را خاموش کنید:

خاموش کردن sudo -h در حال حاضر

وقتی چراغ برق RPi خاموش می شود (DIMP 2 یا DA PIMP 2 همچنان روشن است) ، می توانید منبع تغذیه را از RPi جدا کنید. سپس سیم های بلوز بین RPi و DIMP 2 یا DA PIMP 2 را از برق بکشید.

مرحله 9: عیب یابی ساده اگر فلش ناموفق بود

اگر در صفحه DIMP 2 یا DA PIMP 2 صفر نمی بینید ، زمان عیب یابی فرا رسیده است.

مجدداً ابتدا سیم کشی خود را بررسی کنید.

سپس ، حالت های فیوز نشان داده شده توسط avrdude را بررسی کنید. ممکن است تراشه شما دارای فیوزهایی باشد که روی مقادیر متفاوتی نسبت به پیش فرض کارخانه تنظیم شده اند. این تراشه ممکن است نیاز به تنظیم مجدد فیوزهای خود داشته باشد ، که به سخت افزار کاملاً متفاوتی نیاز دارد. این مشکل بسیاری از تراشه های جعلی ATMEGA48V-10PU است که در ebay فروخته می شود-آنها تراشه های قدیمی هستند که از سخت افزار دور ریخته شده بیرون آمده اند و فیوزها تنظیم شده اند و فروشنده به خود زحمتی برای تنظیم مجدد فیوزها نمی دهد.

گاهی اوقات این تراشه حتی ATMEGA48V-10PU نیست. این می تواند یک تراشه متفاوت با برچسب باشد. معمولاً با نگاه دقیق به علامت های بالای و پایین تراشه می توانید این تقلبی ها را تشخیص دهید. عاقلانه تر این است که ATMEGA48V-10PU خود را از طریق یک تامین کننده معتبر مانند Mouser یا Digikey تهیه کنید.

توصیه شده: