فهرست مطالب:
- مرحله 1: سیم برق AC را جدا کرده و باتری 9V را خارج کنید
- مرحله 2: سیم های بلوز را وصل کنید
- مرحله 3: RPi را فعال کنید
- مرحله 4: Avrdude را نصب کنید
- مرحله 5: فایل پیکربندی Avrdude را ویرایش کنید
- مرحله 6: فایل فلزی.hex را در /home /pi بارگیری یا کپی کنید
- مرحله 7: تأیید کنید که Avrdude می تواند با ATMEGA48V-10PU صحبت کند
- مرحله 8: فایل.hex را به ATMEGA48V-10PU فلش کنید
- مرحله 9: عیب یابی ساده اگر فلش ناموفق بود
تصویری: نحوه استفاده از پین های GPIO رزبری پای و Avrdude برای برنامه Bit-bang DIMP 2 یا DA PIMP 2: 9 مراحل
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:52
اینها دستورالعمل های گام به گام نحوه استفاده از 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 تهیه کنید.
توصیه شده:
APK Blynk یا سایر برنامه های Android را به عنوان HMI در رزبری پای اجرا کنید: 7 مرحله
APK Blynk یا سایر برنامه های Android را به عنوان HMI روی Raspberry Pi اجرا کنید: سلام بر سازندگان! این اولین دستورالعمل من است … این در دسترس تازه کار تمشک است. من زمان زیادی را صرف پیدا کردن ترکیبات مناسب برای قابلیت اطمینان و سرعت خوب کردم از راه اندازی با پیدا کردن اطلاعات کمی برای اجرای این
کنترل دقیق دما در مراحل رزبری پای 4: 3
کنترل دقیق دما در Raspberry Pi 4: Pimoroni Fan Shim یک راه حل عالی برای کاهش دمای Pi شما در هنگام گرم شدن است. سازندگان حتی نرم افزاری را ارائه می دهند که هنگامی که دمای CPU از یک آستانه مشخص (به عنوان مثال 65 درجه) بالاتر می رود ، فن را فعال می کند. دما q
کنترل چند LED با پین های GPIO پایتون و رزبری پای شما: 4 مرحله (همراه با تصاویر)
کنترل چندین LED با پین های GPIO پایتون و رزبری پای شما: این دستورالعمل نحوه کنترل چندین پین GPIO را در RaspberryPi شما برای تغذیه 4 LED نشان می دهد. همچنین شما را با پارامترها و دستورات شرطی در پایتون آشنا می کند. دستورالعمل قبلی ما با استفاده از پین های GPIO رزبری پای برای اتصال
چشمک زدن LED با تمشک پای - نحوه استفاده از پین های GPIO در رزبری پای: 4 مرحله
چشمک زدن LED با تمشک پای | نحوه استفاده از پین های GPIO در Raspberry Pi: سلام بچه ها در این دستورالعمل نحوه استفاده از GPIO's Raspberry pi را یاد می گیریم. اگر تا به حال از آردوینو استفاده کرده اید ، احتمالاً می دانید که ما می توانیم سوئیچ LED و غیره را به پین های آن وصل کرده و آن را مانند کار کنیم. چشمک بزنید یا ورودی را از سوئیچ دریافت کنید تا
توسعه برنامه های کاربردی با استفاده از پین های GPIO در DragonBoard 410c با سیستم عامل های Android و Linux: 6 مرحله
توسعه برنامه های کاربردی با استفاده از پین های GPIO در DragonBoard 410c با سیستم عامل های Android و Linux: هدف از این آموزش نشان دادن اطلاعات مورد نیاز برای توسعه برنامه های کاربردی با استفاده از پین GPIO در DragonBoard 410c با سرعت کم است. این آموزش اطلاعاتی را برای توسعه برنامه های کاربردی با استفاده از پین های GPIO با SYS در Andr ارائه می دهد