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

3 هدايا عطلة سهلة ATTiny: 4 خطوات
3 هدايا عطلة سهلة ATTiny: 4 خطوات

فيديو: 3 هدايا عطلة سهلة ATTiny: 4 خطوات

فيديو: 3 هدايا عطلة سهلة ATTiny: 4 خطوات
فيديو: فكرة هدية لعيد ميلاد صديقتي جابتلي ٦٠ مليون مشاهدة😳 2024, شهر نوفمبر
Anonim
3 هدايا عطلة سهلة ATTiny
3 هدايا عطلة سهلة ATTiny

في كل عام ، يدور موسم العطلات وأتعثر على ما سأقدمه لأصدقائي وعائلتي. يقول الناس دائمًا أنه من الأفضل تقديم الهدية بنفسك بدلاً من شرائها من متجر ، لذا فعلت هذا هذا العام. يعرض الأول اسمًا أو صورة أساسية عند التلويح به في الهواء ، والثاني يتلاشى بسلاسة بين مصباحين أبيضين (يحتوي أيضًا على دبوس أمان لإرفاقه بالملابس أو المحفظة) ، والثالث هو نوع من الإضاءة المزاجية ، التمرير بسلاسة بين الألوان. كلها أقل من 15 دولارًا ويمكن تجميعها بسهولة في أقل من ساعة. يمكنك أيضًا إعطاء هذه التعليمات بالإضافة إلى الأجزاء كهدية لشخص مهتم بتعلم الإلكترونيات.

ملاحظة: يفترض وجود مستوى أساسي من اللحام. ومع ذلك ، على عكس التعليمات السابقة الخاصة بي ، سوف أتخلى عن كيفية برمجة AVR. آمل حقًا أن يساعد هذا الأشخاص الذين يحاولون البدء في مجال الإلكترونيات. أتذكر عندما كنت هناك وسأكون سعيدًا للإجابة على أي أسئلة قد تكون لديكم. تذكر أنه لا توجد أسئلة غبية! لقد تركت الأمر مفتوحًا لك لتحديد كيفية تصميم لوحة الدوائر الخاصة بك على أمل أن تتوصل إلى طريقة جديدة لعرض الدوائر البسيطة التي رسمتها. يرجى نشر الصور بمجرد الانتهاء ، لا يمكنني الانتظار لرؤية ما توصلت إليه! أجزاء لكل المشاريع N = عدد المشاريع x N ATTiny45 (www.digikey.com) x N 8-pin DIP socket (RadioShack) × 1 لوحة أداء كبيرة (حصلت على منجم في RadioShack) × N 3v Coin Cell Battery and Holder (RadioShack) x1 Programmer (أنا أستخدم هذا وسيتم تكوين ملف makefile المزود لاستخدام هذا) x2 N Resistors ، واحد 10 أوم وواحد 10 كيلو أوم (راديو شاك) إليكم صورة للمشاريع الثلاثة المنجزة:

الخطوة 1: الاسم المتعري

الاسم المتعري
الاسم المتعري
الاسم المتعري
الاسم المتعري
الاسم المتعري
الاسم المتعري

أجزاء أخرى x5 DIFFUSED 3mm LED (RadioShack) يستخدم هذا المشروع ثبات الرؤية لعرض صورة أو نص عند تحريكه بسرعة. يعمل بشكل أفضل عندما يحل الظلام. باستخدام AVR ، نقوم بالتبديل بين مصابيح LED بشكل أسرع ثم يمكن للعين أن ترى أنه يمكننا إنشاء صورة في الهواء بمكونات قليلة جدًا. الكود: (قم بتنزيل ملف.zip في أسفل الصفحة للرمز ، makefile ، وما إلى ذلك (لا يحتوي هذا الرمز على التعليقات الشاملة التي يحتوي عليها هذا الرمز ، ولكن إذا لم يعمل هذا الرمز ، فجرّب ذلك الموجود في ملف مضغوط)) #define F_CPU 1000000 #include #include void dispClear () {PORTB = ~ 0b00000000؛ } int main () {DDRB = 0xFF ؛ // بالنسبة لمن لم يقرؤوا لغة C مطلقًا قبل أن تشير الشرطة المائلة المزدوجة إلى وجود تعليق. هذا يعين دبابيس avr على أنها إخراج char x = 10 ؛ // x يستخدم لضبط وقت التأخير. زيادة القيمة تعطي تبديلًا أبطأ بين البكسل ، متناقصًا ، وقتًا أقل (1) // بينما (الشرط صحيح) ؛ {افعل هذا} (صحيح في C هو 1) {PORTB = ~ 0b00010001 ؛ // اسم صديقي هو Zoe لذا قمت برسم الأحرف على ورق الرسم البياني ثم نسبتها إلى PORTB. أول ثلاثة أصفار غير مهمة لأن هناك خمسة فقط من مؤشرات LED متصلة. يشير واحد في واحدة من المساحات الخمسة المتبقية إلى أن مؤشر LED قيد التشغيل ، صفر ، مطفأ. _delay_ms (x) ؛ // تأخير بالمللي ثانية PORTB = ~ 0b00010011 ؛ _delay_ms (x) ؛ PORTB = ~ 0b00010101 ؛ _delay_ms (x) ؛ PORTB = ~ 0b00011001 ؛ _delay_ms (x) ؛ PORTB = ~ 0b00010001 ؛ _delay_ms (x) ؛ dispClear () ؛ // فتح مسافة بين الأحرف _delay_ms (x) ؛ PORTB = ~ 0b00001110 ؛ _delay_ms (x) ؛ PORTB = ~ 0b00010001 ؛ _delay_ms (x * 3) ؛ PORTB = ~ 0b00001110 ؛ _delay_ms (x) ؛ dispClear () ؛ _delay_ms (x) ؛ PORTB = ~ 0b00011111 ؛ _delay_ms (x) ؛ PORTB = ~ 0b00010101 ؛ _delay_ms (x) ؛ PORTB = ~ 0b00010001 ؛ _delay_ms (x) ؛ dispClear () ؛ _delay_ms (x * 5) ؛ // تم تنفيذ الكلمة من أجل الوضوح ولدي مساحة أكبر بين الكلمات}} الآن اتبع التعليمات الموجودة في الصفحة 4 لتجميع هذا الرمز وإرساله إلى AVR الخاص بك.

الخطوة 2: ضوء المحفظة

ضوء المحفظة
ضوء المحفظة
ضوء المحفظة
ضوء المحفظة

أجزاء أخرى x2 LED's NON DIFFUSED (RadioShack) يتلاشى هذا المشروع بسلاسة بين مصباحي LED. أرادت أمي شيئًا لتذهب إليه في حقيبتها لمساعدة نحلها على رؤيتها في الليل. شعرت أن ضوء الدراجة الوامض سوف يجذب الكثير من الانتباه لذلك صنعت هذا. يستخدم PWM (تعديل عرض النبض) لإعطاء تأثير التعتيم والإشراق. ما يحدث في الواقع هو أن مؤشر LED يومض بشكل أسرع مما يمكن للعين رؤيته على فترات متفاوتة لمحاكاة التغيير. يمكنك رؤية هذا بشكل أكثر وضوحًا عندما تلوح به في وجهك كما تفعل مع Name Flasher. يمكن تنزيل الكود في نهاية هذه الصفحة. انظر الصفحة 4 حول كيفية التحويل البرمجي إلى AVR الخاص بك. بدلاً من التعليق على الكود هنا ، سأشرح المفهوم باختصار. يتم إنشاء PWM بواسطة جهاز توقيت. كل دورة على مدار الساعة يحسب الموقت واحدًا. عندما تصل إلى قيمة معينة (في هذه الحالة OCR1B) فإنها تغير حالة دبوس (في هذه الحالة OC1B). للحصول على "إيقاف تشغيل" مصابيح LED ، قمت بتوصيل الآخر بـ [OPPOSITE] OC1B (هذا ما يعنيه الشريط الموجود في الجزء العلوي). ثم نستخدم x لزيادة وتقليل مقدار الوقت الذي تستغرقه مصابيح LED.

الخطوة 3: Color Scroller

لون سكرولر
لون سكرولر
لون سكرولر
لون سكرولر

أجزاء أخرى من Partsx1 RGB LED (المنتشر أفضل) (RadioShack) هذا بالنسبة لي كلاسيكي. لطالما كنت منبهرًا بأضواء مثل هذه وأجدها هادئة جدًا لذا أردت بطبيعة الحال صنع واحدة. كما أن ظهورهم في المجتمع يمنحهم عامل نجاح باهر. "هل صنعت ذلك ؟!" الرمز هو نفسه تقريبًا ، وفي رأيي ، يسهل قراءته. يمكنك تحميل في الأسفل. هذه المرة نقدم دبوس PWM'd لكل دبوس أرضي على RGB LED. وبهذه الطريقة نطحن من خلال الشريحة. يمكن قياس الفولت بالفرق بين نقطتين. 3v-0v = 3v 5v-2v = 3v *** 3v-3v = 0v *** هذا المثال الأخير هو ما نفعله عندما نمر عبر الشريحة. عندما يكون هناك ثلاثة فولت على كلا الجانبين ، على سبيل المثال ، لا توجد فولتات كافية لتشغيل مؤشر LED. حتى تتلاشى بين الألوان اخترنا لونًا ولونًا آخر. اجعل أحدهما يساوي x والآخر يساوي 255-x أو معكوس x. كما كنا نفعل في المشروع السابق. انتقل الآن إلى الخطوة 4 للبرنامج.

الخطوة 4: البرمجة

برمجة
برمجة

قم أولاً بتنزيل وتثبيت Emacs و avr-gcc و Avrdude وأي تبعيات قد تكون لديهم. على Arch linux قمت بهذا مع: sudo pacman -Sy emacs avrdude

حان الوقت الآن لتوصيل مبرمجك بجهاز AVR. قم بتوصيل المسامير الموجودة على مبرمج ISP ذي 6 سنون (الصورة أدناه) إلى دبابيس corosponding في AVR (ورقة البيانات ، الصفحة 2) (لقد فعلت ذلك على لوح التجارب). الآن قم بتوصيل المبرمج بجهاز الكمبيوتر الخاص بك وقم بلمس الجزء العلوي من AVR بسرعة كبيرة. إذا كان الجو حارًا ، فقم بإزالة المبرمج من جهاز الكمبيوتر الخاص بك فورًا تحقق من اتصالاتك وحاول مرة أخرى (Power و Gnd للخلف؟). إذا لم يكن الجو حارًا ، فافتح emacs واضغط على Ctl-x Ctl-f للعثور على ملف.c. افتحه ثم اضغط على Meta (Usualy Alt) -x واكتب compile. اضغط على إدخال مرتين وإذا كنت محظوظًا ، يجب أن يقوم AVR بتشغيل الكود الخاص بك الآن! شكرا للقراءة! أتمنى أن تكون قد استمتعت بها وتعلمت شيئًا. من فضلك ، لا تتردد في طرح الأسئلة ولا تنس نشر صور لما توصلت إليه. إجازة سعيدة ولا تنسوا التصويت!

موصى به: