فهرست مطالب:

چراغ سیگنال دست دوچرخه: 10 مرحله (همراه با تصاویر)
چراغ سیگنال دست دوچرخه: 10 مرحله (همراه با تصاویر)

تصویری: چراغ سیگنال دست دوچرخه: 10 مرحله (همراه با تصاویر)

تصویری: چراغ سیگنال دست دوچرخه: 10 مرحله (همراه با تصاویر)
تصویری: گرونی باعث عشق میشه😅#shorts 2024, جولای
Anonim
چراغ سیگنال دست دوچرخه
چراغ سیگنال دست دوچرخه

هدف این پروژه ایجاد نوری است که بر روی دستکش دوچرخه قرار می گیرد و در جهت چرخش مورد نظر قرار می گیرد و دید را در شب افزایش می دهد. باید سبک ، آسان برای استفاده و با حرکات موجود برای علامت دهی (حداقل تنظیم روش سیگنال (لازم نیست دکمه ای را فشار دهید ، فقط هنگامی که سیگنال می دهید) کار می کند). این می تواند یک هدیه عالی برای تعطیلات باشد.

توجه: این امر مستلزم داشتن دانش قبلی در مورد نحوه لحیم کاری است و ایده نحوه برنامه نویسی AVR یک مزیت بزرگ است. با این حساب ، از آن لذت ببرید ، صبور باشید و تصاویر محصول خود را در زیر پست کنید! در اینجا یک ویدیو وجود دارد: و در اینجا یک عکس از من است:

مرحله 1: قطعات

قطعات
قطعات

x1 ATmega 32L 8PU (www.digikey.com) x1 پین 40 پین DIP (www.digikey.com) x1 8x8 LED Array (www.sparkfun.com) x1 74138 De-multiplexer (www.digikey.com) x2 Flex Sensors (www.sparkfun.com) x (بسیاری) مقاومت 180 اهم و 10k ohmx2 برد PC (www.sparkfun.com) x6 Standoffs (www.sparkfun.com) و پیچ های مناسب (فروشگاه سخت افزار محلی) x1 شتاب سنج روی برد شکست () www.sparkfun.com) سربرگهای x2 - نر (www.sparkfun.com) ، مونث (www.sparkfun.com) ، و زاویه راست (www.sparkfun.com) x1 LM7805 (www.digikey.com) x2 8 پین (من در Radio Shack به دست آوردم) x1 9v batteryx1 foot stick-on velcrox1 دستکش دوچرخه با انگشت کامل دستکش 1 قرقره پلی استر threadx1 برنامه نویس (من این را دارم) x1 سیم برنده و کلیپکس 1 مولتی متر برخی از قطعات:

مرحله 2: تخته ها را آماده کنید

تخته ها را آماده کنید
تخته ها را آماده کنید
تخته ها را آماده کنید
تخته ها را آماده کنید
تخته ها را آماده کنید
تخته ها را آماده کنید
تخته ها را آماده کنید
تخته ها را آماده کنید

ابتدا استندها را اضافه کنید. برای به دست آوردن ارتفاع مناسب ، باید دو عدد را به هم وصل کنید. مطمئن شوید که سطوح با پدهای SQUARE از طرف دیگر در حال پایین آمدن هستند. به این ترتیب می توانید لنت هایی با لحیم کاری در پایین و پل با پد معمولی در بالا برای اتصال به زمین پل بزنید. سپس آرایه LED را اضافه کنید و آن را لحیم کنید. باید با دو ستون تا لبه تخته تا جایی که می تواند YS رو به طرف مقابل باشد فاصله داشته باشد. پین سمت چپ پایین پین 1 است (روی تصویر نیز مشخص شده است.) سپس دو سوکت 8 پین را یکی روی دیگری اضافه کنید تا یک سوکت 16 پین ایجاد شود. مطمئن شوید که یک فاصله در سمت چپ دارید و سپس آن را لحیم کنید. سپس هدرهای زن و مرد را به 10 و 11 قسمت پین تقسیم کنید. به دو برابر سرصفحه زن نیاز دارید. همانطور که در عکس دیده می شود موارد داخل را لحیم کنید. در مورد سرصفحه های مردانه باید پین را جابجا کنید تا مقدار آنها در هر طرف پلاستیک مساوی باشد. برای دیدن منظور من راحت تر به عکس نگاه کنید ، بنابراین به شماره 6 نگاه کنید. من از انبردست استفاده کردم و خیلی خوب کار کرد. حالا اگر سربرگ های مردانه را برداشته و آنها را بین 2 سر زن قرار دهید ، خواهید دید که اندازه آنها برای اتصال تخته بالا و پایین به هم مناسب است.

مرحله 3: مقاومت ها را اضافه کنید

مقاومت ها را اضافه کنید
مقاومت ها را اضافه کنید
مقاومت ها را اضافه کنید
مقاومت ها را اضافه کنید
مقاومت ها را اضافه کنید
مقاومت ها را اضافه کنید

این مقاومتها برای محافظت از آرایه بین آرایه LED و 74138 (Ground) قرار می گیرند. یکی از سیم های مقاومت را از بالای آن تا کنید تا دو سیم موازی باشند. آنها را در پین های 7 ، 9 ، 10 ، 11 ، 12 ، 13 ، 14 و 15 جا دهید و لحیم کنید. من دریافتم که اگر جهت مقاومت را به طور متناوب تغییر دهید ، همانطور که در تصاویر دوم و سوم مشاهده می کنید ، بهتر عمل می کند.

مرحله 4: سیم را بالای صفحه قرار دهید

سیم بالا
سیم بالا
سیم بالا
سیم بالا
سیم بالا
سیم بالا
سیم بالا
سیم بالا

این طولانی ترین مرحله پروژه است ، بنابراین مطمئنم که لحیم کاری را دوست دارید! فقط شماتیک زیر را دنبال کنید و مطمئن شوید که پیوستگی را با خود مولتی متر آزمایش می کنید. در صورتی که می خواهید بدانید چگونه من را با نمای شماتیک صفحه داده آرایه و 74138 به ما معرفی کردم.

مرحله 5: پایین را پر کنید

پایین را پر کنید
پایین را پر کنید
پایین را پر کنید
پایین را پر کنید
پایین را پر کنید
پایین را پر کنید
پایین را پر کنید
پایین را پر کنید

اکنون وقت آن است که اجزای اصلی خود را روی صفحه پایینی قرار دهیم. ابتدا سوکت DIP 40 پین را انجام می دهیم که تا آنجا که می تواند به بالا سمت چپ نزدیک می شود در حالی که یک ردیف فضا در سمت چپ می گذارد. (تصویر شماره 1 را ببینید.) آن را لحیم کرده و سپس سربرگ ها را قرار دهید. ساده ترین راه برای انجام این کار این است که قسمت های بالا را با آنهایی که در پایین قرار دارند با استفاده از سرصفحه های تغییر یافته نر شما وصل کنید. اگر همه کارها را درست انجام داده اید ، باید سه پین بالا را در سربرگ سمت چپ کنار پین های سمت راست پایین در سوکت به پایان برسانید. این خوب است. ما فقط از پایین ترین پین در سمت راست استفاده می کنیم و همانطور که می بینید ما از جهت دیگری شلیک واضح به آن داریم. حالا تنظیم کننده ولتاژ را مطابق تصویر اضافه کنید. من خود را از طریق سوراخ هیت سینک فلزی با پیچ و مهره محکم کردم. هیت سینک یکی دیگر از روش های اتصال تراشه است و اتصال آن به صفحه باعث ایجاد ارتباط محکم با اتصال مشترک می شود. این به پایین و بالا متصل می شود زیرا این دو با سطوح فلزی متصل هستند. با این حال ، اگر از اتصال معمولی برای زمین استفاده نمی کنید ، هیت سینک را روی صفحه پیچ نکنید زیرا هیت سینک به عنوان زمین عمل می کند و احتمالاً چیزی را کوتاه می کنید. سیم بعدی در گیره باتری. قرمز به پین سمت چپ می رود (با گرمکن بالا و پین ها پایین) سیاه به وسط و پین سمت راست +5 ولت تولید می کند. اکنون می توانید برق را به بالا وصل کنید (تصویر شماره 2 را ببینید). حالا برای اتصال برنامه نویس. من یک آداپتور دارم که برای برنامه نویس خود ساخته ام ، اما شما احتمالاً می خواهید یک سربرگ 6 پین (3x2) در طراحی خود بگنجانید. اما اگر شما مانند من آداپتور دارید ، این کاری است که من انجام دادم. من یک سربرگ با زاویه راست و یک سربرگ زن گرفتم و آنها را با هم لحیم کردم (تصویر شماره 3). سپس آن را با اولین پین متصل به پین 6 به برد وصل کردم. حالا برای بالا کشیدن تنظیم مجدد ، باید تراشه را وصل کرده و سیم کشی کنید. من یک مقاومت 10k از پین 9 تا پین 10 اجرا کردم و سپس پین 10 را به +5 ولت وصل کردم. پین بعدی (11) به اتصال مشترک (Ground) می رود. سرانجام به تصویر شماره 4 نگاه کنید تا این مرحله را به پایان برسانید (این کاملاً قابل توضیح است).

