فهرست مطالب:
- مرحله 1: برخی از افکار اولیه…
- مرحله 2: مدیریت توان
- مرحله 3: نگاهی دقیق تر به ATmega8
- مرحله 4: تخصیص پین ها
- مرحله 5: ارتباط با دوربین
تصویری: کنترلر دوربین بی سیم چند منظوره را خودتان بسازید (ارزان!): 22 مرحله (همراه با تصاویر)
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:59
مقدمه آیا تا به حال فکر کرده اید که کنترلر دوربین خود را بسازید؟ توجه مهم: خازن های MAX619 470n یا 0.47u هستند. شماتیک درست است ، اما لیست اجزا اشتباه بود - به روز شد. این یک مسابقه برای ورود به روزهای دیجیتال است ، بنابراین اگر از نظر شما مفید است ، لطفاً امتیاز/رای/نظر مثبت دهید! اگر واقعاً آن را می پسندید و تلو تلو خورده اید ، "من آن را دوست دارم!" را فشار دهید.:) به روز رسانی: برجسته در hackaday! hackaday.com/2009/10/13/ یک-نژاد-متفاوت-از-کنترلرهای دوربین/بروزرسانی: عکس های جدید از ماشه لیزری در حال عمل! به روز رسانی: جایزه اول = D ، با تشکر از رای دادن و/یا رتبه بندی! این دستورالعمل عمدتا به نفع کاربران SLR است که می خواهند مسافت بیشتری را از دوربین خود خارج کنند ، اما اگر نکته ای وجود داشته باشد و با رابط IR عکس بگیرید ، ممکن است این مورد جالب باشد. مطمئناً این مورد (با کمی اصلاح) با هک های دوربین نیز کار می کند که می توانید خروجی های منطقی را به پایانه های ماشه دوربین متصل کنید. این به عنوان یک آموزش کامل شروع شد ، اما به دلیل برخی از محدودیت های غیرمنتظره که بعداً با آن روبرو شدم ، ممکن است بیشتر راهنمای نحوه انجام کارهای مختلف باشد - من اغلب این انتخاب را به شما واگذار می کنم که چگونه می توانید کارهایی را انجام دهید من فکر می کنم یک راه بهتر برای انجام کارها از گفتن کورکورانه "شما باید این کار را انجام دهید" است. این را به عنوان یک درس در طراحی کنترلر دوربین در نظر بگیرید. من شماتیک و کد کامل را ارائه کرده ام ، بنابراین همیشه می توانید آن را کپی کنید. این یک مورد ساده از انتقال طرح به نوار چسب و افزودن LCD برای اکثر مردم خواهد بود. من نحوه پخت آن را آموزش داده ام زیرا این فرآیند بسیار مشابه است و قبل از اینکه طرح را دائمی کنید ، امکان تصحیح اشتباهات را دارد! شامل طرح های حسگر - نور ، صدا (بسیاری دیگر امکان پذیر است!) هزینه کل - کمتر از 25 پوند (بدون احتساب ابزارها) صفحه نمایش LCD برای تغییر آسان تنظیمات سازگار با Nikon/Canon (کدگذاری شده) ، پشتیبانی احتمالی (بدون آزمایش) برای Olympus/Pentax بدون سیستم عامل اصلاح مورد نیاز از IR استفاده می کند ، بنابراین هم بی سیم است و هم به دوربین شما آسیب نمی رساند. من این ایده را بعد از ساعتها نشسته در سرما و کنترل طولانی روی کنترل از راه دور خود داشتم. من یک فاصله 8 ثانیه ای برای حدود 1000 ضربه انجام می دادم. من فکر کردم ، هی ، فقط یک LED IR است ، اینطور نیست؟ چرا نمی توانم آن را تکرار کنم و با تأخیر داخلی ریموت خودم را بسازم؟ سپس متوجه شدم (تا حدودی با خجالت ، زیرا فکر می کردم یک موج عظیم مغزی دارم) که این کار انجام شده است و حتی چند دستورالعمل در این زمینه وجود دارد. جایی که پیاده سازی من با اکثر فاصله سنج ها و کنترل از راه دور متفاوت است این است که امکان سفارشی سازی و مدولار بودن زیادی را فراهم می کند ، با Nikon/Canon (و احتمالاً بعداً دیگران) سازگار است و توانایی عکس گرفتن از یک ماشه خاص را ترکیب می کند. ایده ساده است. شما می خواهید از چیزی کاملاً سریع عکس بگیرید (در حال حاضر با تأخیر در شاتر خود ، برای من 6 میلی ثانیه محدود شده است). روشهای گوناگونی برای انجام این کار وجود دارد: 1. آزمایش و خطا که سعی می کنید عکس را در لحظه مناسب بگیرید. در زمان مناسب 3. یک کنترل کننده ماشه اختصاصی بخرید که دارای نوعی حسگر صدا/نور است تا با دستور شما عکس بگیرید. 4. خودتان یک دستگاه بسازید! خوب ، 1 و 2 برای به هم ریختن خوب هستند و می توانند تصاویر بسیار خوبی را ارائه دهند. اما آنچه من قصد دارم به شما نشان دهم این است که می توان مداری را ساخت که نتایج مستمر را بارها و بارها به شما ارائه دهد. مهمتر از همه ، در این زمانهای تنگ ، هزینه کمتر از مدلهای جایگزین است (برخی از مردم کیت هایی را برای انجام چنین کارهایی تولید کرده اند ، اما هزینه زیادی را می بینید پیوندها را ببینید). همه کاره بودن طرح این است: اگر سنسور شما ولتاژ خروجی بین 0 تا 5 ولت ایجاد می کند ، می توانید از آن برای راه اندازی دوربین خود استفاده کنید! در ظاهر این یک جمله خسته کننده است ، اما هنگامی که شروع به درک مفاهیم می کنید ، بسیار قدرتمند می شود. فقط با نظارت بر سطح ولتاژ ، ماشه شما می تواند بر اساس نور (LDR) ، مبتنی بر صدا (میکروفون یا اولتراسوند) ، بر اساس دما (ترمیستور) یا حتی یک پتانسیومتر ساده باشد. در واقع ، تقریباً در مورد هر چیزی. شما حتی می توانید مدار را به یک کنترلر دیگر وصل کنید و به شرطی که بتواند خروجی منطقی به شما بدهد ، بنابراین می توانید از آن شروع به کار کنید. تنها محدودیت عمده طراحی در حال حاضر این است که فقط با رابط های IR کار می کند ، تغییر نرم افزار و سخت افزار برای خروجی از طریق مینی USB یا هر نوع رابط مورد نیاز نسبتاً ساده خواهد بود. توجه: کد منبع: من برخی از برنامه ها را در مرحله 13 ارائه کرده ام. کدی که من در کنترلر خود اجرا می کنم در بالا در یک فایل hex همراه با فایل اصلی c و وابستگی های آن وجود دارد. اگر در مورد کامپایل مطمئن نیستید ، می توانید کد من را به سادگی اجرا کنید. من همچنین برخی از کد نمونه هایی را که می توانید در مراحل مختلف استفاده کنید (نام آنها مشخصاً مانند تست از راه دور ، تست فاصله سنجی و تست adc ذکر شده است. اگر در مرحله ای به کد اشاره کنم ، احتمال وجود دارد) ویرایش: بادکنک ها ظاهر می شوند - به نظر می رسد من کمی کوته بین بودم وقتی گفتم که می توانید به راحتی از بالن های پرتاب کننده عکس بگیرید. معلوم می شود که پوست معمولی بادکنک به قدری سریع حرکت می کند که تا زمان شلیک دوربین شما کاملاً باز شده است. این این مسئله در مورد اکثر دوربین ها ، نه کنترل کننده (که ADC را با سرعت حدود 120 کیلوهرتز حس می کند) است. راه دیگر این است که از یک فلاش تحریک شده استفاده کنید ، که در صورت اضافه کردن سیم اضافی و یک مدار کوچک دیگر قابل انجام است. گفت ، از لحاظ تئوری می توانید از چیز دیگری برای پخش آن و بازی با تاخیر استفاده کنید (یا حتی کد تأخیر را به میکرو ثانیه تغییر دهید). یک گلوله هوا که 1 متر را در 150ms-1 می پیماید حدود 6-7 میلی ثانیه طول می کشد ، زمان کافی برای شروع و شلیک فقط حرکت اسلحه می تواند تاخیر ابتدایی چند میکروثانیه را به همراه داشته باشد s باز هم ، در این مورد عذرخواهی می کنم ، اگر بتوانم چند بادکنک را در دست بگیرم ، امشب بازی می کنم ، اما هنوز از ماشه صوتی ، مانند آتش بازی ، موارد زیادی استفاده می شود! من یک تایم لپس سریع و کثیف را در زیر قرار داده ام تا نشان دهم که با این حال کار می کند:) خواندن ، رتبه بندی و/یا رای دادن را فراموش نکنید! به سلامتی ، جاش با شروع پروژه ای بر اساس این دستورالعمل ، شما آن را می پذیرید و با مسئولیت خود ادامه می دهید. اگر یکی از این موارد را تهیه کردید ، یا از دستورالعمل آموزشی من برای کمک به شما استفاده کرد - لطفاً پیوند/عکس برای من ارسال کنید تا بتوانم آن را در اینجا قرار دهم! پاسخ تاکنون بسیار زیاد بوده است (حداقل بر اساس استانداردهای من) بنابراین دیدن اینکه مردم چگونه آن را تفسیر می کنند بسیار عالی خواهد بود. همانطور که تایپ می کنم روی نسخه 2 کار می کنم؛)
مرحله 1: برخی از افکار اولیه…
بنابراین ، چگونه می خواهیم این چیز را بسازیم؟ میکروکنترلر قلب و روح این پروژه یک AVR ATMega8 است. در اصل این نسخه کمی تراشه تراشه ATMega168 است که آردوینو از آن استفاده می کند. این برنامه در C یا اسمبلی قابل برنامه ریزی است و دارای انواع ویژگیهای بسیار مفید است که می توانیم از آنها به نفع خود استفاده کنیم. " "3 تایمر روی صفحه" منبع ساعت داخلی یا خارجی "تعداد زیادی کتابخانه کد و نمونه آنلاین داشتن پین زیاد خوب است. ما می توانیم با یک صفحه LCD ارتباط برقرار کنیم ، 6 ورودی دکمه داشته باشیم و هنوز به اندازه کافی برای یک LED IR برای عکاسی با برخی از LED های باقی مانده باقی مانده باشد. سری پردازنده های Atmel AVR پشتیبانی آنلاین زیادی دارد و آموزش های زیادی برای دریافت شروع شد (من به طور مختصر به این موضوع می پردازم ، اما آموزشهای اختصاصی بهتری وجود دارد) و تعداد زیادی کد برای بررسی مجدد. برای مرجع ، من این پروژه را در C با استفاده از کتابخانه AVR-LibC برنامه نویسی می کنم. من می توانستم به راحتی با PIC این کار را انجام دهم ، اما AVR به خوبی پشتیبانی می شود و همه مثالهایی که برای ریموت ها پیدا کرده ام مبتنی بر AVR هستند! دو نوع اصلی نمایش گرافیکی و الفبایی هستند. نمایشگرهای گرافیکی دارای وضوح هستند و می توانید پیکسل ها را در هر کجا که دوست دارید قرار دهید. نکته منفی این است که کدگذاری آنها سخت تر است (اگرچه کتابخانه ها وجود دارند). نمایشگرهای الفبایی به سادگی یک یا چند ردیف کاراکتر هستند ، LCD دارای کاراکترهای اصلی (یعنی الفبا ، برخی اعداد و نمادها) است و خروجی رشته ها و غیره نسبتاً آسان است. نکته منفی این است که آنها انعطاف پذیر نیستند و نمایش گرافیک تقریباً غیرممکن است ، اما با هدف ما مطابقت دارد. آنها همچنین ارزان تر هستند! الفبا از نظر تعداد ردیف و ستون طبقه بندی می شوند. 2x16 بسیار رایج است و دو ردیف 16 کاراکتری دارد که هر کاراکتر یک ماتریس 5x8 است. شما می توانید 2x20 ثانیه نیز دریافت کنید ، اما من نیازی نمی بینم. هر چیزی را که با آن راحت هستید بخرید. من استفاده از LCD با نور پس زمینه قرمز را انتخاب کردم (من می خواهم از آن برای عکاسی نجومی استفاده کنم و نور قرمز برای دید در شب بهتر است). شما می توانید بدون نور پس زمینه بروید - این کاملاً انتخاب شما است. در صورت انتخاب یک مسیر بدون نور پس زمینه ، در مصرف برق و هزینه خود صرفه جویی می کنید ، اما ممکن است در تاریکی به مشعل نیاز داشته باشید. هنگام جستجوی LCD ، باید اطمینان حاصل کنید که توسط HD44780 کنترل می شود. این یک پروتکل استاندارد صنعتی است که توسط Hitachi توسعه یافته است و کتابخانه های خوب زیادی وجود دارد که می توانیم از آنها برای خروجی داده ها استفاده کنیم. مدلی که خریدم JHD162A از eBay بود. ورودی با دکمه ها انجام می شود (ساده!). من 6 حالت انتخاب ، ok/shoot و 4 جهت را انتخاب کردم. همچنین ارزش دارد یک دکمه کوچک دیگر برای تنظیم مجدد میکرو در صورت تصادف دریافت کنید. در مورد ورودی ماشه ، برخی از ایده های اصلی یک مقاومت وابسته به نور یا یک میکروفون الکتریکی است. اینجاست که بسته به بودجه خود می توانید خلاق یا خسیس شوید. سنسورهای سونوگرافی کمی بیشتر هزینه خواهند داشت و نیاز به برنامه نویسی اضافی دارند ، اما می توانید کارهای زیبایی را با آنها انجام دهید. اکثر مردم از میکروفون (احتمالاً مفیدترین سنسور عمومی) خوشحال می شوند و برق ها بسیار ارزان هستند. توجه داشته باشید که باید تقویت شود (اما بعداً به این موضوع می پردازم). خروجی - وضعیت تنها خروجی واقعی مورد نیاز ما وضعیت است (علاوه بر صفحه نمایش) ، بنابراین چند LED در اینجا خوب کار می کند. ما باید با دوربین ارتباط برقرار کنیم و برای این منظور به منبع نوری نیاز داریم که بتواند تابش مادون قرمز ایجاد کند. خوشبختانه تعداد زیادی LED وجود دارد که این کار را انجام می دهند و شما باید سعی کنید یکی از آنها را با قدرت معقول بالا انتخاب کنید. واحد انتخابی دارای رتبه فعلی حداکثر 100 میلی آمپر است (اکثر LED ها حدود 30 میلی آمپر هستند). همچنین باید توجه داشته باشید که خروجی طول موج را نیز توجه کنید. نور مادون قرمز در طول موج بلندتر طیف EM قرار دارد و شما باید به دنبال مقداری در حدود 850-950 نانومتر باشید. بیشتر LED های IR به سمت 950 تمایل دارند و ممکن است هنگام روشن شدن کمی قرمز مشاهده کنید ، این مشکلی نیست ، اما طیف تلف شده است ، بنابراین در صورت امکان به 850 نزدیک شوید. این؟ خوب ، باتری قابل حمل خواهد بود! من استفاده از 2 باتری AA را انتخاب کردم که سپس تا 5 ولت افزایش می یابد. من در چند بخش بعدی دلیل این موضوع را مرور خواهم کرد. "پوشش و ساخت" نحوه انجام این کار بستگی به خود شما دارد. تصمیم گرفتم از استریپ برد برای مدار بعد از نمونه سازی استفاده کنم زیرا ارزان و انعطاف پذیر است و در طراحی PCB سفارشی صرفه جویی می کند. من شماتیک ها را ارائه کرده ام بنابراین شما می توانید طرح PCB خود را بسازید - اگرچه اگر این کار را بکنید ، من خوشحال می شوم که یک کپی داشته باشم! باز هم پرونده کاملاً به انتخاب شما است ، باید بتواند روی صفحه ، دکمه ها (در صورت امکان در یک طرح نسبتاً بصری) و باتری ها. همانطور که تابلوهای مدار می روند ، این یکی چندان پیچیده نیست ، بسیاری از اتصالات به سادگی به مواردی مانند دکمه ها/LCD متصل می شوند.
مرحله 2: مدیریت توان
مدیریت پروژه در پروژه ای مانند این بدیهی است که قابلیت حمل باید جنبه کلیدی باشد. بنابراین ، باتری ها انتخاب منطقی هستند! در حال حاضر ، برای دستگاه های قابل حمل بسیار مهم است که منبع باتری را انتخاب کنید که یا قابل شارژ است یا به راحتی در دسترس است. دو گزینه اصلی باتری 9V PP3 یا باتری AA است. من مطمئن هستم که برخی تصور می کنند که یک باتری 9 ولت بهترین گزینه است زیرا سلام ، 9 ولت بهتر از 3 است؟ خوب ، در این مورد نیست. باتری های 9 ولت در حالی که بسیار مفید هستند ، ولتاژ خود را با هزینه عمر باتری تولید می کنند. این میزان با واحد میلی آمپر ساعت (میلی آمپر ساعت) اندازه گیری می شود ، از نظر تئوری به شما می گوید که باتری در 1 میلی آمپر در ساعت چقدر دوام می آورد (هر چند با کمی نمک آن را بخورید ، اغلب در شرایط ایده آل و بار کم). هرچه رتبه بالاتر باشد ، عمر باتری بیشتر است. باتری های 9 ولت حداکثر تا 1000 میلی آمپر ساعت و حدوداً دارای امتیاز هستند. از طرف دیگر AA های قلیایی تقریباً سه برابر 2900mAh دارند. قابل شارژ NiMH می تواند به این برسد ، هرچند 2500 میلی آمپر ساعت مقدار معقولی است (توجه داشته باشید که باتری های قابل شارژ با 1.2 ولت کار می کنند نه 1.5!). صفحه LCD نیاز به ورودی 5 ولت (10٪) و AVR (میکروکنترلر) تقریباً یکسان است (اگرچه برای سرعتهای فرکانس پایین می تواند به 2.7 برسد). ما همچنین به یک ولتاژ نسبتاً پایدار احتیاج داریم ، اگر نوسانات آن باعث ایجاد مشکل در میکروکنترلر شود. برای انجام این کار ، ما از تنظیم کننده ولتاژ استفاده می کنیم ، شما باید قیمت و کارایی را در حال حاضر انتخاب کنید. شما می توانید از یک تنظیم کننده ولتاژ ساده 3 پین مانند LM7805 (سری 78 ، خروجی +5 ولت) یا یک مدار مجتمع کوچک استفاده کنید. با استفاده از یک تنظیم کننده ساده اگر می خواهید با این گزینه کار کنید ، باید یک چند نکته در ذهن اولا ، سه تنظیم کننده پین تقریباً همیشه به ورودی بیشتر از خروجی خود نیاز دارند. سپس ولتاژ را به مقدار دلخواه کاهش می دهند. نکته منفی این است که آنها کارایی وحشتناکی دارند (50-60 is خوب است). نکته مثبت این است که آنها ارزان هستند و با باتری 9 ولت کار می کنند ، شما می توانید یک مدل اصلی 20 پنسی را در انگلستان انتخاب کنید. همچنین باید در نظر داشته باشید که تنظیم کننده ها ولتاژ خروج دارند - حداقل فاصله بین ورودی و خروجی. شما می توانید تنظیم کننده های ویژه LDO (Low DropOut) را خریداری کنید که دارای خروجی در حدود 50mV هستند (در مقایسه با 1-2V با سایر طرح ها). به عبارت دیگر ، مراقب LDO هایی با خروجی +5V باشید. با استفاده از یک مدار مجتمع راه ایده آل ، تنظیم کننده سوئیچینگ است. اینها برای هدف ما معمولاً بسته های 8 پین هستند که ولتاژ را دریافت می کنند و خروجی تنظیم شده با بازدهی بالا به ما می دهند - در برخی موارد تقریبا 90. بسته به آنچه می خواهید وارد کنید ، می توانید مبدل های گام به گام یا پله پایین (به ترتیب افزایش/باک) دریافت کنید ، در عوض می توانید تنظیم کننده هایی را خریداری کنید که خروجی مورد نظر را در بالا یا پایین داشته باشند. تراشه ای که من برای این پروژه استفاده می کنم MAX619+. این یک تنظیم کننده گام به گام 5V است که 2 AA را می گیرد (محدوده ورودی 2V-3.3V است) و 5 ولت ثابت را می دهد. فقط چهار خازن برای کار نیاز دارد و از نظر فضا بسیار کارآمد است. هزینه - 3.00 پوند با احتساب کلاه. مسلماً ارزش آن را دارد که کمی بیشتر از باتری های خود استفاده کنید. تنها نقطه ضعف اصلی این است که از اتصال کوتاه محافظت نمی کند ، بنابراین در صورت افزایش جریان ، به آن هشدار دهید! حل این مشکل با وجود مدار اضافی بی اهمیت است: یکی دیگر از طراحی های مفید تراشه ها - اگرچه راه حلی دقیق و مناسب نیست LT1307. باز هم ، تنظیم کننده 5 ولت ، اما می تواند ورودی های مختلفی داشته باشد و موارد مفیدی مانند تشخیص باتری کم دارد. این هزینه تقریباً 5 with با سلف ها ، خازن های بزرگ و مقاومت دارد. ریل ولتاژ ما قصد داریم از دو ریل اصلی ولتاژ (به علاوه یک زمین مشترک) استفاده کنیم. اولین مورد 3V از باتری خواهد بود ، این مورد برای تغذیه LED ها و سایر اجزای قدرت نسبتاً بالا مورد استفاده قرار می گیرد. MAX619 من فقط تا 60mA (هرچند حداکثر مطلق 120mA) دارای امتیاز است ، بنابراین اتصال میکروکنترلر به MOSFET برای کنترل هرگونه LED راحت تر است. MOSFET تقریباً هیچ جریانی را نمی کشد و هنگامی که ورودی گیت زیر 3 ولت باشد ، به عنوان یک شکست در مدار عمل می کند. هنگامی که میکروکنترلر 1 منطقی را روی پین ارسال می کند ، ولتاژ 5 ولت است و FET روشن می شود ، سپس فقط به عنوان یک اتصال کوتاه (یعنی یک قطعه سیم) عمل می کند. ریل 5 ولت LCD ، میکروکنترلر و مدارهای تقویت کننده را برای اگر به برگه های مختلف نگاه کنیم ، توجه داشته باشیم که AVR در حداکثر بار حداکثر 15-20 میلی آمپر طول می کشد. LCD فقط 1 میلی آمپر طول می کشد تا کار کند (حداقل زمانی که آزمایش کردم ، بودجه 2). با روشن شدن نور پس زمینه ، تصمیم گیری با شماست. اتصال مستقیم آن به ریل 5 ولت (من امتحان کردم) خوب است ، اما قبل از انجام این کار مطمئن شوید که دارای مقاومت داخلی است (در PCB دنبال کنید). آن را به 30mA که راه - وحشتناک! با یک مقاومت 3.3k هنوز قابل مشاهده است (برای عکاسی نجومی مناسب است) و فقط 1 میلی آمپر می گیرد. هنوز هم می توانید با استفاده از 1k یا موارد دیگر روشنایی مناسب را بدست آورید. من با نقاشی زیر 2 میلی آمپر با روشنایی نور پس زمینه خوب هستم! در صورت تمایل ، افزودن دستگیره روشنایی با استفاده از پتانسیومتر 10k بی اهمیت است. IR IR ممکن است حداکثر 100mA طول بکشد ، اما من با 60mA در سرتاسر خود نتایج خوبی داشته ام (آزمایش!). سپس می توانید آن جریان را به نصف برسانید زیرا به طور م atثر در چرخه کار 50٪ (هنگامی که LED مدولاسیون شده است) کار می کنید. به هر حال ، فقط برای کسری از ثانیه روشن می شود ، بنابراین لازم نیست نگران این موضوع باشیم. سایر LED هایی که باید با آنها بازی کنید ، ممکن است دریابید که فقط یک جریان 10 میلی آمپر کافی است تا به شما روشنایی خوبی بدهد - مطمئناً نگاه کنید برای LED های کم مصرف (بدون IR) ، شما مشعل طراحی نمی کنید! من ترجیح دادم نشانگر قدرت را در مدارم اضافه نکنم ، فقط به این دلیل که جریان زیادی برای استفاده زیاد نیست. از کلید روشن/خاموش برای بررسی روشن بودن آن استفاده کنید! در کل ، شما نباید بیش از 30mA در هر زمان و با یک منبع نظری در حدود 2500 (اجازه تنوع) mAh کار کنید که باید بیش از 80 ساعت به شما کار کند. مستقیم با همه چیز روشن در حالی که پردازنده در اکثر مواقع بیکار است حداقل دو برابر/سه برابر می شود ، بنابراین نیازی نیست که اغلب باتری های خود را عوض کنید. نتیجه گیری شما می توانید با استفاده از باتری 9 ولت و تنظیم کننده LDO ارزان و شاداب شوید و هزینه کمی را پرداخت کنید و از IC اختصاصی برای این کار استفاده کنید. بودجه من حتی با IC هنوز زیر 20 پوند بود ، بنابراین در صورت نیاز می توانید آن را حتی بیشتر کاهش دهید.
مرحله 3: نگاهی دقیق تر به ATmega8
PinsImage 1 نمودار pinout ATMega8 است (دقیقاً مشابه 168/48/88 ، تنها تفاوت در مقدار حافظه داخلی و گزینه های وقفه). پین 1 - بازنشانی ، باید در ولتاژ VCC (یا حداقل منطقی 1) در صورت اتصال ، دستگاه به طور نرم افزاری تنظیم مجدد می شود پین 2-6 - پورت D ، ورودی/خروجی عمومی پین 7 - VCC ، ولتاژ منبع تغذیه (برای ما+5 ولت) پین 8 - GroundPin 9 ، 10 - XTAL ، ورودی های ساعت خارجی (بخشی از پورت B) پین 11 - 13 پورت D ، ورودی/خروجی عمومی پین 14 - 19 پورت B ، ورودی/خروجی عمومی پین 20 - AVCC ، ولتاژ تغذیه آنالوگ (مشابه VCC) پین 21 - AREF ، مرجع ولتاژ آنالوگ پین 22 - GroundPin 23-28 پورت C ، ورودی/خروجی عمومی پورت های ورودی/خروجی قابل استفاده: D = 8 ، C = 6 ، B = 6 در مجموع 20 پورت قابل استفاده عالی است ، برای سادگی شما باید خروجی های خود را به صورت پورت (مثلاً D به عنوان پورت خروجی) یا به گروه ها روی برد - ممکن است بخواهید LCD فقط از پورت C استفاده کند تا سیم ها در آن گوشه مرتب باشند. برای برنامه نویسی سه پین اضافی وجود دارد. اینها MISO (18) ، MOSI (17) و SCK (19) هستند.در صورت لزوم ، اینها خوشبختانه به عنوان پین های ورودی/خروجی عمل خواهند کرد. همه AVR ها دارای یک نوسان ساز داخلی هستند که تراشه می تواند ساعت خود را از آن دریافت کند. نکته منفی این است که آنها می توانند در حدود 10 with با دما/فشار/رطوبت نوسان کنند. کاری که ما می توانیم برای مبارزه با آن انجام دهیم استفاده از کریستال کوارتز خارجی است. اینها در هر چیزی از 32768kHz (ساعت) تا 20MHz در دسترس هستند. من استفاده از کریستال 4 مگاهرتز را انتخاب کرده ام زیرا سرعت مناسبی را ارائه می دهد اما در مقایسه با شاید 8 مگاهرتز+نسبتاً محافظ قدرت است. در واقع من اولین نسخه را نوشتم که تا حد زیادی به خالی شدن پردازنده در حین زمان متکی بود. متأسفانه ، به دلیل محدودیت زمانی ، با برخی از مسائل مربوط به عملکرد خارجی ساعت و قطع استفاده از تایمر مواجه شدم. در اصل ، من باید کد را بازنویسی کنم تا کنترل کننده به سادگی از خواب بیدار نشود - که می توانم انجام دهم ، اما زمان با من مخالف است. به این ترتیب ، دستگاه فقط 20 میلی آمپر می کشد تا بتوانید با آن کنار بیایید. اگر واقعاً مشتاق آن هستید ، پس به هر حال با کد مشکل داشته باشید ، تنها کاری که باید انجام دهید این است که داخلی را کلاک کنید و سپس تایمر 2 را در حالت ناهمزمان با استفاده از کریستال 4 مگاهرتز برای تأخیرهای دقیق تر اجرا کنید. انجام این کار ساده است ، اما وقت گیر است. ADCT این چاقوی ارتش سوئیس در مجموعه ابزارهای AVR ، مخفف ADC مخفف Analogue to Digital Converter است. نحوه عملکرد آن از بیرون نسبتاً ساده است. یک ولتاژ روی یک پین (از سنسور یا ورودی دیگر) نمونه گیری می شود ، ولتاژ بین 0 تا 1024 به مقدار دیجیتالی تبدیل می شود. هنگامی که ولتاژ ورودی برابر ولتاژ مرجع ADC باشد ، مقدار 1024 مشاهده می شود. اگر مرجع خود را VCC (+5V) قرار دهیم ، هر بخش 5/1024 V یا حدود 5mV است. بنابراین افزایش 5 میلی ولت روی پین ، مقدار ADC را تا 1 افزایش می دهد. ما می توانیم مقدار خروجی ADC را به عنوان یک متغیر در نظر بگیریم و سپس با آن کنار بیاییم ، آن را با چیزها و غیره در کد مقایسه کنیم. ADC یک عملکرد فوق العاده مفید است و به شما امکان می دهد کارهای جالبی مانند تبدیل AVR به یک اسیلوسکوپ انجام دهید. فرکانس نمونه برداری در حدود 125 کیلوهرتز است و باید متناسب با فرکانس ساعت اصلی تنظیم شود. رجیستر به سادگی مجموعه ای از آدرس ها (مکان ها) در حافظه AVR است. رجیسترها بر اساس اندازه بیت آنها طبقه بندی می شوند. یک رجیستر 7 بیتی 8 مکان دارد ، همانطور که از 0 شروع می کنیم. تقریباً برای همه چیز ثبت نام شده است و بعداً با جزئیات بیشتری به آنها نگاه می کنیم. برخی از مثالها شامل ثبت کننده های PORTx (جایی که x B ، C یا D است) است که کنترل می کند که آیا یک پین بالا یا پایین تنظیم شده یا مقاومت هایی را برای ورودی ها تنظیم می کند ، DDRx که خروجی یا ورودی پین را تعیین می کند و غیره. Datasheet یک عالم ادبی با وزن حدود 400 صفحه. برگه های داده AVR مرجع ارزشمندی برای پردازنده شما هستند. آنها شامل جزئیات هر ثبت ، هر پین ، نحوه کار تایمر ، چه فیوزهایی باید روی چه چیزی و موارد دیگر تنظیم شود. آنها رایگان هستند و شما دیر یا زود به آن نیاز خواهید داشت ، بنابراین یک کپی بارگیری کنید! www.atmel.com/dyn/resources/prod_documents/doc2486.pdf
مرحله 4: تخصیص پین ها
من قبلاً ورودی ها و خروجی های مورد نیاز خود را ذکر کردم ، بنابراین باید پین ها را به آنها اختصاص دهیم! در حال حاضر ، PORT D دارای 8 پین است که راحت است زیرا می تواند به عنوان پورت خروجی ما عمل کند. LCD برای کار به 7 پین نیاز دارد - 4 پین داده و 3 پین کنترل. IR IR تنها به یک پین احتیاج دارد ، به طوری که 8 ما را تشکیل می دهد. PORTB قرار است پورت دکمه ما باشد ، دارای 6 ورودی است ، اما ما فقط به 5 نیاز داریم. اینها دکمه های حالت و جهت هستند. مخصوص ، این پورت ADC است. ما فقط به یک پین برای ورودی ماشه نیاز داریم و منطقی است که آن را در PC0 قرار دهیم (مخفف رایج پین های پورت در این مورد پورت C ، پین 0). سپس ما چند پین برای LED های وضعیتی داریم (یکی وقتی مقدار ADC بالاتر از برخی از شرایط روشن می شود ، دیگری روشن می شود وقتی زیر برخی از شرایط قرار دارد). ما همچنین به دلایلی که بعداً مشخص می شود ، ورودی دکمه ok/shoot خود را در اینجا قرار می دهیم. پس از همه اینها ، ما اکثر پورت ها را مصرف کرده ایم ، اما اگر می خواهید پروژه را گسترش دهید ، هنوز چند مورد باقی مانده است. - شاید محرک های متعدد؟
مرحله 5: ارتباط با دوربین
جایزه اول در مسابقه عکس روزهای دیجیتال
توصیه شده:
DIY چند منظوره انرژی سنج V2.0: 12 مرحله (همراه با تصاویر)
DIY چند منظوره انرژی سنج V2.0: در این دستورالعمل ، من به شما نحوه ساخت یک متر سنج انرژی چند منظوره Wemos (ESP8266) را نشان خواهم داد. این متر کوچک یک دستگاه بسیار مفید است که ولتاژ ، جریان ، قدرت ، انرژی و ظرفیت را کنترل می کند. به غیر از این موارد ، ambi را نیز کنترل می کند
ساعت مکعبی چند منظوره بر اساس موقعیت: 5 مرحله (همراه با تصاویر)
ساعت مکعبی چند منظوره مبتنی بر موقعیت: این یک ساعت مبتنی بر آردوینو است که دارای یک صفحه نمایش OLED است که به عنوان یک ساعت با تاریخ ، به عنوان یک تایمر چرت زدن و به عنوان یک نور شب عمل می کند. & quot؛ توابع & quot؛ توسط شتاب سنج کنترل می شوند و با چرخاندن ساعت مکعب انتخاب می شوند
خودتان دوربین دیافراگم با روشنایی LED بسازید!: 5 مرحله (همراه با تصاویر)
خود را با چراغ LED روشن کنید!: در این پروژه به شما نشان خواهم داد که چگونه یک دکل دوربین ساده را ایجاد کنید. دکل نه تنها می تواند دوربین را دقیقاً در بالای شیئی که می خواهید فیلم بگیرید نگه دارد ، بلکه دارای یک مانیتور برای مشاهده فیلم و روشنایی LED تا حد مطلوبی است
پایگاه ربات چند منظوره DIY و سپر موتور: 21 مرحله (همراه با تصاویر)
پایگاه ربات چند منظوره DIY و سپر موتور: سلام به همگی ، اخیراً من با استفاده از آردوینو روی پروژه های رباتیک کار کردم. اما من پایه مناسبی برای کار نداشتم ، نتیجه نهایی عالی به نظر نمی رسید و تنها چیزی که می توانم ببینم این است که همه اجزای من در سیم پیچیده شده اند. مشکل در تیراندازی در هر مورد
دماسنج دیجیتال چند منظوره: 5 مرحله (همراه با تصاویر)
دماسنج دیجیتال چند منظوره: این دستورالعمل به شما نشان می دهد که چگونه می توانید یک پلت فرم چند منظوره با دماسنج ، کرونوگراف (تایمر شمارش) ، تایمر شمارش معکوس و صفحه نمایش نور ایجاد کنید. همچنین قرار است سکویی برای دیگر سنسورهای آنالوگ یا سایر عملکردهای مورد نظر شما باشد