جدول المحتويات:

كيفية استخدام دبابيس GPIO الخاصة بـ Raspberry Pi و Avrdude إلى برنامج Bit-bang-program DIMP 2 أو DA PIMP 2: 9 خطوات
كيفية استخدام دبابيس GPIO الخاصة بـ Raspberry Pi و Avrdude إلى برنامج Bit-bang-program DIMP 2 أو DA PIMP 2: 9 خطوات

فيديو: كيفية استخدام دبابيس GPIO الخاصة بـ Raspberry Pi و Avrdude إلى برنامج Bit-bang-program DIMP 2 أو DA PIMP 2: 9 خطوات

فيديو: كيفية استخدام دبابيس GPIO الخاصة بـ Raspberry Pi و Avrdude إلى برنامج Bit-bang-program DIMP 2 أو DA PIMP 2: 9 خطوات
فيديو: Introduction to Scratch for Pi, with GPIO LED Example 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-program DIMP 2 أو DA PIMP 2. أفترض أنك على دراية بـ Raspberry Pi و LINUX سطر الأوامر. ليس عليك أن تكون على دراية ببرمجة شرائح AVR ، لكنها تساعد إذا حدث خطأ ما لأنه يمكنك قراءة إخراج avrdude ولديك فكرة عما يجب القيام به.

يجب أن يستغرق هذا الإجراء حوالي ساعة واحدة في المرة الأولى ومن 5 إلى 10 دقائق في كل مرة بعد ذلك.

سوف تحتاج:

1) Raspberry Pi مع دبابيس GPIO ومصدر الطاقة. أنا أستخدم Raspberry Pi Zero W مع دبابيس GPIO ملحومة. يجب أن يكون نظام التشغيل Raspberry Pi OS (المعروف سابقًا باسم Raspbian). أنا أستخدم Raspbian Lite (Stretch) ، وهو نوع قديم. يجب أن تظل هذه الأوامر تعمل على أحدث إصدار من Raspberry Pi OS.

من الآن فصاعدًا ، سأشير إلى 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: قم بإزالة سلك طاقة التيار المتردد وإزالة بطارية 9 فولت

أولاً ، تحقق مما إذا كان سلك طاقة التيار المتردد متصلًا بـ DIMP 2 أو DA PIMP 2 وتوصيله بأنابيب التيار المتردد. إذا كان الأمر كذلك ، فالخطر: خطر الصدمة القاتلة. قم بارتداء قفازات مطاطية ثم قم بإيقاف تشغيل المفتاح المتأرجح الرئيسي الموجود على DIMP 2 أو DA PIMP 2. ثم افصل سلك طاقة التيار المتردد من أنابيب التيار المتردد وافصل سلك طاقة التيار المتردد من DIMP 2 أو DA PIMP 2. يمكنك أن تأخذ اخلع القفازات المطاطية بمجرد إزالة سلك طاقة التيار المتردد.

ثم قم بإزالة بطارية 9V. سيتم توفير الطاقة إلى DIMP 2 بواسطة RPi من خلال الأسلاك الحمراء (Vcc) والأسود (GND). قم بتحويل المفتاح المنزلق على DIMP 2 أو DA PIMP 2 إلى وضع الإيقاف في حالة حدوث ذلك.

الخطوة 2: قم بتوصيل أسلاك العبور

ربط الأسلاك الطائر
ربط الأسلاك الطائر
اربط أسلاك العبور
اربط أسلاك العبور
ربط الأسلاك الطائر
ربط الأسلاك الطائر
ربط الأسلاك الطائر
ربط الأسلاك الطائر

مع عدم تشغيل RPi ، ابدأ في توصيل أسلاك العبور. من الآن فصاعدًا ، توجد دبابيس GPIO على Raspberry Pi وتوجد دبابيس ICSP على DIMP 2 (رأس J3) أو DA PIMP 2 (رأس J1).

ارجع إلى الرسم التخطيطي الذي جمعته معًا والصور في حالة الضياع.

جزء RPi من الرسم التخطيطي من pinout.xyz.

جزء ATMEGA48V-10PU من الرسم البياني محمي بحقوق الطبع والنشر لعام 2016 لشركة Atmel Corp.

أنا أدعي الاستخدام العادل لهذه الرسومات بسبب الإضافات التحويلية الهامة.

ينتقل الأسود من GPIO pin 6 إلى ICSP pin 10. هذا هو GND (الأرضي)

ينتقل اللون الأصفر من GPIO pin 12 إلى ICSP pin 9. هذا هو MISO.

ينتقل اللون الأخضر من GPIO pin 16 إلى ICSP pin 1. هذا هو MOSI.

ينتقل اللون الأزرق من GPIO pin 18 إلى ICSP pin 7. هذا هو SCK أو SCLK (SClock)