مرحله 6: سیم را به پایین بکشید

سیم پایین
سیم پایین
سیم پایین
سیم پایین
سیم پایین
سیم پایین

آن مرحله واقعاً سرگرم کننده را که باید بیش از 30 سیم را اجرا کنید تا یک آرایه LED کار کند ، به خاطر دارید؟ حالا باید دوباره این کار را انجام دهید! در انتها!. این یکی کمی سریعتر است اما زیاد من نیست. یکبار دیگر ، به شماتیک نگاه کنید و تمام اتصالات خود را با مولتی متر خود بررسی کنید. نگران نباشید ، این آخرین قطعه لحیم کاری بزرگ پروژه است و تقریباً کار شما تمام شده است.

مرحله 7: حسگرهای فلکس و شتاب سنج

سنسورهای فلکس و شتاب سنج
سنسورهای فلکس و شتاب سنج
سنسورهای فلکس و شتاب سنج
سنسورهای فلکس و شتاب سنج
سنسورهای فلکس و شتاب سنج
سنسورهای فلکس و شتاب سنج

ما ابتدا با سنسورهای انعطاف پذیر مقابله می کنیم ، اما تا آنجا که سخت افزار کار می کند ، در خانه هستید. من فکر می کنم که تصاویر زیر تقریباً توضیح می دهد که چه کار باید کرد. یک پین را به +5 ولت دیگر را به پین سوم یا چهارم از بالا در سمت راست AVR وصل کنید (میکروکنترلر در قلب این پروژه). وقتی این را برای اولین بار کنار هم گذاشتم ، فکر کردم این تنها کاری است که باید انجام دهم ، اما معلوم می شود که برای خواندن AVR سنسورهای انعطاف پذیر ، باید یک مقاومت را از پین روی سنسور که به AVR به زمین می رود ، قرار دهید (تصاویر را ببینید) 10 و 11). من از 10k استفاده کردم این ولتاژ را به AVR تقسیم می کند که عملاً حساسیت سنسور را دو برابر می کند. حالا برای شتاب سنج. از آنجا که شتاب سنج فقط یک مو بلندتر از فاصله بین دو تخته است و از آنجا که ممکن است روزی بخواهیم آن را جایگزین کنیم ، تصمیم گرفته ام از سربرگ ها استفاده کنم تا آن را از روی تخته بیرون بیاورم و آن را وصل کنم. از هدر زاویه راست برای اتصال به 6 پین روی صفحه شکست استفاده کنید. حالا یک سربرگ دیگر با زاویه راست بگیرید و یک هدر زن را به پین های کوتاه بچسبانید و سپس آن را در پایین سمت چپ تخته خود لحیم کنید. برای اطمینان از مناسب بودن شتاب سنج ، آن را از برق بکشید و سپس پین های مناسب را به Vcc (+5v) و Gnd وصل کنید. سپس پین خروجی X را به پین 40 و Y را به پین 39 وصل کنید. حالا باید تنظیم کنید که IC ها (مدارهای مجتمع) را اضافه کرده و آن را روشن کنید.

26 دسامبر 2009: من دریافتم که نحوه نصب سنسور خم شدن انگشت اشاره باعث تخریب مواد متصل کننده سنسور به پین ها می شود. من از آن زمان یک سنسور جایگزین خریدم و یک تکه پلاستیک نازک را به سنسور چسباندم تا از این قسمت بیشترین خم شدن جلوگیری شود. من مکان را در عکس زیر برچسب گذاری کرده ام.

مرحله 8: افزودن IC و برنامه اول

افزودن IC و برنامه اول
افزودن IC و برنامه اول
افزودن IC و برنامه اول
افزودن IC و برنامه اول
افزودن IC و برنامه اول
افزودن IC و برنامه اول
افزودن IC و برنامه اول
افزودن IC و برنامه اول

این احتمالاً ساده ترین مرحله کل فرآیند است. بار دیگر عکس کمک می کند. مطمئن شوید که تراشه ها را به درستی در اختیار داشته باشید همانطور که در تصویر شماره 3 توضیح داده شده است. من ابتدا برق را بدون اتصال متصل می کنم و هیت سینک تنظیم کننده ولتاژ را لمس می کنم. اگر هوا گرم است ، چیزی کوتاه می شود و باید به عقب برگردید و اتصالات خود را بررسی کنید. این کار را ادامه دهید ، هر بار یک چیپس اضافه کنید ، احساس گرما کنید و وقتی همه چیز در جای خود قرار گرفت ، مهره های روی تخته پایین را محکم کنید تا دو تخته محکم به هم محکم شوند. در مرحله بعد AVR را برنامه ریزی می کنید. اگر قبلاً این کار را نکرده اید ، یک جستجوی سریع در گوگل نتایج زیادی را به همراه دارد. اگر من به جای شما بودم ، AVR خود را روی یک تخته نان قرار می دادم و قبل از اینکه آن را در کار سخت خود انجام دهید ، برنامه را روی آن قرار می دادم. من یک برنامه ساده برای خروجی اطلاعات دریافتی از سنسورهای فلکس به آرایه LED نوشتم. این باید به شما یک ایده اساسی درباره آنچه در مدار شما کار می کند و نمی کند ارائه دهد. در اینجا یک ویدیو از کد در حال اجرا است …… و در اینجا کد: #تعریف F_CPU 800000UL #شامل #شامل #شامل #شامل void ADCINIT () { ADMUX = 0b01100000 ؛ ADCSRA = 0b10000000؛} int main () {int a؛ a = 0 ؛ int b؛ b = 0 ؛ DDRD = 0xFF ؛ DDRB = 0xFF ؛ DDRA = 0b11100000 ؛ ADCINIT ()؛ در حالی که (1) {ADMUX = 0b01100011؛ ADCSRA | = 0b01000000؛ while (bit_is_clear (ADCSRA، ADIF))؛ PORTA = 0b00000000؛ PORTD = ADCH؛ _delay_ms (1) ؛ PORTD = 0x00 ؛ ADMUX = 0b01100010 ؛ ADCSRA | = 0b01000000؛ while (bit_is_clear (ADCSRA، ADIF))؛ PORTA = 0b11100000 ؛ PORTB = ADCH؛ _delay_ms (1) ؛ PORTB = 0x00 ؛ }}

مرحله نهم: وصل کردن حلقه خود به یک دستکش

اتصال خود را به یک دستکش
اتصال خود را به یک دستکش
اتصال خود را به یک دستکش
اتصال خود را به یک دستکش
اتصال خود را به یک دستکش
اتصال خود را به یک دستکش

من فکر می کنم راه های زیادی برای اتصال مدار به دست شما وجود دارد و مدتی فکر می کردم که این کار را به عهده خواننده می گذارم ، اما بعد تصمیم گرفتم که بدون این بسته شدن ، آموزش کامل نمی شود. من به فروشگاه دوچرخه سواری محلی خود رفتم و ارزان ترین دستکش تمام انگشتی که پیدا کردم را دریافت کردم. انگشت کامل لازم است زیرا در غیر این صورت نمی توانید سنسورهای فلکس را به خوبی وصل کنید. سپس به مغازه پارچه فروشی رفتم و مقداری نخ پلی استر و چسب رویی تهیه کردم. دستکش را پوشیدم و مدار را روی دستم گذاشتم. بخشی از موقعیت یابی راحتی است ، اما بخشی دیگر سنسورهای انعطاف پذیر است. آنها باید از وسط دو انگشت پایین بیایند. من حلقه هایی را در اطراف سه مرحله برای دوختن تخته اصلی دوختم (تصویر شماره 2 را ببینید) و سپس حلقه های 3/4 راه را در پایین هر انگشت حسگر خم (شماره 3 و 4) انجام دادم. اطمینان حاصل کنید که دستکش خود را بسته نمی دوزید. بعد یک تکه مخمل چسبنده به انگشت شست خود نگه داشتم تا باتری را نگه دارد. من بعد از آزمایش متوجه شدم که دوختن آن نیز به صرفه است زیرا چوب برای مدت طولانی دوام نمی آورد. در مرحله بعد من حلقه ای از Velcro را در اطراف 9v قرار می دهم (تصویر 5). به نظر می رسد این تنظیم بسیار خوب کار می کند. همانطور که در تصاویر اولین و آخرین اسلاید مشاهده می کنید ، من اکنون برای سنسورهای فلکس آستین اضافه کرده ام ، اما اگر وقت ندارید ، حلقه ها باید خوب عمل کنند. هنگامی که پروژه خود را به پایان می رسانید ، لطفا عکس محصول نهایی خود را ارسال کنید در زیر خیلی دوست دارم ببینم برای اتصال مدار به چه چیزی رسیدید!

مرحله 10: کد واقعی

کد واقعی
کد واقعی

ممنون که تا اینجا همراه من بودید لطفاً به خاطر داشته باشید که کد من کامل نیست. من دریافتم که کمی یادگیری طول می کشد تا سیگنال درست کار کند. من همچنان سعی می کنم سیستم خود را کامل کنم و پس از نوشتن این صفحه را با کد جدید به روز می کنم. 26 دسامبر 2009: کد جدید! در جایی که کد قدیمی بود ارسال می شود. با تشکر فراوان از یعقوب برای ساده سازی. واقعاً خوب کار می کند. ایناهاش. با تشکر از شما برای خواندن و رای فراموش نکنید! #include #include #include // مجموعه یا پاک کردن بیت ها در ثبات ها بیت)) #تعریف flipBit (sfr ، bit) (sfr ^= (1 << بیت)) #تعریف FALSE 0 #تعریف TRUE 1 #تعریف ماتریس X (x) (PORTA = (x - 1) << 5) #تعریف matrixGY (y) (PORTD = y) #تعریف matrixRY (y) (PORTB = y) تاخیر باطل (int بدون تأخیر int) {unsigned int x = 0؛ در حالی که (x <تأخیر) {x ++؛ }} void initMatrix () {DDRD = 0xFF؛ // کنترل سبز DDRB = 0xFF ؛ // کنترل قرمز DDRA = 0xE0؛ // کنترل زمین} void matrixRowDraw (char greenmask ، char redmask ، char column) {matrixX (ستون) ؛ int i = 0 ؛ برای (i = 0؛ i <8؛ i ++) {matrixGY (greenmask & (1 << i))؛ matrixRY (ماسک قرمز & (1 << i))؛ _ تاخیر_ما (150) ؛ } matrixGY (0x00)؛ matrixRY (0x00) ؛ } void matrixLeft () {matrixRowDraw (0x10 ، 0 ، 1) ؛ matrixRowDraw (0x20 ، 0 ، 2) ؛ matrixRowDraw (0x40 ، 0 ، 3) ؛ matrixRowDraw (0xFF ، 0 ، 4) ؛ matrixRowDraw (0xFF ، 0 ، 5) ؛ matrixRowDraw (0x40 ، 0 ، 6) ؛ matrixRowDraw (0x20 ، 0 ، 7) ؛ matrixRowDraw (0x10 ، 0 ، 8) ؛ } void matrixRight () {matrixRowDraw (0x18 ، 0 ، 1) ؛ matrixRowDraw (0x18 ، 0 ، 2) ؛ matrixRowDraw (0x18 ، 0 ، 3) ؛ matrixRowDraw (0x18 ، 0 ، 4) ؛ matrixRowDraw (0x99 ، 0 ، 5) ؛ matrixRowDraw (0x5A ، 0 ، 6) ؛ matrixRowDraw (0x3C ، 0 ، 7) ؛ matrixRowDraw (0x18 ، 0 ، 8) ؛ } void adcInit () {ADMUX = 0x60؛ ADCSRA = 0x80؛ } char adcGet (char chan) {ADMUX = 0x60 | چان ؛ ADCSRA | = 0x40؛ while (bit_is_clear (ADCSRA، ADIF))؛ بازگشت ADCH ؛ } char adcAvg (char chan، char avgnum) // فقط تا 256 نمونه به طور متوسط {int i = 0؛ کل بدون امضا int = 0؛ برای (i = 0؛ i <avgnum؛ i ++) {total+= adcGet (chan)؛ } return total/avgnum؛ } int main () {initMatrix ()؛ adcInit ()؛ while (1) {while (adcAvg (3، 50)> 0x45 & adcAvg (2، 50)> 0x70) // مقادیر شش ضلعی در اینجا بسته به تنظیمات کاربر برای تعیین حساسیت سنسورهای فلکس باید تغییر کند. {if (adcAvg (1، 50)> 0x4F) {matrixRight ()؛ } if (adcAvg (1، 100) <0x4F) {matrixLeft (50)؛ }}} بازگشت 0؛ } از چمبرلین ، والدین و دوستانم که کمک کردند تشکر ویژه می کنم.

فینالیست مسابقه تعطیلات خانگی

توصیه شده: