در این ساختنی طرز ساخت پوینتر لیزری با وسایل ساده و ارزان را یاد میگیرید. از این پوینتر لیزری میتوانید در سخنرانیها و برای نرم افزارهایی مثل پاورپوینت استفاده کنید. برای ساخت پوینتر پاورپوینت باید با برد آردوینو آشنا باشید. البته ما کدها را در اختیارتان قرار میدهیم تا کار ساخت برایتان ساده تر بشود. با ساختنی همراه باشید.
در واقع کاری که در این ساختنی انجام میدهیم، تبدیل کردن کنترل تلویزیون به پوینتر لیزری است. به این ترتیب دیگر نیاز نیست برای ساخت مدار اصلی پوینتر و بدنه آن وقت بگذارید و کار ساخت بسیار ساده تر میشود. از طرف دیگر هزینه ساخت پوینتر لیزری هم به مراتب کمتر خواهد شد.
دیاگرام اتصالات بسیار ساده است. کافی است پین GND سنسور را به GND آردوینو، پین ۵V سنسور را به پین ۵V آردوینو، پین Data سنسور به پین دیجیتال ۲ آردوینو وصل میشود.
آپلود کدهای آردوینو در دو مرحله انجام میشود. در مرحله اول باید امکان خواندن سیگنالهای ارسالی از کنترل را فراهم کنید . برای اینکار باید بتوانید سیگنال مادون قرمز ارسال از کنترل را رمزگشایی کنید. در مرحله دوم هم باید با استفاده از اطلاعات مرحله اول، کلیدها را به کارکردهای مورد نظرتان برای پوینتر لیزری اختصاص بدهید.
کارتان را با دانلود کتابخانه IRremote و نصب آن در پوشه مناسب شروع کنید. در حین نصب این کتابخانه به راهنمای موجود در لینک بالا هم توجه داشته باشید.
سپس کدهای مرحله اول را از این لینک دانلود کنید و آنها را روی برد آردوینو آپلود کنید. پنجره سریال مانیتور را باز کنید. اگر مراحل بالا را درست انجام داده باشید، با هر بار فشار دادن کنترل یک عدد در این پنجره نمایش داده میشود. عدد مربوط به هر کلیدی که میخواهید استفاده کنید را یادداشت کنید. ما از کلیدهای جلو و عقب استفاده کردیم که با کارکرد پوینتر لیزری همخوانی بیشتری دارد.
کدهای مرحله دوم را از اینجا دانلود کنید. عددهایی که در مرحله قبل نوشته اید را در ساختارهای IF این کدها جایگزین کنید و کدها را آپلود کنید. اگر از برد آردوینو Leonardo استفاده کنید، دکمههای مشخص شده روی کنترل کار کلیدهای جهت نمای کیبورد را خواهند کرد و اسلایدها را جابجا میکنند.
بعد از آپلود کدها، یک پاورپوینت آماده باز کنید و پوینتر لیزری را روی آن تست کنید. دقت کنید که پاورپوینت باید در حالت Slide باشد.
به همین سادگی یک پوینتر لیزری ارزان و کارآمد ساختید. این پوینتر را میتوانید انواع دیگر برد آردوینو یا میکروکنترلرهای دیگر مثل Atmega8U2 هم بسازید. اما باید تغییرات کوچکی در نحوه ساخت ایجاد کنید. مثلاً باید تراشه ای که مسئول برقراری ارتباط بین میکروکنترلر و کامپیوتر است را فلش کنید.
اگر از بردهای Leonardo، Zero و DUE استفاده کنید، نیاز به اینکار ندارید چون این بردها به عنوان کیبورد و موس برای کامپیوتر تعریف میشوند. فراموش نکنید تجربه خودتان از ساخت پوینتر لیزری را با کاربران ساختنی به اشتراک بگذارید.
منبع
خلاصه مطلب
عنوان مطلب
آموزش پوینتر لیزری با کنترل تلویزیون و برد آردوینو
توضیح کوتاه
هزینه ساخت این پوینتر به مراتب کمتر از خرید آن است.
نویسنده
عاطفه اسدزاده
عکاسی با سرعت بالا از قطرات علم ترکیب علم، عکاسی و هنر است. با این روش عکاسی میتوانید حرکات پیچیده مایعات هنگام برخورد اجسام یا قطرات با سطح آب را ببینید. در این ساختنی یک روش عکاسی با سرعت بالا را یاد میگیرید که نیاز به مهارت یا تجهیزات گران قیمت عکاسی ندارد. با ساختنی همراه باشید.
با کمک مداری که ساختش را در ادامه یاد میگیرید، میتوانید این روش عکاسی را با دوربینهای دیجیتال معمولی هم تجربه کنید. این آموزش ساخت علاوه بر آموزش ساخت مدار مبتنی بر آردوینو، روش عکاسی با این مدار را هم بهتان آموزش میدهد تا هر کسی بتواند چنین عکسهایی بگیرد.
در ویدیوی زیر میتوانید معرفی این مدار و نحوه عکاسی با سرعت بالا به کمک آن را ببینید:
هدف عکاسی با سرعت بالا ثبت یک حرکت فوق سریع است. اما گاهی اوقات شاتر بهترین دوربینها هم برای ثبت حرکاتی که خیلی سریع اتفاق میافتد – مثل برخورد دو قطره آب – سرعت کافی ندارند. علاوه براین شاتر دوربین – حتی دوربینهای DSLR – روی ارتفاع سنسور تاثیر میگذارند و این یعنی ممکن است در اثر نحوه باز شدن سنسور، افکتهای نامناسب روی تصویر ایجاد بشود.
نکته کلیدی در عکاسی با سرعت بالا این است که صحنه مورد نظر را بجای شاتر دوربین، در معرض نور قرار بدهید. برای اینکار نیاز به نوعی فلاش داریم که سرعت بالایی داشته باشد. هر نوع فلش جدا از دوربین یا speedlite قابل استفاده خواهد بود. نکته مهم در انتخاب فلاش این است که مطمئن شوید قابل تنظیم است چون باید از آرام ترین فلاش برای ایجاد پالسهای کوتاه مورد نیازمان استفاده کنیم. هرچه از تنظیمات پرنورتری استفاده کنید، پالسهای فلاش آنقدر بلند خواهند شد که حرکت سریع قطرات آب کاملاً شفاف ثبت بشود. پرنورترین نقطه فلاش (بالاترین تنظیمات) حدود ۴ میلی ثانیه (۲۵۰/۱ ثانیه) و کوتاه ترین نقطه حدود ۵۰ نانوثانیه (۲۰۰۰۰/۱ ثانیه) دوام دارد.
برای این روش عکاسی با سرعت بالا میتوانید از هر نوع دوربین DSLR استفاده کنید اما اگر قصد دارید دوربین بخرید، ما مدلهای زیر را پیشنهاد میکنیم:
وسایل زیر هم برای عکاسی از قطرات آب لازم است اما لزوماً نباید خریداری بشود. خودتان میتوانید آنها را با وسایلی که در خانه دارید، درست کنید (برای جزییات بیشتر به تصاویر دقت کنید):
اگر لنز ماکرو دارید، حتماً از آن هم استفاده کنید. این لنزها برای عکاسی با سرعت بالا کارایی زیادی دارند و عکسهای بهتری میگیرند. با این حال قیمت بالایی دارند. با استفاده از اکستنشن تیوب میتوانید صفحه فوکوس را با دور کردن لنز از دوربین، تغییر بدهید. در نتیجه لنز میتواند بهتر از حالت عادی روی صحنه تمرکز کند. خوبی این تیوبها قیم پایین آنهاست اما عمق میدان را کاهش میدهند و ممکن است بخاطر انحراف وضوح عکسها را کاهش بدهند.
در این گام دو روش برای تنظیم تجهیزات عکاسی با سرعت بالا از قطرات آب را میخوانید.
ساده ترین و ارزان ترین روش برای چکاندن قطرات آب این است که داخل یک کیسه زیپ دار را پر از آب کنید و آن را از ارتفاع مناسب آویزان کنید. سپس یک سوراخ پایین کیسه ایجاد کنید. حالا تنها چیزی که نیاز دارید دوربین و یونیت فلاش است. دوربین را روی long exposure، f-stop بالا و ISO پایین تنظیم کنید. سپس شاتر را باز کنید و وقتی احساس کردن زمانبندی مناسب است، فلاش را به صورت دستی فعال کنید. با این روش تعداد زیادی عکس خواهید داشت که جالب نیستند ما چندتا از آنها هم کیفیت کافی خواهند داشت. مهمترین ایراد این روش این است که خیلی سخت میتوانید از لحظه برخورد یک قطره با ترشحات قطره قبلی عکس بگیرید.
با این روش میتوانید پرتاب قطرهها، باز شدن شاتر دوربین و فعال شدن فلاش را به طور کامل کنترل کنید. برای اینکار باید از شیر سلنوئیدی برای ریختن قطرهها استفاده کنید و سایر فعالیتها را مطابق با آن تنظیم کنید. برای مثال، توالی فعالیتها میتواند به صورت زیر باشد:
با استفاده از این روش میتوانید:
اگر این روش را برای آماده کردن سیستم قطره چکان انتخاب کرده اید، باید به روش زیر عمل کنید.این سیستم تقریباً مشابه سیستم قبلی است با این تفاوت که بجای کیسه از شیر سلنوئیدی استفاده میکنیم. دوربین و یونیت فلاش را هم به مدار کنترل وصل میکنیم (ساخت و برنامه ریزی مدار را در گام بعدی بخوانید). برای رساندن آب به شیر سلنوئیدی، از لوله و یک بطری پر از آب استفاده کنید و آنها را در ارتفاع بالاتری نسبت به شیر قرار دهید. به این ترتیب آب به کمک جاذبه به سمت شیر هدایت میشود. روش بهتر هم این است که یک مخزن را مستقیماً به شیر پیچ کنید. به این ترتیب عوض کردن مایع داخل مخزن (آب، شیر، قهوه، روغن و …) هم ساده تر میشود.
بعد از آماده کردن سیستم قطره چکان همه چیز به عهده مداری است که با برد آردوینو میسازید.
ساخت مدار الکترونیکی این پروژه بسیار ساده است چون قسمت اعظم کار به عهده کدهاست. به همین خاطر ساخت مدار و برنامه آردوینو را به صورت جداگانه توضیح خواهیم داد.
در شماتیک بالا میتوانید نحوه اتصال قطعات را به صورت کامل ببینید. ما از برد آردوینو Leonardo استفاده میکنیم اما انواع دیگر آردوینو هم قابل استفاده است. این مدار دو ترانزیستور NPN دارد که یکی برای فلاش و یکی برای دوربین است. ماسفت هم برای شیر سلنوئیدی ۱۲ ولتی است. به یک منبع تغذیه ۱۲ ولتی هم نیاز دارید که میتوانید از منبع تغذیه کامپیوتر استفاده کنید. یک مقاومت پول آپ و یک مقاومت پول داون هم داریم که هر دو ۱۰K هستند. آردوینو طوری وصل میشود که جریان ۵ ولتی را به طرف ۵ ولتی برد بورد برساند. در ضمن آردوینو باید در حین عکاسی به کامپیوتر وصل باشد تا بتوانید از طریق پورت سریال زمانبندی را تنظیم کنید.
هر ترانزیستور NPN به دو سیمیکه از یونیت فلاش یا دوربین میآید، وصل میشوند. برای دوربین، باید از یک جک مناسب استفاده کنید. جک دوربین سه نقطه اتصال دارد (اتصال به زمین، فوکوس/متر، شاتر). زمین و شاتر را بهم وصل کنید. ترانزیستور NPN هم مدار را برای ۵۰ میلی ثانیه میبندد تا بتوانید شاتر را فعال کنید. برای یونیت فلاش هم از همین سیستم استفاده میکنیم؛ با این تفاوت که یونیت فلاش فقط دو اتصال دارد. میتوانید گیره تمساحی و کمیسیم را به جکی که همراه کابل sync است، وصل کنید یا مستقیماً کمیسیم به یونیت فلاش لحیم کنید. این نکته را بدانید که روش دوم گارانتی دوربین و فلاش را نقض میکند.
ماسفت از مسیر بار مدار (شیر سلنوئیدی ۱۲ ولتی و منبع تغذیه) به زمین وصل میشود. وقتی پین ماسفت بالا کشیده بشود، مدار بسته میشود.
هر وقت خواستید برای قسمتی از مدار از منبع تغذیه جداگانه استفاده کنید، حتماً GNDها را وصل کنید.
برنامه آردوینوی عکاسی با سرعت بالا بسیار ساده است اما کارایی لازم را دارد. این برنامه برای عکاسی با سرعت بالا دو حالت عمل مختلف دارد:
حالت اول تعاملی است یعنی تا وقتی ورودی کاربر از طریق پورت سریال وارد نشود، هیچ اتفاقی نمیافتد. اگر از طریق پورت سریال آردوینو مقادیر مورد نیاز را (که با ویرگول از هم جدا شده اند) وارد کنید، یک سلسله فعالیت اتفاق میافتد.
چهار مقداری که باید از طریق پورت سریال وارد کنید، عبارتند از (زمانها به میلی ثانیه هستند):
زمان؛ فاصله زمانی رها شدن اولین قطره و فعال شدن فلش
زمان؛ مدت زمان باز ماندن شیر سلنوئیدی – این مقدار اندازه قطرهها را کنترل میکند
زمان؛ فاصله زمانی بین رها شدن قطره اول و قطره دوم
عدد؛ تعداد دفعاتی که میخواهید این فرایند تکرار بشود
شاتر دوربین هم باید روی یک ثانیه تنظیم بشود و قبل از این سری رویدادها فعال بشود.
برای فعال کردن این حالت باید مقدار bDoAnimation flag را روی true تنظیم کنید.
// stop motion settings boolean bDoAnimation = true; // Do a timelapse sequence
int startI = 245; // start time
int endI = 260; // end time
int incr = 1; // ms increment to take shots between start time and end time for animation |
کدهای را میتوانید از لینک زیر هم دریافت کنید. این کدها بسیار ساده و البته کمیبهم ریخته هستند. پس اگر کدنویسی بلدید، حتماً کمیوقت صرف اصلاح آنها بکنید.
حالا همه چیز برای عکاسی با سرعت بالا آماده است. این روش عکاسی بیش از هر چیز نیاز به آزمون و خطا و کسب تجربه دارد. باید آنقدر با سیستمهایی که ساخته اید، عکس بگیرید تا به بهترین تنظیمات دست پیدا کنید. با این حال میتوانید از نکات زیر هم راهنمایی بگیرید:
منبع
خلاصه مطلب
عنوان مطلب
آموزش عکاسی با سرعت بالا با استفاده از برد آردوینو [Arduino]
توضیح کوتاه
این روش عکاسی با سرعت بالا نیاز به تجهیزات گران قیمت مثل لنز ماکرو ندارد.
نویسنده
عاطفه اسدزاده
دستگاه CNC یکی از ابزاری است که با آن میتوانید قطعات بسیار زیر و باجزییاتی را بسازید که ساخت آنها دست کار دشواری است. فرقی نمیکند اهل هنرهای دستی باشید یا ساخت مدارات دستی؛ در هر صورت داشتن دستگاه CNC کارتان را ساده تر میکند. در این ساختنی یاد میگیرید چطور با کمترین هزینه ممکن در خانه دستگاه CNC بسازید. با ساختنی همراه شوید.
این دستگاه براساس برد آردوینو و سفت افزار GRBL ساخته میشود و با ابزار Easel هم سازگار است. ابزار Easel امکان طراحی ساده و سریع پروژههای CNC را فراهم میکند.
لیست کامل قطعات مورد نیاز برای ساخت دستگاه CNC را از لینک زیر دریافت کنید. این نکته را هم در نظر داشته باشید که ما برای ساخت دستگاه CNC از شیلدی با طراحی اختصاصی استفاده کرده ایم که در مراحل بعد بیشتر درباره آن توضیح میدهیم. اما شما میتوانید از شیلدهای آماده استفاده کنید.
رمز فایل saakhtani.ir است.
برای مشاهده فایلهای طراحی بدنه که از لینک زیر قابل دریافت است، از نرم افزار Autocad یا سایر نمایشگرهای DWG استفاده کنید.
فایل اول نقشه برش قطعات MDF است که فاصله بین سوراخهای دریل را نشان میدهد. قطر تمام سوراخها هم ۸ میلیمتر است.
فایل دوم هم مدل سه بعدی دستگاه CNC است که جای هر قطعه را مشخص میکند.
تختههای MDF را با استفاده از این فایلها برش بزنید و آنها را برای ساخت بدنه آماده کنید.
رمز فایل saakhtani.ir است.
بدنه دستگاه را با توجه به فایل طراحی سه بعدی و تصاویر بالا مونتاژ کنید. بهتر است مراحل مونتاژ بدنه را مطابق با ترتیبی که در تصاویر بالا میبینید پیش ببرید تا کارتان ساده تر بشود.
در طراحی دو بعدی بدنه سوراخ پیچها را ندیدید اما بهتر است بجای چسب از پیچ برای اتصال بلبرینگها استفاده کنید تا اتصالات محکم تر بشوند و در جای طبیعی شان قرار بگیرند.
همانطور که در ابتدا گفتیم برای ساخت دستگاه CNC از یک شیلد اختصاصی استفاده شده است اما شما میتوانید از نمونههای تجاری آماده هم استفاده کنید.
برای آماده سازی بخش الکترونیکی دستگاه CNC به قطعات زیر نیاز دارید:
نحوه اتصالات هم مشابه دیاگرامیاست که در تصویر آخر میبینید. با این تفاوت که شما از سه موتور استفاده خواهید کرد.
حتماً بعد از ساخت مدار CNC از تیوب و گیره برای مرتب کردن سیمها استفاده کنید چون حجم بالای سیمها تشخیص مرجع آنها را بسیار دشوار میکند.
رمز فایل saakhtani.ir است.
همانطور که گفتیم برای راه اندازی دستگاه CNC از سفت افزار GRBL استفاده میکنیم. ما از GRBL 0.9i استفاده کرده ایم اما نسخههای جدیدتر هم موجود است.
نحوه پیکربندی دستگاه CNC و سفت افزار آن را در ویدیوی زیر ببیینید. زبان ویدیوها به اسپانیایی است اما فقط با تماشای مراحل کار هم میتوانید پیکربندی را روی دستگاه خودتان پیاده کنید. برای اطلاعات بیشتر درباره تنظیم و نصب GRBL روی آردوینو هم این آموزش ساخت را ببینید.
بعد از پیکربندی دستگاه باید پارامترهای فایل موجود در فایل زیر را پیکربندی کنید.
رمز فایل saakhtani.ir است.
دستگاه CNC تقریباً آماده است و میتوانید استفاده از آن شروع کنید. اما ابتدا باید نرم افزاری که دستگاه را از طریق آن کنترل میکنید را انتخاب کنید. ما یکی از دو نرم افزار زیر را پیشنهاد میکنیم:
Universal GCodeSender که یک نرم افزار رایگان با ویژگیهای زیر است:
Easel که یک ابزار مناسب برای پروژههای برش، ساخت و پرینت سه بعدی است و ویژگیهای زیر را دارد:
در تصاویر و ویدیوهای بالا میتوانید برخی از قطعاتی که با دستگاه CNC ساخته شده اند را ببینید. همانطور که میبینید این دستگاه قابلیت ساخت PCB، برش چوب و آکریلیک را دارد. برای دیدن پروژههای مختلف کاربردی و سرگرم کننده حتما در کانال تلگرام ساختنی عضو شوید.
منبع
خلاصه مطلب
عنوان مطلب
آموزش ساخت دستگاه CNC با برد آردوینو و هزینه کم
توضیح کوتاه
با کمترین هزینه یک دستگاه CNC با دقت بالا بسازید.
نویسنده
عاطفه اسدزاده
اگر به ساخت پروژههای آردوینو علاقه مند باشید، حتماً ساخت ساعت آردوینو برایتان جالب است. روشهای مختلفی برای ساخت ساعت آردوینو وجود دارد اما از همه آنها جالب تر، ساخت ساعت باینری است. این نوع ساعت نسبت به ساعتهای معمولی دقیق تر است و البته خواندنش هم نیاز به آشنایی با سیستم اعداد باینری دارد.با ساختنی همراه باشید.
برای ساخت ساعت باینری با آردوینو باید از یک ماژول RTC هم استفاده کنید چون خود آردوینو دقت خوبی برای نشان دادن زمان در بازههای طولانی ندارد. این نوع ماژول باتری جداگانه دارد و به همین خاطر مصرف انرژی پروژه آردوینو را زیاد نمیکند. میتوانید از ماژول DS3231 هم استفاده کنید که فقط یک دقیقه در سال عقب میماند.
این آموزش ساخت شامل ساعت مدار LED، آماده سازی و برنامه ریزی آردوینو و ساخت جعبه ساعت با پرینتر سه بعدی است. تمام فایلهای مورد نیاز هم در ادمه قابل دریافت است. اگر نمیخواهید تمام قطعات را بخرید، میتوانید ویژگیهای ساعت باینری را متناسب با نیازتان محدود کنید یا تغییر بدهید؛ مثلاً تعداد LEDها را کمتر کنید یا بجای جعبه پرینت شده از جعبههای آاده استفاده کنید.
ماژولهای LED از سه یا چهار LED ساخته میشوند که پایههای مثبت آنها به یکدیگر و پایه منفی آنها به یک مقاومت ۴۷۰Ohm وصل میشوند. این مقاومتها جریان عبوری از LEDها را به مقدار ۵ میلی آمپر محدود میکند. حداکث تعداد LEDهایی که میتوانید به یک ماژول وصل کنید، هشت تاست. بنابراین حداکثر جریانی که میتوانید از آردوینو بگیرید ۴۰ میلی آمپر است که برای آردینو مناسب است.
بعد از لحیم کاری ماژولهای آردوینو، مقاومتها را با هیت شرینک بپوشانید.
مغز ساعت باینری آردوینوی نانو است و به همین خاطر از بیشتر پینهایش استفاده خواهیم کرد. ماژول RTC و ماژول صفحه نمایش هر دو روی i2C قرار میگیرند تا بتوانید از اتصالات مشترک استفاده کنید. کافی است پینهای ۵V، ۰V، SDA و SCL را به هر دو ماژول وصل کنید. سپس SDA را به پین A4 آردوینو و SCL را به پین A5 آردوینو وصل کنید.
سپس ماژول RHT03 (DHT22) را وصل کنید. این قطعه به پینهای ۵V و ۰V وصل میشود اما پین ۲ مستقیماً به پشت پین D12 آردوینو وصل میشود. فراموش نکنید مطابق دیاگرام بین اتصال سیگنال و پین ۵V یک مقاومت ۱۰KOhm قرار بدهید.
حالا میتوانید ماژولهای LED را وصل کنید. برق همه ماژولها به پینهای ۹، ۱۰ یا ۱۱ وصل میشود (مهم نیست کدام پین را انتخاب میکنید چون این پینها فقط سیگنال PWM را برای تنظیم میزان روشنایی LEDها ارائه میکنند). سپس پایه منفی هر LED را به پین مربوطه که در دیاگرام مشخص شده، وصل کنید.
برای ساخت جعبه ساعت باینری میتوانید از فایلهای موجود در لینک زیر استفاده کنید (رمز فایل saakhtani.ir است). اما قبلش باید این فایلها را با نرم افزار مناسب چک کنید تا مطمئن شوید اندازه آنها با ابعاد برد مدار و ماژولهایی که ساخته اید، مطابقت داشته باشد. برای اینکار میتوانید از نرم افزارهایی مثل DesignSpark یا SketchUp استفاده کنید. اگر فایل را ویرایش کردید حتماً فرمت فایل خروجی را STL نگه دارید تا بتوانید با پرینتر سه بعدی از آن استفاده کنید.
اگر به پرینتر سه بعدی دسترسی ندارید، میتوانید پرینت قطعات را به شرکتهایی بسپارید که کار پرینت سه بعدی انجام میدهند. برای ساخت جعبه هم میتوانید از هر نوع ABS با هر رنگی که دوست دارید، استفاده کنید.
بعد از پرینت کردن قطعات جعبه ساعت باینری، باید آنها را سنباده بکشید. اگر میخواهید ظاهر پرینت شده را حفظ کنید، باید از سنبادههای نرم استفاده کنید. در نهایت هم یک لایه اسپری شفاف روی جعبه بزنید.
اگر امکان پرینت کردن جعبه را ندارید، میتوانید یک جعبه با شکل و اندازه مناسب ایجاد کنید و سپس سوراخهای LEDها و ماژول صفحه نمایش را رویش ببرید.
تمام ماژولها و برد مدار ساعت را داخل جعبه قرار بدهید. برای ثابت کردن سرجایشان از کمیچسب استفاده کنید. فراموش نکنید در حین مونتاژ باتری ماژول RTC را به آن وصل کنید.
سپس برد آردوینو را طوری داخل جعبه قرار بدهید که پورت USB آن درست مقابل بریدگی پشت جعبه قرار بگیرد.
بعد از ثابت کردن تمام قطعات سرجایشان میتوانید در جعبه را ببندید و آن را با پیچ محکم کنید. اندازه سوراخهای پیچها را باید متناسب با اندازه خود پیچها باشد چون سوراخ خیلی کوچک به جعبه فشار میآورد و باعث شکستنش میشود.
قبل از اینکه کدهای آردوینو را آپلود کنید و ساعت را روشن کنید، باید کتابخانههای آردوینوی RTClib، DHT22 و OLED Screen را نصب کنید (ممکن است به کتابخانه adafruit GFX هم نیاز داشته باشید). اگر نصب کتابخانههای آردوینو را بلد نیستید، این راهنما را مطالعه کنید.
برق مورد نیاز ساعت باینری از طریق پورت مینی USB پشت جعبه تنظیم میشود. ساعت را از همین پورت به کامپیوتر وصل کنید و کدهای Binary_Clock_Set.ino را روی آردوینو آپلود کنید.
این کد ساعت و تاریخ کامپیوتر را در حین کامپایل کدها دریافت میکند و آن را وارد لوپ ساعت میکند. با آپلود کردن این کدها روی ساعت باینری، زمان تنظیم میشود. بدون اینکه ساعت را جدا کنید، کدهای Binary_Clock.ino را روی آردوینو آپلود کنید. این کدها برای کار کردن عادی ساعت طراحی شده اند.
اگر اتصال USB در حین انجام این دو مرحله قطع بشود، باید هر دو مرحله را از اول تکرار کنید.
اگر پیشنهادی برای بهبود طراحی یا دقت ساعت باینری دارید، آن را با کاربران ساختنی به اشتراک بگذارید. برای اطلاع از انتشار پروژههای آردوینوی جدید هم کافی است در کانال تلگرام ساختنی عضو شوید.
منبع
خلاصه مطلب
عنوان مطلب
آموزش ساخت ساعت باینری بسیار دقیق با آردوینو [Arduino]
توضیح کوتاه
این ساعت با آردینو ساخته میشود و زمان را به صورت باینری نشان میدهد.
نویسنده
عاطفه اسدزاده
/*
* Getting Started example sketch for nRF24L01+ radios
* This is a very basic example of how to send data from one node to another
* Updated: Dec 2014 by TMRh20
*/
#include <SPI.h>
#include "RF24.h"
/****************** User Config ***************************/
/*** Set this radio as radio number 0 or 1 ***/
bool radioNumber = ;
/* Hardware configuration: Set up nRF24L01 radio on SPI bus plus pins 7 & 8 */
RF24 radio(7,8);
/**********************************************************/
byte addresses[][6] = "1Node","2Node";
// Used to control whether this node is sending or receiving
bool role = ;
void setup()
Serial.begin(115200);
Serial.println(F("RF24/examples/GettingStarted"));
Serial.println(F("*** PRESS 'T' to begin transmitting to the other node"));
radio.begin();
// Set the PA Level low to prevent power supply related issues since this is a
// getting_started sketch, and the likelihood of close proximity of the devices. RF24_PA_MAX is default.
radio.setPALevel(RF24_PA_LOW);
// Open a writing and reading pipe on each radio, with opposite addresses
if(radioNumber)
radio.openWritingPipe(addresses[1]);
radio.openReadingPipe(1,addresses[]);
else
radio.openWritingPipe(addresses[]);
radio.openReadingPipe(1,addresses[1]);
// Start the radio listening for data
radio.startListening();
void loop()
/****************** Ping Out Role ***************************/
if (role == 1)
radio.stopListening(); // First, stop listening so we can talk.
Serial.println(F("Now sending"));
unsigned long start_time = micros(); // Take the time, and send it. This will block until complete
if (!radio.write( &start_time, sizeof(unsigned long) ))
Serial.println(F("failed"));
radio.startListening(); // Now, continue listening
unsigned long started_waiting_at = micros(); // Set up a timeout period, get the current microseconds
boolean timeout = false; // Set up a variable to indicate if a response was received or not
while ( ! radio.available() ) // While nothing is received
if (micros() - started_waiting_at > 200000 ) // If waited longer than 200ms, indicate timeout and exit while loop
timeout = true;
break;
if ( timeout ) // Describe the results
Serial.println(F("Failed, response timed out."));
else
unsigned long got_time; // Grab the response, compare, and send to debugging spew
radio.read( &got_time, sizeof(unsigned long) );
unsigned long end_time = micros();
// Spew it
Serial.print(F("Sent "));
Serial.print(start_time);
Serial.print(F(", Got response "));
Serial.print(got_time);
Serial.print(F(", Round-trip delay "));
Serial.print(end_time-start_time);
Serial.println(F(" microseconds"));
// Try again 1s later
delay(1000);
/****************** Pong Back Role ***************************/
if ( role == )
unsigned long got_time;
if( radio.available())
// Variable for the received timestamp
while (radio.available()) // While there is data ready
radio.read( &got_time, sizeof(unsigned long) ); // Get the payload
radio.stopListening(); // First, stop listening so we can talk
radio.write( &got_time, sizeof(unsigned long) ); // Send the final one back.
radio.startListening(); // Now, resume listening so we catch the next packets.
Serial.print(F("Sent response "));
Serial.println(got_time);
/****************** Change Roles via Serial Commands ***************************/
if ( Serial.available() )
char c = toupper(Serial.read());
if ( c == 'T' && role == )
Serial.println(F("*** CHANGING TO TRANSMIT ROLE -- PRESS 'R' TO SWITCH BACK"));
role = 1; // Become the primary transmitter (ping out)
else
if ( c == 'R' && role == 1 )
Serial.println(F("*** CHANGING TO RECEIVE ROLE -- PRESS 'T' TO SWITCH BACK"));
role = ; // Become the primary receiver (pong back)
radio.startListening();
// Loop
قبلاً در ساختنی طرز ساخت انواع ماتریکس LED و مکعب LED را یاد گرفته اید. روشهای مختلفی برای هوشمند یا حساس کردن ماتریکس LED وجود دارد که رایج ترین آن حساس کردن به موزیک است. در این ساختنی طرز ساخت یک آنالیزور صوتی را یاد میگیرید که برای ماتریکسهای LED ده در ده ساخته میشود. با ساختنی همراه شوید.
آنالیزور صوتی شدت فرکانسهای مختلف یک قطعه موسیقی را تحلیل میکند و مقادیر به دست آمده را به روشهای مختلف نمایش میدهد. ما برای نمایش دادههای آنالیزور از ماتریکس LED استفاده میکنیم. هربار یکی از ستونها به بالای ماتریکس میرسد و رنگش هم متناسب با موزیک تغییر میکند.
این ساختنی شامل ساخت ماتریکس LED نمیشود. ماتریکس را خودتان بسازید اما حواستان باشد حتماً از LED RGB استفاده کنید.
برای ساخت آنالیزور صوتی ابتدا باید RGB LED را بسازید. با جستجو در ساختنی میتوانید طرز ساخت انواع ماتریکس LED را پیدا کنید. هنگام ساخت ماتریکس حتماً LEDها را مطابق دیاگرام بالا وصل کنید. در غیر این صورت کدهای آردوینو روی ماتریکس شما کارایی نخواهند داشت.
برای تبدیل کردن ماتریکس LED به آنالیزور صوتی به چند قطعه اضافی نیاز دارید.
ابتدا باید دو سوکت هدفون را به ماتریکس اضافه کنید. این سوکتها کار انتقال سیگنالهای صوتی به ماتریکس را میکنند تا آنالیزور بتواند آنها را تحلیل کند. منبع صوتی (مثلاً گوشی هوشمند) را به یکی از این سوکتها وصل کنید و دیگری را هم به یک اسپیکر وصل کنید. دو سوراخ هم روی بدنه ماتریکس دریل کنید (اندازه سوراخها را به توجه به قطر سوکتها مشخص کنید) و آنها را با چسب به بدنه بچسبانید.
ابتدا ۳٫۳ ولتی را از طریق پین AREF و با واسطه مقاومت ۴٫۷ کیلواهمیبه آردوینو نانو وصل کنید. به این ترتیب برای مقادیر ثبت شده از سیگنالهای صوتی رزولوشن بیشتری میگیرید چون این سیگنالها حداکثر به یک ولت میرسند.
آنالیز طیف صوتی با برد آردوینو یک مشکل دارد: سیگنالهای نزدیک به صفر ولت معکوس میشوند و در نتیجه اوج ولتاژ مثبت و منفی را به صورت همزمان خواهیم داشت. چون آردوینو نمیتواند ولتاژ منفی را کنترل کند، باید ولتاژ منفی را حذف کنیم.
همانطور که در شماتیک بالا میبینید برای ساخت مدار از یک تقسیم کننده ولتاژ با دو مقاومت ۱٫۸ کیلواهمیبرای حل این مشکل استفاده میکنیم. چون هر دو ولتاژ مقاومت یکسان دارند، سیگنال حدود ۱٫۴۴ ولت باقی میماند و دیگر خبری از ولتاژهای منفی نیست. برای ساده تر شدن اتصالات میتوانید مقاومتها را مستقیماً به برد آردوینو نانو وصل کنید.
در نهایت هم دو جک صوتی را اضافه کنید. هر دو کانال چپ و راست را به هر دو جک صوتی وصل کنید. سپس پینهای GND را بهم وصل کنید و آنها را به سیم GND ماتریکس وصل کنید. حالا هر کدام از کانالها را که خواستید به پین A7 آردوینو و تقسیم کننده ولتاژ وصل کنید.
برای برنامه ریزی برد آردوینو نانو، ابتدا کتابخانههای FastLED و FFT را نصب کنید (راهنمای نصب کتابخانه آردوینو). حتماً از نسخههایی که در لینک زیر قرار داده ایم، استفاده کنید. در غیر این صورت کدها روی برد آردوینو کار نخواهند کرد. برای برنامه ریزی آردوینو هم باید از نرم افزار Arduino IDE 1.6.8 یا نسخههای بالاتر استفاده کنید.
بعد از اینکه هر دو کتابخانه را نصب کردید، کد SpectrumAnalyzer را روی آردوینو باز کنید کنید. سپس پین دیتای LEDها را مطابق ماتریکسی که ساخته اید، تغییر بدهید و کدها را روی آردوینو آپلود کنید.
حالا میتوانید منبع صوتی را به ماتریکس LED وصل کنید و آنالیزور صوتی را امتحان کنید. اگر پیشنهادی برای بهبود این پروژه آردوینو دارید، آن را با کاربران ساختنی به اشتراک بگذارید.
رمز فایل saakhtani.ir است.
منبع
خلاصه مطلب
عنوان مطلب
با برد آردوینو برای ماتریکس LED آنالیزور صوتی بسازید
توضیح کوتاه
با آنالیزور صوتی ترکیب رنگ و شکل ماتریکس LED متناسب با موزیک تغییر میکند.
نویسنده
عاطفه اسدزاده
دستگاه CNC یکی از ابزاری است که با آن میتوانید قطعات بسیار زیر و باجزییاتی را بسازید که ساخت آنها دست کار دشواری است. فرقی نمیکند اهل هنرهای دستی باشید یا ساخت مدارات دستی؛ در هر صورت داشتن دستگاه CNC کارتان را ساده تر میکند. در این ساختنی یاد میگیرید چطور با کمترین هزینه ممکن در خانه دستگاه CNC بسازید. با ساختنی همراه شوید.
این دستگاه براساس برد آردوینو و سفت افزار GRBL ساخته میشود و با ابزار Easel هم سازگار است. ابزار Easel امکان طراحی ساده و سریع پروژههای CNC را فراهم میکند.
لیست کامل قطعات مورد نیاز برای ساخت دستگاه CNC را از لینک زیر دریافت کنید. این نکته را هم در نظر داشته باشید که ما برای ساخت دستگاه CNC از شیلدی با طراحی اختصاصی استفاده کرده ایم که در مراحل بعد بیشتر درباره آن توضیح میدهیم. اما شما میتوانید از شیلدهای آماده استفاده کنید.
رمز فایل saakhtani.ir است.
برای مشاهده فایلهای طراحی بدنه که از لینک زیر قابل دریافت است، از نرم افزار Autocad یا سایر نمایشگرهای DWG استفاده کنید.
فایل اول نقشه برش قطعات MDF است که فاصله بین سوراخهای دریل را نشان میدهد. قطر تمام سوراخها هم ۸ میلیمتر است.
فایل دوم هم مدل سه بعدی دستگاه CNC است که جای هر قطعه را مشخص میکند.
تختههای MDF را با استفاده از این فایلها برش بزنید و آنها را برای ساخت بدنه آماده کنید.
رمز فایل saakhtani.ir است.
بدنه دستگاه را با توجه به فایل طراحی سه بعدی و تصاویر بالا مونتاژ کنید. بهتر است مراحل مونتاژ بدنه را مطابق با ترتیبی که در تصاویر بالا میبینید پیش ببرید تا کارتان ساده تر بشود.
در طراحی دو بعدی بدنه سوراخ پیچها را ندیدید اما بهتر است بجای چسب از پیچ برای اتصال بلبرینگها استفاده کنید تا اتصالات محکم تر بشوند و در جای طبیعی شان قرار بگیرند.
همانطور که در ابتدا گفتیم برای ساخت دستگاه CNC از یک شیلد اختصاصی استفاده شده است اما شما میتوانید از نمونههای تجاری آماده هم استفاده کنید.
برای آماده سازی بخش الکترونیکی دستگاه CNC به قطعات زیر نیاز دارید:
نحوه اتصالات هم مشابه دیاگرامیاست که در تصویر آخر میبینید. با این تفاوت که شما از سه موتور استفاده خواهید کرد.
حتماً بعد از ساخت مدار CNC از تیوب و گیره برای مرتب کردن سیمها استفاده کنید چون حجم بالای سیمها تشخیص مرجع آنها را بسیار دشوار میکند.
رمز فایل saakhtani.ir است.
همانطور که گفتیم برای راه اندازی دستگاه CNC از سفت افزار GRBL استفاده میکنیم. ما از GRBL 0.9i استفاده کرده ایم اما نسخههای جدیدتر هم موجود است.
نحوه پیکربندی دستگاه CNC و سفت افزار آن را در ویدیوی زیر ببیینید. زبان ویدیوها به اسپانیایی است اما فقط با تماشای مراحل کار هم میتوانید پیکربندی را روی دستگاه خودتان پیاده کنید. برای اطلاعات بیشتر درباره تنظیم و نصب GRBL روی آردوینو هم این آموزش ساخت را ببینید.
بعد از پیکربندی دستگاه باید پارامترهای فایل موجود در فایل زیر را پیکربندی کنید.
رمز فایل saakhtani.ir است.
دستگاه CNC تقریباً آماده است و میتوانید استفاده از آن شروع کنید. اما ابتدا باید نرم افزاری که دستگاه را از طریق آن کنترل میکنید را انتخاب کنید. ما یکی از دو نرم افزار زیر را پیشنهاد میکنیم:
Universal GCodeSender که یک نرم افزار رایگان با ویژگیهای زیر است:
Easel که یک ابزار مناسب برای پروژههای برش، ساخت و پرینت سه بعدی است و ویژگیهای زیر را دارد:
در تصاویر و ویدیوهای بالا میتوانید برخی از قطعاتی که با دستگاه CNC ساخته شده اند را ببینید. همانطور که میبینید این دستگاه قابلیت ساخت PCB، برش چوب و آکریلیک را دارد. برای دیدن پروژههای مختلف کاربردی و سرگرم کننده حتما در کانال تلگرام ساختنی عضو شوید.
منبع
خلاصه مطلب
عنوان مطلب
آموزش ساخت دستگاه CNC با برد آردوینو و هزینه کم
توضیح کوتاه
با کمترین هزینه یک دستگاه CNC با دقت بالا بسازید.
نویسنده
عاطفه اسدزاده
در این ساختنی یک پروژه آردوینوی متفاوت را یاد میگیرید. دستگاه شمع سازی که تکههای باقیمانده شمعهای قدیمیرا به شمعهای جدید تبدیل میکند. اگر قبلاً از تکههای شمع، شمع جدید ساخته باشید میدانید که اینکار چقدر خسته کننده است. دستگاه شمع سازی راه حل همین مشکل اسبت. با ساختنی همراه باشید.
این دستگاه از تکنیک شمع سازی فرو بردن فیتیله در موم استفاده میکند که روش قدیمیاست. شکل شمعهایی که میسازید هم ساده است اما ساخت دستگاه شمع سازی برای کسانی که به تازگی کار با آردوینو را شروع کرده اند، بسیار جذاب خواهد بود.
مشعل دستگاه شمع سازی بسیار ساده است و چند شمع وارمر منبع گرمایی دستگاه است. شما میتوانید از المنت گرمایی الکتریکی استفاده کنید اما اینکار هزینه ساخت را بالاتر میبرد و برای مبتدیها هم کمیخطرناک است.
مشعل از چهار پیچ و مهره ساخته میشود. اگر جعبه چوبی نازک است و نمیتوانید پیچ و مهرهها را به آن وصل کنید، زیر جعبه یک تخته چوب بگذارید (به تصاویر دقت کنید). سپس طبق مراحل زیر پیش بروید:
پایههای دستگاه از جنس چوب هستند و با چسب چوب اضافه میشوند. برای جزییات بیشتر درباره ابعاد و نحوه اتصال آنها به تصاویر بالا دقت کنید.
برای سوراخ روی تخته افقی از یک ابزار پخ استفاده کنید. لبه سوراخ را کاملاً صاف کنید تا طناب راحت تر در آن حرکت کند.
این گام آخرین مرحله از ساخت بدنه دستگاه شمع سازی است و در کارایی صحیح آن نقش زیادی دارد.
یک تکه چوب به طول ۵ سانتیمتر بردارید و جلوی آن دو سوراخ برای سروو دریل کنید. روی کنارههای یک تکه چوب دیگر هم دو سوراخ برای سروو دریل کنید. سپس این چوبها را به چهار پیچ به سروو وصل کنید. سپس سروو را مطابق تصاویر به دستگاه بچسبانید و پیچ کنید.
یک تکه چوب به شکل اشک ببرید و یک گیره لباس به آن وصل کنید. دقت کنید که گیره بالا بالای سوراخ قرار بگیرد. اگر لازم بود بین گیره و بازو یک تکه چوب دیگر هم قرار بدهید. سپس سروو را با پونز به بازو وصل کنید.
طراحی مدار دستگاه شمع سازی بسیار ساده است و میتوانید آن را با لحیم کاری یا روی برد بورد بسازید. برای ساخت مدار از دیاگرام بالا کمک بگیرید. سیمها را هم با کش به تختههای بدنه وصل کنید. یک سوراخ روی جعبه چوبی دریل کنید و مدار و آردوینو را زیر جعبه قرار بدهید. یک سوراخ دیگر هم برای کابل USB دریل کنید.
با اضافه کردن یک بازر، دستگاه میتواند بعد از آماده شدن شمع شما را مطلع کند. نحوه اتصال بازر هم در شماتیک مشخص است.
رمز فایل : saakhtani.ir
کدهای دستگاه شمع سازی را از لینک زیر دریافت کنید و روی آردوینو آپلود کنید.
آردوینو را جدا کنید. قوطی خالی را روی مشعل قرار بدهید و دستگاه را طوری تنظیم کنید که وقتی سروو زاویه صفر دارد، بازو با بدنه دستگاه تماس دارد. فیتیله شمع را به بازو وصل کنید و اندازه اش را طوری تنظیم کنید که با کف قوطی تماس نداشته باشد. آردوینو را روشن کنید و قبل از شروع کار با موم حرکت سروو را بررسی کنید: فیتیله باید بالا و پایین برود. وقتی سروو در بالاترین موقعیت قرار دارد، فیتیله باید کاملاً از قوطی بیرون بیاید. اگر اینطور نبود پارامترهای کدهای آردوینو را تغییر بدهید تا حرکت سروو اصلاح بشود.
رمز فایل saakhtani.ir است
ساخت اولین شمع با این دستگاه کمیسخت است. قوطی را با استفاده از چهار پیچ کمیپایین بیاورید تا گرمای بیشتری جذب کند (مطمئن شوید شمعهای وارمر اکسیژن کافی دارند). با اینکار موم راحت تر آب میشود. یک شمع وارمر زیر قوطی قرار بدهید و قوطی را با موم یا ته ماندههای شمع پر کنید. وقتی موم کاملاً آب شد، صفحه زیر قوطی را بالا ببرید تا دمای موم کمتر بشود. بعد از اولین بار فرو رفتن فیتیله داخل موم، آن را چک کنید تا مطمئن شوید موم کاملاً صاف است.
اگر شمع ضخیم نمیشود، راهکارهای زیر را تست کنید:
اگر قسمت انتهایی شمع نازک تر بود، راهکارهای زیر را تست کنید:
منبع
خلاصه مطلب
عنوان مطلب
با برد آردوینو دستگاه شمع سازی ساده اما کارآمد بسازید
توضیح کوتاه
یک پروژه آردوینو ساده و کاربردی برای مبتدیها.
نویسنده
عاطفه اسدزاده
اگر به ساخت پروژههای آردوینو علاقه مند باشید، حتماً ساخت ساعت آردوینو برایتان جالب است. روشهای مختلفی برای ساخت ساعت آردوینو وجود دارد اما از همه آنها جالب تر، ساخت ساعت باینری است. این نوع ساعت نسبت به ساعتهای معمولی دقیق تر است و البته خواندنش هم نیاز به آشنایی با سیستم اعداد باینری دارد.با ساختنی همراه باشید.
برای ساخت ساعت باینری با آردوینو باید از یک ماژول RTC هم استفاده کنید چون خود آردوینو دقت خوبی برای نشان دادن زمان در بازههای طولانی ندارد. این نوع ماژول باتری جداگانه دارد و به همین خاطر مصرف انرژی پروژه آردوینو را زیاد نمیکند. میتوانید از ماژول DS3231 هم استفاده کنید که فقط یک دقیقه در سال عقب میماند.
این آموزش ساخت شامل ساعت مدار LED، آماده سازی و برنامه ریزی آردوینو و ساخت جعبه ساعت با پرینتر سه بعدی است. تمام فایلهای مورد نیاز هم در ادمه قابل دریافت است. اگر نمیخواهید تمام قطعات را بخرید، میتوانید ویژگیهای ساعت باینری را متناسب با نیازتان محدود کنید یا تغییر بدهید؛ مثلاً تعداد LEDها را کمتر کنید یا بجای جعبه پرینت شده از جعبههای آاده استفاده کنید.
ماژولهای LED از سه یا چهار LED ساخته میشوند که پایههای مثبت آنها به یکدیگر و پایه منفی آنها به یک مقاومت ۴۷۰Ohm وصل میشوند. این مقاومتها جریان عبوری از LEDها را به مقدار ۵ میلی آمپر محدود میکند. حداکث تعداد LEDهایی که میتوانید به یک ماژول وصل کنید، هشت تاست. بنابراین حداکثر جریانی که میتوانید از آردوینو بگیرید ۴۰ میلی آمپر است که برای آردینو مناسب است.
بعد از لحیم کاری ماژولهای آردوینو، مقاومتها را با هیت شرینک بپوشانید.
مغز ساعت باینری آردوینوی نانو است و به همین خاطر از بیشتر پینهایش استفاده خواهیم کرد. ماژول RTC و ماژول صفحه نمایش هر دو روی i2C قرار میگیرند تا بتوانید از اتصالات مشترک استفاده کنید. کافی است پینهای ۵V، ۰V، SDA و SCL را به هر دو ماژول وصل کنید. سپس SDA را به پین A4 آردوینو و SCL را به پین A5 آردوینو وصل کنید.
سپس ماژول RHT03 (DHT22) را وصل کنید. این قطعه به پینهای ۵V و ۰V وصل میشود اما پین ۲ مستقیماً به پشت پین D12 آردوینو وصل میشود. فراموش نکنید مطابق دیاگرام بین اتصال سیگنال و پین ۵V یک مقاومت ۱۰KOhm قرار بدهید.
حالا میتوانید ماژولهای LED را وصل کنید. برق همه ماژولها به پینهای ۹، ۱۰ یا ۱۱ وصل میشود (مهم نیست کدام پین را انتخاب میکنید چون این پینها فقط سیگنال PWM را برای تنظیم میزان روشنایی LEDها ارائه میکنند). سپس پایه منفی هر LED را به پین مربوطه که در دیاگرام مشخص شده، وصل کنید.
برای ساخت جعبه ساعت باینری میتوانید از فایلهای موجود در لینک زیر استفاده کنید (رمز فایل saakhtani.ir است). اما قبلش باید این فایلها را با نرم افزار مناسب چک کنید تا مطمئن شوید اندازه آنها با ابعاد برد مدار و ماژولهایی که ساخته اید، مطابقت داشته باشد. برای اینکار میتوانید از نرم افزارهایی مثل DesignSpark یا SketchUp استفاده کنید. اگر فایل را ویرایش کردید حتماً فرمت فایل خروجی را STL نگه دارید تا بتوانید با پرینتر سه بعدی از آن استفاده کنید.
اگر به پرینتر سه بعدی دسترسی ندارید، میتوانید پرینت قطعات را به شرکتهایی بسپارید که کار پرینت سه بعدی انجام میدهند. برای ساخت جعبه هم میتوانید از هر نوع ABS با هر رنگی که دوست دارید، استفاده کنید.
بعد از پرینت کردن قطعات جعبه ساعت باینری، باید آنها را سنباده بکشید. اگر میخواهید ظاهر پرینت شده را حفظ کنید، باید از سنبادههای نرم استفاده کنید. در نهایت هم یک لایه اسپری شفاف روی جعبه بزنید.
اگر امکان پرینت کردن جعبه را ندارید، میتوانید یک جعبه با شکل و اندازه مناسب ایجاد کنید و سپس سوراخهای LEDها و ماژول صفحه نمایش را رویش ببرید.
تمام ماژولها و برد مدار ساعت را داخل جعبه قرار بدهید. برای ثابت کردن سرجایشان از کمیچسب استفاده کنید. فراموش نکنید در حین مونتاژ باتری ماژول RTC را به آن وصل کنید.
سپس برد آردوینو را طوری داخل جعبه قرار بدهید که پورت USB آن درست مقابل بریدگی پشت جعبه قرار بگیرد.
بعد از ثابت کردن تمام قطعات سرجایشان میتوانید در جعبه را ببندید و آن را با پیچ محکم کنید. اندازه سوراخهای پیچها را باید متناسب با اندازه خود پیچها باشد چون سوراخ خیلی کوچک به جعبه فشار میآورد و باعث شکستنش میشود.
قبل از اینکه کدهای آردوینو را آپلود کنید و ساعت را روشن کنید، باید کتابخانههای آردوینوی RTClib، DHT22 و OLED Screen را نصب کنید (ممکن است به کتابخانه adafruit GFX هم نیاز داشته باشید). اگر نصب کتابخانههای آردوینو را بلد نیستید، این راهنما را مطالعه کنید.
برق مورد نیاز ساعت باینری از طریق پورت مینی USB پشت جعبه تنظیم میشود. ساعت را از همین پورت به کامپیوتر وصل کنید و کدهای Binary_Clock_Set.ino را روی آردوینو آپلود کنید.
این کد ساعت و تاریخ کامپیوتر را در حین کامپایل کدها دریافت میکند و آن را وارد لوپ ساعت میکند. با آپلود کردن این کدها روی ساعت باینری، زمان تنظیم میشود. بدون اینکه ساعت را جدا کنید، کدهای Binary_Clock.ino را روی آردوینو آپلود کنید. این کدها برای کار کردن عادی ساعت طراحی شده اند.
اگر اتصال USB در حین انجام این دو مرحله قطع بشود، باید هر دو مرحله را از اول تکرار کنید.
اگر پیشنهادی برای بهبود طراحی یا دقت ساعت باینری دارید، آن را با کاربران ساختنی به اشتراک بگذارید. برای اطلاع از انتشار پروژههای آردوینوی جدید هم کافی است در کانال تلگرام ساختنی عضو شوید.
منبع
خلاصه مطلب
عنوان مطلب
آموزش ساخت ساعت باینری بسیار دقیق با آردوینو [Arduino]
توضیح کوتاه
این ساعت با آردینو ساخته میشود و زمان را به صورت باینری نشان میدهد.
نویسنده
عاطفه اسدزاده
/*
* Getting Started example sketch for nRF24L01+ radios
* This is a very basic example of how to send data from one node to another
* Updated: Dec 2014 by TMRh20
*/
#include <SPI.h>
#include "RF24.h"
/****************** User Config ***************************/
/*** Set this radio as radio number 0 or 1 ***/
bool radioNumber = ;
/* Hardware configuration: Set up nRF24L01 radio on SPI bus plus pins 7 & 8 */
RF24 radio(7,8);
/**********************************************************/
byte addresses[][6] = "1Node","2Node";
// Used to control whether this node is sending or receiving
bool role = ;
void setup()
Serial.begin(115200);
Serial.println(F("RF24/examples/GettingStarted"));
Serial.println(F("*** PRESS 'T' to begin transmitting to the other node"));
radio.begin();
// Set the PA Level low to prevent power supply related issues since this is a
// getting_started sketch, and the likelihood of close proximity of the devices. RF24_PA_MAX is default.
radio.setPALevel(RF24_PA_LOW);
// Open a writing and reading pipe on each radio, with opposite addresses
if(radioNumber)
radio.openWritingPipe(addresses[1]);
radio.openReadingPipe(1,addresses[]);
else
radio.openWritingPipe(addresses[]);
radio.openReadingPipe(1,addresses[1]);
// Start the radio listening for data
radio.startListening();
void loop()
/****************** Ping Out Role ***************************/
if (role == 1)
radio.stopListening(); // First, stop listening so we can talk.
Serial.println(F("Now sending"));
unsigned long start_time = micros(); // Take the time, and send it. This will block until complete
if (!radio.write( &start_time, sizeof(unsigned long) ))
Serial.println(F("failed"));
radio.startListening(); // Now, continue listening
unsigned long started_waiting_at = micros(); // Set up a timeout period, get the current microseconds
boolean timeout = false; // Set up a variable to indicate if a response was received or not
while ( ! radio.available() ) // While nothing is received
if (micros() - started_waiting_at > 200000 ) // If waited longer than 200ms, indicate timeout and exit while loop
timeout = true;
break;
if ( timeout ) // Describe the results
Serial.println(F("Failed, response timed out."));
else
unsigned long got_time; // Grab the response, compare, and send to debugging spew
radio.read( &got_time, sizeof(unsigned long) );
unsigned long end_time = micros();
// Spew it
Serial.print(F("Sent "));
Serial.print(start_time);
Serial.print(F(", Got response "));
Serial.print(got_time);
Serial.print(F(", Round-trip delay "));
Serial.print(end_time-start_time);
Serial.println(F(" microseconds"));
// Try again 1s later
delay(1000);
/****************** Pong Back Role ***************************/
if ( role == )
unsigned long got_time;
if( radio.available())
// Variable for the received timestamp
while (radio.available()) // While there is data ready
radio.read( &got_time, sizeof(unsigned long) ); // Get the payload
radio.stopListening(); // First, stop listening so we can talk
radio.write( &got_time, sizeof(unsigned long) ); // Send the final one back.
radio.startListening(); // Now, resume listening so we catch the next packets.
Serial.print(F("Sent response "));
Serial.println(got_time);
/****************** Change Roles via Serial Commands ***************************/
if ( Serial.available() )
char c = toupper(Serial.read());
if ( c == 'T' && role == )
Serial.println(F("*** CHANGING TO TRANSMIT ROLE -- PRESS 'R' TO SWITCH BACK"));
role = 1; // Become the primary transmitter (ping out)
else
if ( c == 'R' && role == 1 )
Serial.println(F("*** CHANGING TO RECEIVE ROLE -- PRESS 'T' TO SWITCH BACK"));
role = ; // Become the primary receiver (pong back)
radio.startListening();
// Loop