مجله مطالب خواندنی

سبک زندگی، روانشناسی، سلامت،فناوری و ....

مجله مطالب خواندنی

سبک زندگی، روانشناسی، سلامت،فناوری و ....

آموزش پوینتر لیزری با کنترل تلویزیون و برد آردوینو

[ad_1]

در این ساختنی طرز ساخت پوینتر لیزری با وسایل ساده و ارزان را یاد می‌گیرید. از این پوینتر لیزری می‌توانید در سخنرانی‌ها و برای نرم افزارهایی مثل پاورپوینت استفاده کنید. برای ساخت پوینتر پاورپوینت باید با برد آردوینو آشنا باشید. البته ما کدها را در اختیارتان قرار می‌دهیم تا کار ساخت برایتان ساده تر بشود. با ساختنی همراه باشید.

در واقع کاری که در این ساختنی انجام می‌دهیم، تبدیل کردن کنترل تلویزیون به پوینتر لیزری است. به این ترتیب دیگر نیاز نیست برای ساخت مدار اصلی پوینتر و بدنه آن وقت بگذارید و کار ساخت بسیار ساده تر می‌شود. از طرف دیگر هزینه ساخت پوینتر لیزری هم به مراتب کمتر خواهد شد.

گام اول : وسایل مورد نیاز

وسایل مورد نیاز
وسایل مورد نیاز
  • کنترل تلویزیون
  • برد آردوینو Leonardo (می‌توانید از برد UNO هم استفاده کنید اما این برد نیاز به چند اصلاح کوچک دارد)
  • سنسور IR (ما از سنسور VS1838B استفاده کردیم)
  • شیلد مخصوص – ساخت این شیلد اختیاری است و با پرف برد ساخته می‌شود

گام دوم : مدار را بسازید

دیاگرام مدار پوینتر لیزری
دیاگرام مدار پوینتر لیزری

دیاگرام اتصالات بسیار ساده است. کافی است پین GND سنسور را به GND آردوینو، پین ۵V سنسور را به پین ۵V آردوینو، پین Data سنسور به پین دیجیتال ۲ آردوینو وصل می‌شود.

گام سوم : کدها را آپلود کنید

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

مرحله اول

کارتان را با دانلود کتابخانه IRremote و نصب آن در پوشه مناسب شروع کنید. در حین نصب این کتابخانه به راهنمای موجود در لینک بالا هم توجه داشته باشید.

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

مرحله دوم

کدهای مرحله دوم را از اینجا دانلود کنید. عددهایی که در مرحله قبل نوشته اید را در ساختارهای IF این کدها جایگزین کنید و کدها را آپلود کنید. اگر از برد آردوینو Leonardo استفاده کنید، دکمه‌های مشخص شده روی کنترل کار کلیدهای جهت نمای کیبورد را خواهند کرد و اسلایدها را جابجا می‌کنند.

بعد از آپلود کدها، یک پاورپوینت آماده باز کنید و پوینتر لیزری را روی آن تست کنید. دقت کنید که پاورپوینت باید در حالت Slide باشد.

پوینتر لیزری آماده است

به همین سادگی یک پوینتر لیزری ارزان و کارآمد ساختید. این پوینتر را می‌توانید انواع دیگر برد آردوینو یا میکروکنترلرهای دیگر مثل Atmega8U2 هم بسازید. اما باید تغییرات کوچکی در نحوه ساخت ایجاد کنید. مثلاً باید تراشه ای که مسئول برقراری ارتباط بین میکروکنترلر و کامپیوتر است را فلش کنید.

اگر از بردهای Leonardo، Zero و DUE استفاده کنید، نیاز به اینکار ندارید چون این بردها به عنوان کیبورد و موس برای کامپیوتر تعریف می‌شوند. فراموش نکنید تجربه خودتان از ساخت پوینتر لیزری را با کاربران ساختنی به اشتراک بگذارید.

منبع

خلاصه مطلب

عنوان مطلب

آموزش پوینتر لیزری با کنترل تلویزیون و برد آردوینو

توضیح کوتاه

هزینه ساخت این پوینتر به مراتب کمتر از خرید آن است.

نویسنده

عاطفه اسدزاده

در ساختنی بخوانید :


[ad_2]
لینک منبع
بازنشر: مفیدستان

عبارات مرتبط با این موضوع

آموزش پوینتر لیزری با کنترل تلویزیون و برد آردوینو آموزش پوینتر لیزری با کنترل تلویزیون و برد آردوینو


ادامه مطلب ...

آموزش عکاسی با سرعت بالا با استفاده از برد آردوینو [Arduino]

[ad_1]
مفیدستان:

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

با کمک مداری که ساختش را در ادامه یاد می‌گیرید، می‌توانید این روش عکاسی را با دوربین‌های دیجیتال معمولی هم تجربه کنید. این آموزش ساخت علاوه بر آموزش ساخت مدار مبتنی بر آردوینو، روش عکاسی با این مدار را هم بهتان آموزش می‌دهد تا هر کسی بتواند چنین عکس‌هایی بگیرد.

در ویدیوی زیر می‌توانید معرفی این مدار و نحوه عکاسی با سرعت بالا به کمک آن را ببینید:

گام اول: وسایل مورد نیاز

هدف عکاسی با سرعت بالا ثبت یک حرکت فوق سریع است. اما گاهی اوقات شاتر بهترین دوربین‌ها هم برای ثبت حرکاتی که خیلی سریع اتفاق می‌افتد – مثل برخورد دو قطره آب – سرعت کافی ندارند. علاوه براین شاتر دوربین – حتی دوربین‌های DSLR – روی ارتفاع سنسور تاثیر می‌گذارند و این یعنی ممکن است در اثر نحوه باز شدن سنسور، افکت‌های نامناسب روی تصویر ایجاد بشود.

نکته کلیدی در عکاسی با سرعت بالا این است که صحنه مورد نظر را بجای شاتر دوربین، در معرض نور قرار بدهید. برای اینکار نیاز به نوعی فلاش داریم که سرعت بالایی داشته باشد. هر نوع فلش جدا از دوربین یا speedlite قابل استفاده خواهد بود. نکته مهم در انتخاب فلاش این است که مطمئن شوید قابل تنظیم است چون باید از آرام ترین فلاش برای ایجاد پالس‌های کوتاه مورد نیازمان استفاده کنیم. هرچه از تنظیمات پرنورتری استفاده کنید، پالس‌های فلاش آنقدر بلند خواهند شد که حرکت سریع قطرات آب کاملاً شفاف ثبت بشود. پرنورترین نقطه فلاش (بالاترین تنظیمات) حدود ۴ میلی ثانیه (۲۵۰/۱ ثانیه) و کوتاه ترین نقطه حدود ۵۰ نانوثانیه (۲۰۰۰۰/۱ ثانیه) دوام دارد.

وسایل مورد نیاز

  • فلاش Altura Photo
  • برد آردوینو Leonardo
  • شیر سلنوئیدی ۱۲ ولتی با آداپتور ۲ سانتیمتری
  • دوربین با قابلیت تنظیمات دستی
  • اکستنشن تیوب
  • اکستنشن تیوب OR
  • کابل Sync برای یونیت فلاش
  • لنز عکاسی ترجیحاً با فاصله کانونی ۱۰۰ میلیمتری
  • دو عدد ترانزیستور NPN
  • ماسفت N-channel
  • سه عدد مقاومت ۱۰K
  • سیم جامپر
  • کابل تریگر برای دوربین

برای این روش عکاسی با سرعت بالا می‌توانید از هر نوع دوربین DSLR استفاده کنید اما اگر قصد دارید دوربین بخرید، ما مدل‌های زیر را پیشنهاد می‌کنیم:

  • Nikon D3400
  • Cannon EOS T5 refurbished

وسایل زیر هم برای عکاسی از قطرات آب لازم است اما لزوماً نباید خریداری بشود. خودتان می‌توانید آنها را با وسایلی که در خانه دارید، درست کنید (برای جزییات بیشتر به تصاویر دقت کنید):

  • یک پایه باری نگه داشتن منبع قطرات
  • یک ظرف بدون لبه یا با لبه باریک – این ظرف محدوده پاچیدن قطرات آب است و باید دست کم دو تا سه سانتیمتر عمق داشته باشد. رنگش هم بهتر است مشکی مات باشد تا نور را بازتاب ندهد.
  • سه پایه عکاسی – می‌توانید خودتان یک سه پایه سر هم کنید.
  • نازل پلاستیکی یا برنزی – اگر از شیر سلنوئیدی استفاده می‌کنید.
  • کاغذ سفید یا رنگی برای بازتاب نور

اگر لنز ماکرو دارید، حتماً از آن هم استفاده کنید. این لنزها برای عکاسی با سرعت بالا کارایی زیادی دارند و عکس‌های بهتری می‌گیرند. با این حال قیمت بالایی دارند. با استفاده از اکستنشن تیوب می‌توانید صفحه فوکوس را با دور کردن لنز از دوربین، تغییر بدهید. در نتیجه لنز می‌تواند بهتر از حالت عادی روی صحنه تمرکز کند. خوبی این تیوب‌ها قیم پایین آنهاست اما عمق میدان را کاهش می‌دهند و ممکن است بخاطر انحراف وضوح عکس‌ها را کاهش بدهند.

گام دوم: سیستم قطره چکان را آماده کنید

در این گام دو روش برای تنظیم تجهیزات عکاسی با سرعت بالا از قطرات آب را می‌خوانید.

روش ارزان و ساده

ساده ترین و ارزان ترین روش برای چکاندن قطرات آب این است که داخل یک کیسه زیپ دار را پر از آب کنید و آن را از ارتفاع مناسب آویزان کنید. سپس یک سوراخ پایین کیسه ایجاد کنید. حالا تنها چیزی که نیاز دارید دوربین و یونیت فلاش است. دوربین را روی long exposure، f-stop بالا و ISO پایین تنظیم کنید. سپس شاتر را باز کنید و وقتی احساس کردن زمانبندی مناسب است، فلاش را به صورت دستی فعال کنید. با این روش تعداد زیادی عکس خواهید داشت که جالب نیستند ما چندتا از آنها هم کیفیت کافی خواهند داشت. مهمترین ایراد این روش این است که خیلی سخت می‌توانید از لحظه برخورد یک قطره با ترشحات قطره قبلی عکس بگیرید.

روش پیچیده اما کارآمد

با این روش می‌توانید پرتاب قطره‌ها، باز شدن شاتر دوربین و فعال شدن فلاش را به طور کامل کنترل کنید. برای اینکار باید از شیر سلنوئیدی برای ریختن قطره‌ها استفاده کنید و سایر فعالیت‌ها را مطابق با آن تنظیم کنید. برای مثال، توالی فعالیت‌ها می‌تواند به صورت زیر باشد:

  • آماده سازی: روشن کردن شاتر دوربین
  • ۰ میلی ثانیه: رها کردن اولین قطره
  • ۶۰ میلی ثانیه: رها کردن دومین قطره
  • ۱۶۵ میلی ثانیه: فعال کردن فلاش
  • سپس: بستن شاتر

با استفاده از این روش می‌توانید:

  • عکاسی از لحظه برخورد یک قطره با ترشحات قطره قبلی
  • ایجاد یک سری عکس متوالی با تکرار توالی بالا اما با سرعت متفاوت. به این ترتیب می‌توانید تصویر آهسته برخورد یا سقوط قطرات را هم با دوربین عکاسی بسازید.
  • تکرار فرایند عکاسی بدون نیاز به ایجاد تغییرات اساسی

اگر این روش را برای آماده کردن سیستم قطره چکان انتخاب کرده اید، باید به روش زیر عمل کنید.این سیستم تقریباً مشابه سیستم قبلی است با این تفاوت که بجای کیسه از شیر سلنوئیدی استفاده می‌کنیم. دوربین و یونیت فلاش را هم به مدار کنترل وصل می‌کنیم (ساخت و برنامه ریزی مدار را در گام بعدی بخوانید). برای رساندن آب به شیر سلنوئیدی، از لوله و یک بطری پر از آب استفاده کنید و آنها را در ارتفاع بالاتری نسبت به شیر قرار دهید. به این ترتیب آب به کمک جاذبه به سمت شیر هدایت می‌شود. روش بهتر هم این است که یک مخزن را مستقیماً به شیر پیچ کنید. به این ترتیب عوض کردن مایع داخل مخزن (آب، شیر، قهوه، روغن و …) هم ساده تر می‌شود.

بعد از آماده کردن سیستم قطره چکان همه چیز به عهده مداری است که با برد آردوینو می‌سازید.

گام سوم: مدار الکترونیک و کدهای آردوینو

ساخت مدار الکترونیکی این پروژه بسیار ساده است چون قسمت اعظم کار به عهده کدهاست. به همین خاطر ساخت مدار و برنامه آردوینو را به صورت جداگانه توضیح خواهیم داد.

مدار الکترونیکی

در شماتیک بالا می‌توانید نحوه اتصال قطعات را به صورت کامل ببینید. ما از برد آردوینو Leonardo استفاده می‌کنیم اما انواع دیگر آردوینو هم قابل استفاده است. این مدار دو ترانزیستور NPN دارد که یکی برای فلاش و یکی برای دوربین است. ماسفت هم برای شیر سلنوئیدی ۱۲ ولتی است. به یک منبع تغذیه ۱۲ ولتی هم نیاز دارید که می‌توانید از منبع تغذیه کامپیوتر استفاده کنید. یک مقاومت پول آپ و یک مقاومت پول داون هم داریم که هر دو ۱۰K هستند. آردوینو طوری وصل می‌شود که جریان ۵ ولتی را به طرف ۵ ولتی برد بورد برساند. در ضمن آردوینو باید در حین عکاسی به کامپیوتر وصل باشد تا بتوانید از طریق پورت سریال زمانبندی را تنظیم کنید.

هر ترانزیستور NPN به دو سیمی‌که از یونیت فلاش یا دوربین می‌آید، وصل می‌شوند. برای دوربین، باید از یک جک مناسب استفاده کنید. جک دوربین سه نقطه اتصال دارد (اتصال به زمین، فوکوس/متر، شاتر). زمین و شاتر را بهم وصل کنید. ترانزیستور NPN هم مدار را برای ۵۰ میلی ثانیه می‌بندد تا بتوانید شاتر را فعال کنید. برای یونیت فلاش هم از همین سیستم استفاده می‌کنیم؛ با این تفاوت که یونیت فلاش فقط دو اتصال دارد. می‌توانید گیره تمساحی و کمی‌سیم را به جکی که همراه کابل sync است، وصل کنید یا مستقیماً کمی‌سیم به یونیت فلاش لحیم کنید. این نکته را بدانید که روش دوم گارانتی دوربین و فلاش را نقض می‌کند.

ماسفت از مسیر بار مدار (شیر سلنوئیدی ۱۲ ولتی و منبع تغذیه) به زمین وصل می‌شود. وقتی پین ماسفت بالا کشیده بشود، مدار بسته می‌شود.

هر وقت خواستید برای قسمتی از مدار از منبع تغذیه جداگانه استفاده کنید، حتماً GNDها را وصل کنید.

برنامه آردوینو

برنامه آردوینوی عکاسی با سرعت بالا بسیار ساده است اما کارایی لازم را دارد. این برنامه برای عکاسی با سرعت بالا دو حالت عمل مختلف دارد:

۱- حالت Normal operation

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

چهار مقداری که باید از طریق پورت سریال وارد کنید، عبارتند از (زمان‌ها به میلی ثانیه هستند):

زمان؛ فاصله زمانی رها شدن اولین قطره و فعال شدن فلش
زمان؛ مدت زمان باز ماندن شیر سلنوئیدی – این مقدار اندازه قطره‌ها را کنترل می‌کند
زمان؛ فاصله زمانی بین رها شدن قطره اول و قطره دوم
عدد؛ تعداد دفعاتی که می‌خواهید این فرایند تکرار بشود

شاتر دوربین هم باید روی یک ثانیه تنظیم بشود و قبل از این سری رویدادها فعال بشود.

۲- حالت Stop-motion/Animation

برای فعال کردن این حالت باید مقدار bDoAnimation flag را روی true تنظیم کنید.

کدهای را می‌توانید از لینک زیر هم دریافت کنید. این کدها بسیار ساده و البته کمی‌بهم ریخته هستند. پس اگر کدنویسی بلدید، حتماً کمی‌وقت صرف اصلاح آنها بکنید.

گام چهارم: نکاتی برای عکاسی با سرعت بالا

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

  • از بازه‌های زمانی یک تا دو ثانیه ای برای عکاسی استفاده کنید. بخاطر داشته باشید فریز کردن لحظات کار فلاش است نه شاتر دوربین.
  • هنگام عکاسی f-stop را در بالاترین مقدار تنظیم کنید؛ بویژه اگر از لنز ماکرو یا اکستنشن تیوب استفاده می‌کنید.
  • مقدار ISO را روی کمترین حالت تنظیم کنید.
  • عکاسی را در یک اتاق تاریک یا تاریک خانه انجام بدهید.
  • دور سینی آب صفحات کاغذ سفید یا رنگی بچینید تا نور را بازتاب بدهند. اینکار افکت‌های جالبی هم به عکس‌ها می‌دهد.
  • از چند یونیت فلاش استفاده کنید و با جابجا کردن آنها، بهترین حالت را پیدا کنید.
  • یونیت فلش را با تنظیمات کم استفاده کنید تا طول پالس‌های نور کمتر و در نتیجه وضوح تصاویر بیشتر بشود.

منبع

خلاصه مطلب

عنوان مطلب

آموزش عکاسی با سرعت بالا با استفاده از برد آردوینو [Arduino]

توضیح کوتاه

این روش عکاسی با سرعت بالا نیاز به تجهیزات گران قیمت مثل لنز ماکرو ندارد.

نویسنده

عاطفه اسدزاده

در ساختنی بخوانید :


[ad_2]
لینک منبع
بازنشر: مفیدستان

عبارات مرتبط با این موضوع

آموزش عکاسی با سرعت بالا با استفاده از برد آردوینو آموزش عکاسی با سرعت بالا با استفاده از برد آردوینو


ادامه مطلب ...

آموزش ساخت دستگاه CNC با برد آردوینو [Arduino]

[ad_1]

دستگاه CNC یکی از ابزاری است که با آن می‌توانید قطعات بسیار زیر و باجزییاتی را بسازید که ساخت آنها دست کار دشواری است. فرقی نمی‌کند اهل هنرهای دستی باشید یا ساخت مدارات دستی؛ در هر صورت داشتن دستگاه CNC کارتان را ساده تر می‌کند. در این ساختنی یاد می‌گیرید چطور با کمترین هزینه ممکن در خانه دستگاه CNC بسازید. با ساختنی همراه شوید.

این دستگاه براساس برد آردوینو و سفت افزار GRBL ساخته می‌شود و با ابزار Easel هم سازگار است. ابزار Easel امکان طراحی ساده و سریع پروژه‌های CNC را فراهم می‌کند.

گام اول: وسایل مورد نیاز

  • پیچ سربی و مهره برنجی T8 200m
  • پیچ سربی و مهره برنجی T8 300m
  • پیچ سربی و مهره برنجی T8 400m
  • دو عدد بلبرینگ فلنج T8
  • دوازده عدد بلبرینگ توپی خطی متحرک
  • بلبرینگ خطی برای محور Z
  • شفت کاپلینگ منعطف
  • سه عدد موتور Nema 17
  • برد آردوینو Nano
  • درایور A4988
  • شیلد CNC سازگار با GRBL
  • میله دندانه دار T8 یک میلیمتری
  • هشت عدد مهره T8
  • ورق MDF 150 در ۱۵۰ سانتیمتری با ضخامت ۱۰ میلیمتر
  • سیم
  • پیچ

لیست کامل قطعات مورد نیاز برای ساخت دستگاه CNC را از لینک زیر دریافت کنید. این نکته را هم در نظر داشته باشید که ما برای ساخت دستگاه CNC از شیلدی با طراحی اختصاصی استفاده کرده ایم که در مراحل بعد بیشتر درباره آن توضیح می‌دهیم. اما شما می‌توانید از شیلدهای آماده استفاده کنید.

رمز فایل saakhtani.ir است.

گام دوم: طراحی بدنه

برای مشاهده فایل‌های طراحی بدنه که از لینک زیر قابل دریافت است، از نرم افزار Autocad یا سایر نمایشگرهای DWG استفاده کنید.

فایل اول نقشه برش قطعات MDF است که فاصله بین سوراخ‌های دریل را نشان می‌دهد. قطر تمام سوراخ‌ها هم ۸ میلیمتر است.

فایل دوم هم مدل سه بعدی دستگاه CNC است که جای هر قطعه را مشخص می‌کند.

تخته‌های MDF را با استفاده از این فایل‌ها برش بزنید و آنها را برای ساخت بدنه آماده کنید.

رمز فایل saakhtani.ir است.

گام سوم: بدنه را بسازید

بدنه دستگاه را با توجه به فایل طراحی سه بعدی و تصاویر بالا مونتاژ کنید. بهتر است مراحل مونتاژ بدنه را مطابق با ترتیبی که در تصاویر بالا می‌بینید پیش ببرید تا کارتان ساده تر بشود.

در طراحی دو بعدی بدنه سوراخ پیچ‌ها را ندیدید اما بهتر است بجای چسب از پیچ برای اتصال بلبرینگ‌ها استفاده کنید تا اتصالات محکم تر بشوند و در جای طبیعی شان قرار بگیرند.

گام چهارم: شیلد و موتورها را اضافه کنید

همانطور که در ابتدا گفتیم برای ساخت دستگاه CNC از یک شیلد اختصاصی استفاده شده است اما شما می‌توانید از نمونه‌های تجاری آماده هم استفاده کنید.

برای آماده سازی بخش الکترونیکی دستگاه CNC به قطعات زیر نیاز دارید:

  • برد آردوینو Nano یا Uno
  • سه عدد درایور A4988
  • سه عدد موتور Nema 17
  • منبع تغدیه ۱۲v 5A (جریان مورد نیاز دستگاه حدود ۲٫۵ آمپر است)
  • حدود ۵ متر سیم

نحوه اتصالات هم مشابه دیاگرامی‌است که در تصویر آخر می‌بینید. با این تفاوت که شما از سه موتور استفاده خواهید کرد.

حتماً بعد از ساخت مدار CNC از تیوب و گیره برای مرتب کردن سیم‌ها استفاده کنید چون حجم بالای سیم‌ها تشخیص مرجع آنها را بسیار دشوار می‌کند.

رمز فایل saakhtani.ir است.

گام پنجم: پیکربندی

همانطور که گفتیم برای راه اندازی دستگاه CNC از سفت افزار GRBL استفاده می‌کنیم. ما از GRBL 0.9i استفاده کرده ایم اما نسخه‌های جدیدتر هم موجود است.

نحوه پیکربندی دستگاه CNC و سفت افزار آن را در ویدیوی زیر ببیینید. زبان ویدیوها به اسپانیایی است اما فقط با تماشای مراحل کار هم می‌توانید پیکربندی را روی دستگاه خودتان پیاده کنید. برای اطلاعات بیشتر درباره تنظیم و نصب GRBL روی آردوینو هم این آموزش ساخت را ببینید.

بعد از پیکربندی دستگاه باید پارامترهای فایل موجود در فایل زیر را پیکربندی کنید.

رمز فایل saakhtani.ir است.

گام ششم: نرم افزارهای قابل استفاده

دستگاه CNC تقریباً آماده است و می‌توانید استفاده از آن شروع کنید. اما ابتدا باید نرم افزاری که دستگاه را از طریق آن کنترل می‌کنید را انتخاب کنید. ما یکی از دو نرم افزار زیر را پیشنهاد می‌کنیم:

Universal GCodeSender که یک نرم افزار رایگان با ویژگی‌های زیر است:

  • کنترل دستی
  • سازگار با GRBL
  • استفاده از G-Code
  • نمایشگر G-Code
  • کارکردهای ویژه به عنوان خنک کنندگی و پروب ارتفاع
  • به روزرسانی‌های مرتب و مکرر

Easel که یک ابزار مناسب برای پروژه‌های برش، ساخت و پرینت سه بعدی است و ویژگی‌های زیر را دارد:

  • استفاده راحت
  • سازگار GRBL
  • قابلیت طراحی در برنامه
  • به روزرسانی‌های مرتب و مکرر
  • ابزارهای طراحی مختلف مثل جعبه، پازل و …
  • نیاز به اتصال به اینترنت

دستگاه CNC را تست کنید

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

منبع

خلاصه مطلب

عنوان مطلب

آموزش ساخت دستگاه CNC با برد آردوینو و هزینه کم

توضیح کوتاه

با کمترین هزینه یک دستگاه CNC با دقت بالا بسازید.

نویسنده

عاطفه اسدزاده

در ساختنی بخوانید :


[ad_2]
لینک منبع
بازنشر: مفیدستان

عبارات مرتبط با این موضوع

سایت تخصصی الکترونیک و رباتیک مرتضی کرمیساخت پروژه های دانشجویی الکترونیک و رباتیک لیست پروژه های میکروکنترولری عضویت دانلودفیلمهای آموزشی رشته الکترونیک فیلم آموزش طراحی با نرم افزار اورکد آموزش محلی برای سفارش، خرید و فروش و معاوضه پروژه ، برد ها و ماژول های دست دوم با سایر کاربرانفروشگاه تخصصی رباتیک و الکترونیک تکنو …شروع به کار بخش آموزش برای پشتیبانی بهتر از محصولات فروشگاه، افزایش سطح علمی و جمع انجمن های فارسی آردوینو انجمن دارای مطلب جدید خوانده نشده توسط شما است فروشگاه تخصصی رباتیک و الکترونیک تکنو الکترو فروشگاه تخصصی رباتیک و الکترونیک تکنو الکترو آردوینو رسپبری پای پرینتر سه بعدی سنسور


ادامه مطلب ...

آموزش ساخت ساعت باینری بسیار دقیق با آردوینو [Arduino]

[ad_1]

اگر به ساخت پروژه‌های آردوینو علاقه مند باشید، حتماً ساخت ساعت آردوینو برایتان جالب است. روش‌های مختلفی برای ساخت ساعت آردوینو وجود دارد اما از همه آنها جالب تر، ساخت ساعت باینری است. این نوع ساعت نسبت به ساعت‌های معمولی دقیق تر است و البته خواندنش هم نیاز به آشنایی با سیستم اعداد باینری دارد.با ساختنی همراه باشید.

برای ساخت ساعت باینری با آردوینو باید از یک ماژول RTC هم استفاده کنید چون خود آردوینو دقت خوبی برای نشان دادن زمان در بازه‌های طولانی ندارد. این نوع ماژول باتری جداگانه دارد و به همین خاطر مصرف انرژی پروژه آردوینو را زیاد نمی‌کند. می‌توانید از ماژول DS3231 هم استفاده کنید که فقط یک دقیقه در سال عقب می‌ماند.

این آموزش ساخت شامل ساعت مدار LED، آماده سازی و برنامه ریزی آردوینو و ساخت جعبه ساعت با پرینتر سه بعدی است. تمام فایل‌های مورد نیاز هم در ادمه قابل دریافت است. اگر نمی‌خواهید تمام قطعات را بخرید، می‌توانید ویژگی‌های ساعت باینری را متناسب با نیازتان محدود کنید یا تغییر بدهید؛ مثلاً تعداد LEDها را کمتر کنید یا بجای جعبه پرینت شده از جعبه‌های آاده استفاده کنید.

گام اول: وسایل مورد نیاز

  • برد آردوینو Nano
  • ماژول RTC
  • سنسور دما و رطوبت RHT03
  • ماژول صفحه نمایش OLED 0.96 اینچی
  • یازده عدد LED آبی
  • یازده عدد مقاومت ۴۷۰Ohm
  • مقاومت ۱۰KOhm
  • جعبه ساعت پرینت شده
  • دستگاه لحیم کاری
  • استریپ برد

گام دوم: ماژول‌های 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]

توضیح کوتاه

این ساعت با آردینو ساخته می‌شود و زمان را به صورت باینری نشان می‌دهد.

نویسنده

عاطفه اسدزاده

در ساختنی بخوانید :


[ad_2]
لینک منبع
بازنشر: مفیدستان

عبارات مرتبط با این موضوع

پروژه با و الکترونیکادر این برنامه با استفاده از داخلی میکرو که همان تایمر است یک ساعت دیجیتال دقیق پروژه با و الکترونیکا در این برنامه با استفاده از داخلی میکرو که همان تایمر است یک ساعت دیجیتال دقیق طراحی


ادامه مطلب ...

با ماژول nRF24L01 آردوینو را به یک برد وایرلس تبدیل کنید

[ad_1]

/*

* 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


[ad_2]
لینک منبع
بازنشر: مفیدستان


ادامه مطلب ...

با برد آردوینو برای ماتریکس LED آنالیزور صوتی بسازید

[ad_1]

قبلاً در ساختنی طرز ساخت انواع ماتریکس LED و مکعب LED را یاد گرفته اید. روش‌های مختلفی برای هوشمند یا حساس کردن ماتریکس LED وجود دارد که رایج ترین آن حساس کردن به موزیک است. در این ساختنی طرز ساخت یک آنالیزور صوتی را یاد می‌گیرید که برای ماتریکس‌های LED ده در ده ساخته می‌شود. با ساختنی همراه شوید.

آنالیزور صوتی شدت فرکانس‌های مختلف یک قطعه موسیقی را تحلیل می‌کند و مقادیر به دست آمده را به روش‌های مختلف نمایش می‌دهد. ما برای نمایش داده‌های آنالیزور از ماتریکس LED استفاده می‌کنیم. هربار یکی از ستون‌ها به بالای ماتریکس می‌رسد و رنگش هم متناسب با موزیک تغییر می‌کند.

این ساختنی شامل ساخت ماتریکس LED نمی‌شود. ماتریکس را خودتان بسازید اما حواستان باشد حتماً از LED RGB استفاده کنید.

گام اول: ماتریکس LED را بسازید

LEDها را به این شکل بهم وصل کنید
LEDها را به این شکل بهم وصل کنید

برای ساخت آنالیزور صوتی ابتدا باید RGB LED را بسازید. با جستجو در ساختنی می‌توانید طرز ساخت انواع ماتریکس LED را پیدا کنید. هنگام ساخت ماتریکس حتماً LEDها را مطابق دیاگرام بالا وصل کنید. در غیر این صورت کدهای آردوینو روی ماتریکس شما کارایی نخواهند داشت.

گام دوم: قطعات اضافی

برای تبدیل کردن ماتریکس LED به آنالیزور صوتی به چند قطعه اضافی نیاز دارید.

  • دو عدد سوکت هدفون ۳٫۵ میلیمتری
  • دو عدد مقاومت ۱٫۸kOhm
  • یک عدد مقاومت ۴٫۷kOhm
  • کمی‌سیم انعطاف پذیر

ابتدا باید دو سوکت هدفون را به ماتریکس اضافه کنید. این سوکت‌ها کار انتقال سیگنال‌های صوتی به ماتریکس را می‌کنند تا آنالیزور بتواند آنها را تحلیل کند. منبع صوتی (مثلاً گوشی هوشمند) را به یکی از این سوکت‌ها وصل کنید و دیگری را هم به یک اسپیکر وصل کنید. دو سوراخ هم روی بدنه ماتریکس دریل کنید (اندازه سوراخ‌ها را به توجه به قطر سوکت‌ها مشخص کنید) و آنها را با چسب به بدنه بچسبانید.

گام سوم: قطعات الکترونیکی را به مدار اضافه کنید

ابتدا ۳٫۳ ولتی را از طریق پین AREF و با واسطه مقاومت ۴٫۷ کیلواهمی‌به آردوینو نانو وصل کنید. به این ترتیب برای مقادیر ثبت شده از سیگنال‌های صوتی رزولوشن بیشتری می‌گیرید چون این سیگنال‌ها حداکثر به یک ولت می‌رسند.

آنالیز طیف صوتی با برد آردوینو یک مشکل دارد: سیگنال‌های نزدیک به صفر ولت معکوس می‌شوند و در نتیجه اوج ولتاژ مثبت و منفی را به صورت همزمان خواهیم داشت. چون آردوینو نمی‌تواند ولتاژ منفی را کنترل کند، باید ولتاژ منفی را حذف کنیم.

همانطور که در شماتیک بالا می‌بینید برای ساخت مدار از یک تقسیم کننده ولتاژ با دو مقاومت ۱٫۸ کیلواهمی‌برای حل این مشکل استفاده می‌کنیم. چون هر دو ولتاژ مقاومت یکسان دارند، سیگنال حدود ۱٫۴۴ ولت باقی می‌ماند و دیگر خبری از ولتاژ‌های منفی نیست. برای ساده تر شدن اتصالات می‌توانید مقاومت‌ها را مستقیماً به برد آردوینو نانو وصل کنید.

در نهایت هم دو جک صوتی را اضافه کنید. هر دو کانال چپ و راست را به هر دو جک صوتی وصل کنید. سپس پین‌های GND را بهم وصل کنید و آنها را به سیم GND ماتریکس وصل کنید. حالا هر کدام از کانال‌ها را که خواستید به پین A7 آردوینو و تقسیم کننده ولتاژ وصل کنید.

گام چهارم: آنالیزور صوتی را برنامه ریزی کنید

برای برنامه ریزی برد آردوینو نانو، ابتدا کتابخانه‌های FastLED و FFT را نصب کنید (راهنمای نصب کتابخانه آردوینو). حتماً از نسخه‌هایی که در لینک زیر قرار داده ایم، استفاده کنید. در غیر این صورت کدها روی برد آردوینو کار نخواهند کرد. برای برنامه ریزی آردوینو هم باید از نرم افزار Arduino IDE 1.6.8 یا نسخه‌های بالاتر استفاده کنید.

بعد از اینکه هر دو کتابخانه را نصب کردید، کد SpectrumAnalyzer را روی آردوینو باز کنید کنید. سپس پین دیتای LEDها را مطابق ماتریکسی که ساخته اید، تغییر بدهید و کدها را روی آردوینو آپلود کنید.

حالا می‌توانید منبع صوتی را به ماتریکس LED وصل کنید و آنالیزور صوتی را امتحان کنید. اگر پیشنهادی برای بهبود این پروژه آردوینو دارید، آن را با کاربران ساختنی به اشتراک بگذارید.

رمز فایل saakhtani.ir است.

منبع

خلاصه مطلب

عنوان مطلب

با برد آردوینو برای ماتریکس LED آنالیزور صوتی بسازید

توضیح کوتاه

با آنالیزور صوتی ترکیب رنگ و شکل ماتریکس LED متناسب با موزیک تغییر می‌کند.

نویسنده

عاطفه اسدزاده

در ساختنی بخوانید :


[ad_2]
لینک منبع
بازنشر: مفیدستان

عبارات مرتبط با این موضوع

با برد آردوینو برای ماتریکس آنالیزور صوتی بسازید با برد آردوینو برای ماتریکس آنالیزور صوتی بسازید


ادامه مطلب ...

آموزش ساخت دستگاه CNC با برد آردوینو [Arduino]

[ad_1]

دستگاه CNC یکی از ابزاری است که با آن می‌توانید قطعات بسیار زیر و باجزییاتی را بسازید که ساخت آنها دست کار دشواری است. فرقی نمی‌کند اهل هنرهای دستی باشید یا ساخت مدارات دستی؛ در هر صورت داشتن دستگاه CNC کارتان را ساده تر می‌کند. در این ساختنی یاد می‌گیرید چطور با کمترین هزینه ممکن در خانه دستگاه CNC بسازید. با ساختنی همراه شوید.

این دستگاه براساس برد آردوینو و سفت افزار GRBL ساخته می‌شود و با ابزار Easel هم سازگار است. ابزار Easel امکان طراحی ساده و سریع پروژه‌های CNC را فراهم می‌کند.

گام اول: وسایل مورد نیاز

  • پیچ سربی و مهره برنجی T8 200m
  • پیچ سربی و مهره برنجی T8 300m
  • پیچ سربی و مهره برنجی T8 400m
  • دو عدد بلبرینگ فلنج T8
  • دوازده عدد بلبرینگ توپی خطی متحرک
  • بلبرینگ خطی برای محور Z
  • شفت کاپلینگ منعطف
  • سه عدد موتور Nema 17
  • برد آردوینو Nano
  • درایور A4988
  • شیلد CNC سازگار با GRBL
  • میله دندانه دار T8 یک میلیمتری
  • هشت عدد مهره T8
  • ورق MDF 150 در ۱۵۰ سانتیمتری با ضخامت ۱۰ میلیمتر
  • سیم
  • پیچ

لیست کامل قطعات مورد نیاز برای ساخت دستگاه CNC را از لینک زیر دریافت کنید. این نکته را هم در نظر داشته باشید که ما برای ساخت دستگاه CNC از شیلدی با طراحی اختصاصی استفاده کرده ایم که در مراحل بعد بیشتر درباره آن توضیح می‌دهیم. اما شما می‌توانید از شیلدهای آماده استفاده کنید.

رمز فایل saakhtani.ir است.

گام دوم: طراحی بدنه

برای مشاهده فایل‌های طراحی بدنه که از لینک زیر قابل دریافت است، از نرم افزار Autocad یا سایر نمایشگرهای DWG استفاده کنید.

فایل اول نقشه برش قطعات MDF است که فاصله بین سوراخ‌های دریل را نشان می‌دهد. قطر تمام سوراخ‌ها هم ۸ میلیمتر است.

فایل دوم هم مدل سه بعدی دستگاه CNC است که جای هر قطعه را مشخص می‌کند.

تخته‌های MDF را با استفاده از این فایل‌ها برش بزنید و آنها را برای ساخت بدنه آماده کنید.

رمز فایل saakhtani.ir است.

گام سوم: بدنه را بسازید

بدنه دستگاه را با توجه به فایل طراحی سه بعدی و تصاویر بالا مونتاژ کنید. بهتر است مراحل مونتاژ بدنه را مطابق با ترتیبی که در تصاویر بالا می‌بینید پیش ببرید تا کارتان ساده تر بشود.

در طراحی دو بعدی بدنه سوراخ پیچ‌ها را ندیدید اما بهتر است بجای چسب از پیچ برای اتصال بلبرینگ‌ها استفاده کنید تا اتصالات محکم تر بشوند و در جای طبیعی شان قرار بگیرند.

گام چهارم: شیلد و موتورها را اضافه کنید

همانطور که در ابتدا گفتیم برای ساخت دستگاه CNC از یک شیلد اختصاصی استفاده شده است اما شما می‌توانید از نمونه‌های تجاری آماده هم استفاده کنید.

برای آماده سازی بخش الکترونیکی دستگاه CNC به قطعات زیر نیاز دارید:

  • برد آردوینو Nano یا Uno
  • سه عدد درایور A4988
  • سه عدد موتور Nema 17
  • منبع تغدیه ۱۲v 5A (جریان مورد نیاز دستگاه حدود ۲٫۵ آمپر است)
  • حدود ۵ متر سیم

نحوه اتصالات هم مشابه دیاگرامی‌است که در تصویر آخر می‌بینید. با این تفاوت که شما از سه موتور استفاده خواهید کرد.

حتماً بعد از ساخت مدار CNC از تیوب و گیره برای مرتب کردن سیم‌ها استفاده کنید چون حجم بالای سیم‌ها تشخیص مرجع آنها را بسیار دشوار می‌کند.

رمز فایل saakhtani.ir است.

گام پنجم: پیکربندی

همانطور که گفتیم برای راه اندازی دستگاه CNC از سفت افزار GRBL استفاده می‌کنیم. ما از GRBL 0.9i استفاده کرده ایم اما نسخه‌های جدیدتر هم موجود است.

نحوه پیکربندی دستگاه CNC و سفت افزار آن را در ویدیوی زیر ببیینید. زبان ویدیوها به اسپانیایی است اما فقط با تماشای مراحل کار هم می‌توانید پیکربندی را روی دستگاه خودتان پیاده کنید. برای اطلاعات بیشتر درباره تنظیم و نصب GRBL روی آردوینو هم این آموزش ساخت را ببینید.

بعد از پیکربندی دستگاه باید پارامترهای فایل موجود در فایل زیر را پیکربندی کنید.

رمز فایل saakhtani.ir است.

گام ششم: نرم افزارهای قابل استفاده

دستگاه CNC تقریباً آماده است و می‌توانید استفاده از آن شروع کنید. اما ابتدا باید نرم افزاری که دستگاه را از طریق آن کنترل می‌کنید را انتخاب کنید. ما یکی از دو نرم افزار زیر را پیشنهاد می‌کنیم:

Universal GCodeSender که یک نرم افزار رایگان با ویژگی‌های زیر است:

  • کنترل دستی
  • سازگار با GRBL
  • استفاده از G-Code
  • نمایشگر G-Code
  • کارکردهای ویژه به عنوان خنک کنندگی و پروب ارتفاع
  • به روزرسانی‌های مرتب و مکرر

Easel که یک ابزار مناسب برای پروژه‌های برش، ساخت و پرینت سه بعدی است و ویژگی‌های زیر را دارد:

  • استفاده راحت
  • سازگار GRBL
  • قابلیت طراحی در برنامه
  • به روزرسانی‌های مرتب و مکرر
  • ابزارهای طراحی مختلف مثل جعبه، پازل و …
  • نیاز به اتصال به اینترنت

دستگاه CNC را تست کنید

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

منبع

خلاصه مطلب

عنوان مطلب

آموزش ساخت دستگاه CNC با برد آردوینو و هزینه کم

توضیح کوتاه

با کمترین هزینه یک دستگاه CNC با دقت بالا بسازید.

نویسنده

عاطفه اسدزاده

در ساختنی بخوانید :


[ad_2]
لینک منبع
بازنشر: مفیدستان

عبارات مرتبط با این موضوع

سایت تخصصی الکترونیک و رباتیک مرتضی کرمیساخت پروژه های دانشجویی الکترونیک و رباتیک لیست پروژه های میکروکنترولری عضویت دانلودفیلمهای آموزشی رشته الکترونیک فیلم آموزش طراحی با نرم افزار اورکد آموزش محلی برای سفارش، خرید و فروش و معاوضه پروژه ، برد ها و ماژول های دست دوم با سایر کاربرانفروشگاه تخصصی رباتیک و الکترونیک تکنو …شروع به کار بخش آموزش برای پشتیبانی بهتر از محصولات فروشگاه، افزایش سطح علمی و جمع انجمن های فارسی آردوینو انجمن دارای مطلب جدید خوانده نشده توسط شما است فروشگاه تخصصی رباتیک و الکترونیک تکنو الکترو فروشگاه تخصصی رباتیک و الکترونیک تکنو الکترو آردوینو رسپبری پای پرینتر سه بعدی سنسور


ادامه مطلب ...

با برد آردوینو دستگاه شمع سازی ساده اما کارآمد بسازید

[ad_1]

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

این دستگاه از تکنیک شمع سازی فرو بردن فیتیله در موم استفاده می‌کند که روش قدیمی‌است. شکل شمع‌هایی که می‌سازید هم ساده است اما ساخت دستگاه شمع سازی برای کسانی که به تازگی کار با آردوینو را شروع کرده اند، بسیار جذاب خواهد بود.

گام اول: وسایل مورد نیاز

  • تعدادی شمع وارمر
  • یک جعبه چوبی (با ابعاد تقریبی ۳۲ در ۲۷٫۵ در ۸٫۵ سانتیمتر)
  • کمی‌الوار چوبی
  • ۶ عدد پیچ ۲۰ میلیمتری
  • ۶ عدد پیچ و مهره M8 180 میلیمتری
  • دو عدد قوطی کنسرو
  • ته مانده شمع یا موم شمع

قطعات الکترونیکی

گام دوم: مشعل را بسازید

مشعل دستگاه شمع سازی بسیار ساده است و چند شمع وارمر منبع گرمایی دستگاه است. شما می‌توانید از المنت گرمایی الکتریکی استفاده کنید اما اینکار هزینه ساخت را بالاتر می‌برد و برای مبتدی‌ها هم کمی‌خطرناک است.

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

  1. قطر قوطی کنسرو بزرگ تر را اندازه بگیرید.
  2. روی جعبه یا تخته‌های چوب را علامت بگذارید.
  3. تخته‌ها را با چسب چوب به جعبه وصل کنید.
  4. سوراخ‌ها را دریل کنید.
  5. پیچ‌ها را داخل سوراخ‌ها قرار بدهید و با مهره‌ها مشعل را مونتاژ کنید.
  6. برای استحکام بیشتر می‌توانید یک ورق فلزی زیر قوطی اضافه کنید. قوطی بزرگ را با فاصله ۵ سانتیمتر از سرش ببرید و آن را روی پیچ‌ها قرار بدهید.

گام سوم: پایه‌ها را اضافه کنید

پایه‌های دستگاه از جنس چوب هستند و با چسب چوب اضافه می‌شوند. برای جزییات بیشتر درباره ابعاد و نحوه اتصال آنها به تصاویر بالا دقت کنید.

برای سوراخ روی تخته افقی از یک ابزار پخ استفاده کنید. لبه سوراخ را کاملاً صاف کنید تا طناب راحت تر در آن حرکت کند.

گام چهارم: سروو و اهرم را اضافه کنید

این گام آخرین مرحله از ساخت بدنه دستگاه شمع سازی است و در کارایی صحیح آن نقش زیادی دارد.

اتصال سروو

یک تکه چوب به طول ۵ سانتیمتر بردارید و جلوی آن دو سوراخ برای سروو دریل کنید. روی کناره‌های یک تکه چوب دیگر هم دو سوراخ برای سروو دریل کنید. سپس این چوب‌ها را به چهار پیچ به سروو وصل کنید. سپس سروو را مطابق تصاویر به دستگاه بچسبانید و پیچ کنید.

اتصال بازو

یک تکه چوب به شکل اشک ببرید و یک گیره لباس به آن وصل کنید. دقت کنید که گیره بالا بالای سوراخ قرار بگیرد. اگر لازم بود بین گیره و بازو یک تکه چوب دیگر هم قرار بدهید. سپس سروو را با پونز به بازو وصل کنید.

گام پنجم: مدار را بسازید

طراحی مدار دستگاه شمع سازی بسیار ساده است و می‌توانید آن را با لحیم کاری یا روی برد بورد بسازید. برای ساخت مدار از دیاگرام بالا کمک بگیرید. سیم‌ها را هم با کش به تخته‌های بدنه وصل کنید. یک سوراخ روی جعبه چوبی دریل کنید و مدار و آردوینو را زیر جعبه قرار بدهید. یک سوراخ دیگر هم برای کابل USB دریل کنید.

با اضافه کردن یک بازر، دستگاه می‌تواند بعد از آماده شدن شمع شما را مطلع کند. نحوه اتصال بازر هم در شماتیک مشخص است.

رمز فایل : saakhtani.ir

گام ششم: دستگاه را برنامه ریزی کنید

کدهای دستگاه شمع سازی را از لینک زیر دریافت کنید و روی آردوینو آپلود کنید.

آردوینو را جدا کنید. قوطی خالی را روی مشعل قرار بدهید و دستگاه را طوری تنظیم کنید که وقتی سروو زاویه صفر دارد، بازو با بدنه دستگاه تماس دارد. فیتیله شمع را به بازو وصل کنید و اندازه اش را طوری تنظیم کنید که با کف قوطی تماس نداشته باشد. آردوینو را روشن کنید و قبل از شروع کار با موم حرکت سروو را بررسی کنید: فیتیله باید بالا و پایین برود. وقتی سروو در بالاترین موقعیت قرار دارد، فیتیله باید کاملاً از قوطی بیرون بیاید. اگر اینطور نبود پارامترهای کدهای آردوینو را تغییر بدهید تا حرکت سروو اصلاح بشود.

رمز فایل saakhtani.ir است

دستگاه شمع سازی را تست کنید

دستگاه شمع سازی را تست کنید
دستگاه شمع سازی را تست کنید

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

اگر شمع ضخیم نمی‌شود، راهکارهای زیر را تست کنید:

  • ورق زیر قوطی را بالاتر ببرید تا دمای موم کمتر بشود؛
  • سرعت حرکت سروو را بیشتر کنید تا موم چسبیده به فیتیله دوباره آب نشود؛
  • فواصل زمانی بین چرخه‌ها را تنظیم کنید.

اگر قسمت انتهایی شمع نازک تر بود، راهکارهای زیر را تست کنید:

  • موم را هم بزنید تا دمای آن یکسان بشود و شمع را اطراف نقطه وسط قوطی قرار بدهید؛
  • سرعت حرکت سروو را بیشتر کنید تا موم چسبیده به فیتیله دوباره آب نشود.

منبع

خلاصه مطلب

عنوان مطلب

با برد آردوینو دستگاه شمع سازی ساده اما کارآمد بسازید

توضیح کوتاه

یک پروژه آردوینو ساده و کاربردی برای مبتدی‌ها.

نویسنده

عاطفه اسدزاده

در ساختنی بخوانید :


[ad_2]
لینک منبع
بازنشر: مفیدستان

عبارات مرتبط با این موضوع

با برد آردوینو دستگاه شمع سازی ساده اما کارآمد بسازید با برد آردوینو دستگاه شمع سازی ساده اما کارآمد بسازید


ادامه مطلب ...

آموزش ساخت ساعت باینری بسیار دقیق با آردوینو [Arduino]

[ad_1]

اگر به ساخت پروژه‌های آردوینو علاقه مند باشید، حتماً ساخت ساعت آردوینو برایتان جالب است. روش‌های مختلفی برای ساخت ساعت آردوینو وجود دارد اما از همه آنها جالب تر، ساخت ساعت باینری است. این نوع ساعت نسبت به ساعت‌های معمولی دقیق تر است و البته خواندنش هم نیاز به آشنایی با سیستم اعداد باینری دارد.با ساختنی همراه باشید.

برای ساخت ساعت باینری با آردوینو باید از یک ماژول RTC هم استفاده کنید چون خود آردوینو دقت خوبی برای نشان دادن زمان در بازه‌های طولانی ندارد. این نوع ماژول باتری جداگانه دارد و به همین خاطر مصرف انرژی پروژه آردوینو را زیاد نمی‌کند. می‌توانید از ماژول DS3231 هم استفاده کنید که فقط یک دقیقه در سال عقب می‌ماند.

این آموزش ساخت شامل ساعت مدار LED، آماده سازی و برنامه ریزی آردوینو و ساخت جعبه ساعت با پرینتر سه بعدی است. تمام فایل‌های مورد نیاز هم در ادمه قابل دریافت است. اگر نمی‌خواهید تمام قطعات را بخرید، می‌توانید ویژگی‌های ساعت باینری را متناسب با نیازتان محدود کنید یا تغییر بدهید؛ مثلاً تعداد LEDها را کمتر کنید یا بجای جعبه پرینت شده از جعبه‌های آاده استفاده کنید.

گام اول: وسایل مورد نیاز

  • برد آردوینو Nano
  • ماژول RTC
  • سنسور دما و رطوبت RHT03
  • ماژول صفحه نمایش OLED 0.96 اینچی
  • یازده عدد LED آبی
  • یازده عدد مقاومت ۴۷۰Ohm
  • مقاومت ۱۰KOhm
  • جعبه ساعت پرینت شده
  • دستگاه لحیم کاری
  • استریپ برد

گام دوم: ماژول‌های 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]

توضیح کوتاه

این ساعت با آردینو ساخته می‌شود و زمان را به صورت باینری نشان می‌دهد.

نویسنده

عاطفه اسدزاده

در ساختنی بخوانید :


[ad_2]
لینک منبع
بازنشر: مفیدستان

عبارات مرتبط با این موضوع

پروژه با و الکترونیکادر این برنامه با استفاده از داخلی میکرو که همان تایمر است یک ساعت دیجیتال دقیق پروژه با و الکترونیکا در این برنامه با استفاده از داخلی میکرو که همان تایمر است یک ساعت دیجیتال دقیق طراحی


ادامه مطلب ...

با ماژول nRF24L01 آردوینو را به یک برد وایرلس تبدیل کنید

[ad_1]

/*

* 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


[ad_2]
لینک منبع
بازنشر: مفیدستان


ادامه مطلب ...