ينتقل اللون الأرجواني (البني في صوري) من GPIO pin 32 إلى ICSP pin 5. هذا هو RESET.

ينتقل اللون الأحمر من GPIO pin 4 إلى ICSP pin 2. هذا هو Vcc (5V Power)

الخطوة 3: قم بتشغيل RPi

الآن ، انطلق وشغل RPi. يجب تشغيل جزء الفولتميتر في DIMP 2 أو DA PIMP 2 أيضًا ، لكنك لن تعرفه من خلال النظر إلى الشاشة. إذا كنت في شك ، فقم بقياس الجهد باستخدام المسبار الأحمر في الدبوس 20 على ATMEGA48V-10PU والمسبار الأسود عند الطرف 4 أو 6 أو 8 على رأس ICSP. يجب أن يكون حوالي 5VDC.

الخطوة 4: قم بتثبيت Avrdude

ستعرض تعليماتي أوامر سطر الأوامر فقط. إذا كان لديك واجهة مستخدم رسومية قيد التشغيل ، فستحتاج إلى فتح Terminal لتشغيل أوامر سطر الأوامر هذه.

قم بتسجيل الدخول كمستخدم افتراضي بي. كلمة المرور الافتراضية هي التوت

قم بتثبيت الأمر avrdude عن طريق كتابة ما يلي في موجه أوامر المحطة:

sudo apt-get install avrdude

الخطوة 5: قم بتحرير ملف تكوين Avrdude

قم بتحرير ملف التكوين avrdude عن طريق كتابة:

sudo nano /etc/avrdude.conf

أضف هذه الأسطر إلى منتصف الملف حيث توجد تعريفات المبرمج الأخرى. ما فعلته هو نسخ قسم المبرمج فوقه مباشرةً من أجل id = "linuxgpio" ، ثم الصقه مباشرةً أدناه (في السطر 1274) ، ثم تحرير القسم الجديد.

مبرمج

معرف = "pi_1" ؛ desc = "استخدم واجهة Linux sysfs لخطوط bitbang GPIO" ؛ اكتب = "linuxgpio" ؛ إعادة تعيين = 12 ؛ sck = 24 ؛ موزي = 23 ؛ ميسو = 18 ؛ ؛

ثم احفظ الملف بالضغط على: Ctrl-O

ثم قم بإنهاء محرر nano بالضغط على: Ctrl-X

الخطوة 6: قم بتنزيل أو نسخ ملف.hex Flash إلى / 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 الأصلي لـ Mikey Sklar موجود هنا. سيكون عليك تجميعها في ملف.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.

القرص المضغوط / المنزل / بي

sudo avrdude -c pi_1 -p m48 -v

ستحصل على صفحة من الإخراج. انظر إلى النهاية. إذا تلقيت ردًا مثل هذا ، فيمكنك المتابعة.

avrdude: جهاز AVR مهيأ وجاهز لقبول التعليمات

القراءة | ################################################## | 100٪ 0.00 ثانية

إذا لم يكن الأمر كذلك ، فهذا خطأ ما ويجب عليك اكتشافه. على الأرجح أنه خطأ في الأسلاك ، لكن شكوى أخرى شائعة رأيتها هي أن شريحة ATMEGA48V-10PU مزيفة. يبدو أن الكثير منها يباع على أمازون أو إيباي مزيف. تلك المباعة من قبل Mouser أو Digikey والموزعين المعتمدين الآخرين أصلية.

الخطوة 8: قم بتفليش ملف.hex إلى ATMEGA48V-10PU

قم بتشغيل هذا الأمر للقيام ببرمجة الشريحة …

بالنسبة لـ DIMP 2:

القرص المضغوط / المنزل / بي

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

بالنسبة لـ DA PIMP 2:

القرص المضغوط / المنزل / بي

sudo avrdude -c pi_1 -p m48 -U فلاش: w: da_pimp2.hex

ستحصل على صفحة من الإخراج. ابحث عن هذه الخطوط:

avrdude: فلاش كتابة (1528 بايت):

الكتابة | ################################################## | 100٪ 0.79 ثانية

avrdude: التحقق …

avrdude: 1528 بايت من الفلاش تم التحقق من avrdude: safemode: Fuses OK (E: FF، H: DF، L: 62)

إذا وصلت إلى هذا الحد ، يجب أن ترى شاشة LED تعرض أصفارًا للجهد. إذا رأيت الأصفار ، فقد انتهيت! إذا لم يكن كذلك ، فانتقل إلى الخطوة التالية.

إذا رأيت الأصفار ، فقم بإغلاق RPi بأمان باستخدام هذا الأمر:

sudo الاغلاق - ح الآن

عندما ينطفئ ضوء الطاقة الموجود على 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.

موصى به: