فهرست مطالب:

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 پریز DIP 8 پین (RadioShack) x 1 Large Perf Board (من در RadioShack گرفتم) x N 3v Coin Cell Battery and holder (RadioShack) x1 Programmer (من از این استفاده می کنم و makefile ارائه شده برای استفاده از این پیکربندی می شود) x2 N Resistors، one 10 اهم و یک 10k اهم (RadioShack) در اینجا تصویری از سه پروژه تکمیل شده است:

مرحله 1: نام Flasher

نام فلاشر
نام فلاشر
نام فلاشر
نام فلاشر
نام فلاشر
نام فلاشر

سایر قسمتها x5 DIFFUSED LED's 3mm (RadioShack) این پروژه از تداوم بینایی برای نمایش تصویر یا متن در هنگام حرکت سریع استفاده می کند. وقتی تاریک است بهتر کار می کند. با استفاده از AVR ما سریعتر بین LED ها جابجا می شویم و سپس چشم می بیند ما می توانیم تصویری را در هوا با اجزای بسیار کمی ایجاد کنیم. کد: (فایل.zip را در پایین صفحه برای کد ، makefile و غیره بارگیری کنید (این کد دارای توضیحات گسترده ای که این کد دارد نیست ، اما اگر این کد کار نکرد ، یکی از موارد زیر را امتحان کنید. فایل فشرده)) #تعریف F_CPU 1000000 #شامل #شامل #شامل void dispClear () {PORTB = b 0b00000000؛ } int main () {DDRB = 0xFF؛ // برای کسانی از شما که هرگز C را قبل از خط مضاعف خوانده اند ، یک نظر را نشان می دهد. این پین های avr را به عنوان خروجی کاراکتر x = 10 تنظیم می کند. // x برای تنظیم legnth تاخیر استفاده می شود. افزایش مقدار باعث می شود که بین پیکسل ها آهسته تر عمل کنید ، کاهش می یابد ، در حالی که کمتر است (1) // در حالی که (شرط درست است) ؛ {این کار را انجام دهید} (درست در C 1 است) {PORTB = 0b00010001 ~ ؛ // نام دوست من Zoe است ، بنابراین من شخصیت ها را روی کاغذ نمودار کشیدم و سپس آنها را در PORTB وارد کردم. سه صفر اول اهمیتی ندارد زیرا فقط پنج عدد led متصل هستند. یک در یکی از پنج فاصله باقی مانده نشان می دهد که LED روشن ، یک صفر ، خاموش است. _delay_ms (x) ؛ // تاخیر در میلی ثانیه PORTB = b 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 = b 0b00011111 ؛ _delay_ms (x) ؛ PORTB = 0b00010101 ~ ؛ _delay_ms (x) ؛ PORTB = 0b00010001 ~ ؛ _delay_ms (x) ؛ dispClear ()؛ _delay_ms (x*5) ؛ // این کلمه به این دلیل انجام شده است که بین کلمات فاصله بیشتری دارم}} اکنون دستورالعمل های صفحه 4 را دنبال کنید تا این کد را کامپایل کرده و به AVR خود ارسال کنید.

مرحله 2: چراغ کیف

چراغ کیف پول
چراغ کیف پول
چراغ کیف پول
چراغ کیف پول

سایر قطعات x2 LED بدون پخش (RadioShack) این پروژه بین دو LED به آرامی محو می شود. مادرم می خواست چیزی روی کیفش باشد تا به زنبور عسلش در شب کمک کند. احساس می کردم چراغ دوچرخه چشمک زن توجه زیادی را به خود جلب می کند بنابراین این کار را کردم. از PWM (Pulse Width Modulation) برای ایجاد جلوه کم نور و روشنایی استفاده می کند. آنچه در واقع اتفاق می افتد این است که LED سریعتر از آنچه چشم در فواصل مختلف می بیند چشمک می زند تا تغییر را شبیه سازی کند. هنگامی که آن را مانند صورت Flasher در صورت خود تکان می دهید ، می توانید این را واضح تر ببینید. کد را می توانید در انتهای این صفحه بارگیری کنید. صفحه 4 در مورد نحوه کامپایل کردن به AVR خود را ببینید. به جای اظهار نظر در اینجا ، من به طور خلاصه مفهوم را توضیح می دهم. PWM توسط یک تایمر تولید می شود. در هر چرخه ساعت ، تایمر یک عدد شمارش می کند. وقتی به مقدار مشخصی می رسد (در این مورد OCR1B) وضعیت یک پین را تغییر می دهد (در این مورد OC1B). برای اینکه LED ها خاموش شوند ، یکی دیگر را به [OPPOSITE] OC1B وصل کردم (این نشان می دهد که نوار بالای صفحه به این معنی است). سپس از x برای افزایش و کاهش مدت زمان روشن شدن LED ها استفاده می کنیم.

مرحله 3: پیمایش رنگ

پیمایش کننده رنگ
پیمایش کننده رنگ
پیمایش کننده رنگ
پیمایش کننده رنگ

سایر قسمتهای LED Partsx1 RGB (پخش بهتر است) (RadioShack) این برای من کلاسیک است. من همیشه با چراغ هایی از این دست علاقه داشتم و آنها را بسیار آرام می دیدم ، بنابراین طبیعتاً می خواستم یک چراغ بسازم. همچنین دیده شدن آنها در جامعه به آنها یک عامل WOW واقعی می دهد. "تو این کار را کردی؟" کد تقریباً یکسان است و به نظر من خواندن آن آسان تر است. می توانید قسمت پایین را بارگیری کنید. این بار ما برای هر پایه اتصال روی LED RGB یک پین PWM'd ارائه می دهیم. به این ترتیب ما تراشه را زمین می کنیم. ولتاژ را می توان به عنوان تفاوت بین دو نقطه اندازه گیری کرد. 3v-0v = 3v 5v-2v = 3v *** 3v-3v = 0v *** این آخرین نمونه کاری است که ما هنگام انجام تراشه در زمین انجام می دهیم. هنگامی که سه ولت در دو طرف وجود دارد ، به عنوان مثال ، ولتاژ کافی برای هدایت LED وجود ندارد. بنابراین برای محو شدن بین رنگ ها ، ما یک رنگ و یک رنگ دیگر را انتخاب کردیم. یکی را برابر با x و دیگری را برابر با 255-x یا INVERSE از x قرار دهید. همانطور که در پروژه قبلی انجام می دادیم. حالا برای برنامه نویسی به مرحله 4 بروید.

مرحله 4: برنامه نویسی

برنامه نویسی
برنامه نویسی

ابتدا Emacs ، avr-gcc و Avrdude و سایر وابستگی هایی که دارند را بارگیری و نصب کنید. در Arch linux این کار را با: sudo pacman -Sy emacs avrdude انجام دادم

اکنون وقت آن است که برنامه نویس خود را به avr خود وصل کنید. پین های برنامه نویس ISP 6 پین (تصویر زیر) را به پین های corosponding در AVR خود وصل کنید (برگه داده ، صفحه 2) (این کار را روی تخته نان انجام دادم). حالا برنامه نویس را به رایانه خود وصل کنید و خیلی سریع قسمت بالای AVR را لمس کنید. اگر داغ است ، برنامه نویس را از کامپیوتر خود حذف کنید و یکبار اتصالات خود را بررسی کنید و دوباره امتحان کنید (Power and Gnd backwards؟). اگر داغ نیست ، emacs را باز کنید و Ctl-x Ctl-f را فشار دهید تا فایل.c را پیدا کنید. آن را باز کرده و سپس Meta (Usualy Alt) -x را فشار داده و کامپایل را تایپ کنید. Enter را دوبار فشار دهید و اگر خوش شانس هستید AVR شما اکنون باید کد شما را اجرا کند! ممنون که خواندید! امیدوارم لذت برده باشید و چیزی یاد گرفته باشید. لطفاً ، از پرسیدن سوالات دریغ نکنید و ارسال عکس از آنچه به دست آورده اید را فراموش نکنید. تعطیلات مبارک و رای فراموش نشود!

توصیه شده: