در اين بخش مي‌توانيد در مورد تمامي مسائل مرتبط با سایر میکروکنترلرها به بحث بپردازيد
Novice Poster

Novice Poster



no avatar
پست ها

56

تشکر کرده: 0 مرتبه
تشکر شده: 89 مرتبه
تاريخ عضويت

سه شنبه 3 شهریور 1394 11:41

آرشيو سپاس: 0 مرتبه در 0 پست

با استفاده از آردوینو ساعت بسازید. (قسمت اول)

توسط کافه ربات » پنج شنبه 26 آذر 1394 12:33

با عرض سلام خدمت دوستان عزیز
امروز آموزش ساخت یک ساعت جالب رو براتون می زاریم. آموزش کامل ساخت این ساعت رو می تونید در سایت کافه ربات مشاهده کنید.
 لينکها براي کاربران مهمان قابل دسترسي نيست، براي مشاهده ي لينکها لطفا ثبت نام کرده و وارد شويد 

در پایان این آموزش قادر خواهید بود تا با استفاده از آردوینو ساعتی بسازید که توسط زمان منتشرشده از ماهواره های GPSتنظیم می شود. با ما همراه باشید.


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

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

گام اول: قطعات مورد نیاز


1یک آردوینو Uno. می توانید از انواع دیگر آردوینو مانند Megaو Leonardo و ... استفاده کنید. چیزی که نیاز دارید اعمال تغییرات کوچکی در کد آن است که بتواند از GPS استفاده کند (راهنمای GPS را ببینید).
2. یک صفحه نمایش LED سون سگمنت . هر دو مدل 1.2 اینچی (که اندازه بزرگ است و در بالای تصویر نشان داده شده است) و 0/56 اینچی (که اندازه متوسط است و در وسط تصویر نشان داده شده است)، قابل استفاده است.
3.یکی از موارد زیر به عنوان منبع زمان:
I.شیلد یا بریک اوت GPS (The ultimate GPS shield or breakout). اگر از GPS استفاده کنید، ساعت به صورت خودکار با استفاده از سیگنال های دریافت شده از ماهواره های GPS تنظیم می شود. برای ثابت شدن گیرنده ی GPS روی ماهواره ها، باید اطمینان حاصل کنید که ساعت دید خوبی نسبت به آسمان دارد. بهتر است به بورد GPS یک باتری بیندازید تا با از دست رفتن سیگنال ماهواره هم تنظیم ساعت بهم نخورد.
II.ماژول ساعت زمان واقعی (RTC) مانند DS1307. این ماژول از GPS ارزان تر است ، اما باید یکبار ساعت را تنظیم کنید و عمر باتری را به خاطر داشته باشید تا قبل از از کار افتادن ساعت، باتری آن را تعویض کنید. یکی دیگر از ساعت های زمان واقعی خوب ChronoDot است. البته باید بدانید که برای استفاده از DS1307 به کمی لحیم کاری نیاز دارید.
4.بردبورد و سیم jumper
5.یک محفظه برای ساعت. بسته به سلیقه شما، هر جعبه ای حتی جعبه های مقوایی برای این کار مناسب است. می توانید با انتخاب یک محفظه، ساعت ساده یا فانتزی درست کنید. یا حتی می توانید کار را بدون جعبه بگذارید تا اجزای درونی ساعتتان در معرض نمایش قرار گیرد!
6.ابزار لحیم کاری. باید صفحه نمایش، GPS و ماژول ساعت را لحیم کنید. اگر تاکنون لحیم کاری انجام نداده اید، با اندکی تمرین می توانید به صورت حرفه ای عمل کنید. با مطالعه راهنمای لحیم کاری، به راحتی می توانید این کار را انجام دهید.
7.منبع تغذیه آردوینو. می توانید از منبع های 7 تا 12 ولتی یا حتی یک بسته باتری کوچک برای اینکار استفاده کنید. بهتر است ساعت را به منبع تغذیه وصل کنید تا مجبور نباشد مدت زیادی از باتری استفاده کند.

گام دوم : سیم کشی و سخت افزار

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

سیم کشی ساعت GPS


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


پین 5 ولت آردوینو را به پین 7-segment +/VIN power و پین VIN ultimate GPS breakout VIN (سیمهای قرمز) وصل کنید.

اگر از صفحه نمایش سون سگمنت بزرگ 1.2 اینچی استفاده می کنید، آردوینو 5v را به پین IO سون سگمنت وصل کنید. صفحه نمایش های کوچک تر این پین را ندارند.

پین GND آردوینو را به پین -GND سون سگمنت و پین GND ultimate GPS breakout (سیم های سیاه) وصل کنید.

پین A5 یا SCL آردوینو را به پین C/clock سون سگمنت وصل کنید. (سیم زرد)

پین A4 یا SDA آردوینو را به پین D/data سون سگمنت وصل کنید. (سیم نارنجی)

پین D8آردوینو را به پین ultimate GPS breakout TX وصل کنید. (سیم آبی)

پین D7آردوینو را به پین ultimate GPS breakout RX وصل کنید. (سیم سبز)

هنگامی که همه چیز را در سر جایش وصل کردید، چیزی شبیه به تصویر زیر می بینید:



در قسمت بعدی آموزش ، سیم کشی ساعت زمان واقعی DS1307 ، نرم افزار و کتابخانه های مورد نیاز را در اختیارتون قرار میدیم.
آموزش کامل ساخت این ساعت رو می تونید در سایت کافه ربات مشاهده کنید.
 لينکها براي کاربران مهمان قابل دسترسي نيست، براي مشاهده ي لينکها لطفا ثبت نام کرده و وارد شويد 

Mahdi1944 از این پست سپاسگزاري کرده است

Novice Poster

Novice Poster



no avatar
پست ها

56

تشکر کرده: 0 مرتبه
تشکر شده: 89 مرتبه
تاريخ عضويت

سه شنبه 3 شهریور 1394 11:41

آرشيو سپاس: 0 مرتبه در 0 پست

با استفاده از آردوینو ساعت بسازید. (قسمت دوم)

توسط کافه ربات » سه شنبه 1 دی 1394 10:23

با عرض سلام مجدد خدمت دوستان. امروز میخوایم قسمت دوم آموزش ساخت ساعت با استفاده از آردوینو رو براتون بزاریم. با ما همراه باشید.
برای مشاهده آموزش کامل ساخت این ساعت، به سایت  لينکها براي کاربران مهمان قابل دسترسي نيست، براي مشاهده ي لينکها لطفا ثبت نام کرده و وارد شويد ، مراجعه کنید.

سیم کشی ساعت زمان واقعی DS1307

برای ساخت ساعت زمان واقعی با استفاده از DS1307، سیم کشی اجزا مطابق شکل زیر است.


آردوینو 5V را به پین 7-segment +/VIN power و پینDS1307 5V وصل کنید.

اگر از صفحه نمایش 7 بخشی بزرگ 1.2 اینچی استفاده می کنید، آردوینو 5V را به پین 7-segment IO وصل کنید. صفحه نمایش های کوچک تر این پین را ندارند.

پین GND آردوینو را به پین GND سون سگمنت و پین GND DS1307 وصل کنید.

پین A5 یا SCL آردوینو را به پین C/clock سون سگمنت و پین DS1307 SCL وصل کنید.

پین A4 یا SDA آردوینو را به پین D/data سون سگمنت و پین DS1307 SDA وصل کنید.

هنگامی که همه چیز را در سر جایش وصل کردید، چیزی شبیه به تصویر زیر می بینید:


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

گام سوم: نرم افزار

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

با استفاده از آموزش های مقدماتی، به راحتی می توانید با روش کار IDE آردوینو آشنا شوید، یک اسکچ (sketch) لود کنید و یا یک کد را آپلود نمایید.

پس از آن باید از نصب کتابخانه هایی که مورد استفاده اسکچ قرار میگیرند، اطمینان حاصل کنید. در آخرین نسخه ی IDE آردوینو، میتوانید برای نصب کتابخانه ها و همچنین دسترسی به راهنمای نصب آنها، به راحتی از مدیریت کتابخانه (library manager) استفاده کنید. باید کتابخانه های زیر را نصب کنید:
  • کتابخانه LED Backpack
  • کتابخانه GFX
  • کتابخانه GPS (اگر از GPS استفاده می کنید)
  • کتابخانه RTClib (اگر از RTClib استفاده می کنید)

برای نصب کتابخانه های فوق به  لينکها براي کاربران مهمان قابل دسترسي نيست، براي مشاهده ي لينکها لطفا ثبت نام کرده و وارد شويد  مراجعه کنید.  

این کتابخانه ها را در قسمت مدیریت کتابخانه جست و جو کنید و سپس نصب نمایید:


بعد از نصب کتابخانه ها، آن ها را به روز رسانی کنید. مخصوصا باید کتابخانه LED backpack را برای تنظیم ساعت به روز کنید.
با توجه به اینکه از GPS یا DS1307 استفاده می کنید، بخش مناسب را دنبال کنید.

اسکچ ساعت با استفاده از GPS


برای بارگذاری اسکچ ساعت GPS اطمینان حاصل کنید که سخت افزار به درستی ساخته شده، کتابخانه های بالا نصب شده اند و آردوینو با استفاده از کابل USB به کامپیوتر متصل شده است. پس از آن به عنوان مثال مسیر زیر را انتخاب کنید:
File -> Examples -> Adafruit LED Backpack Library -> clock_sevenseg_gps
صفحه ای مانند زیر باید درIDE لود شود:


ممکن است بخواهید قبل از آپلود کردن آردوینو، دو چیز را در اسکچ تغییر دهید. اول، انتخاب فرمت 24 ساعته یا 12 ساعته برای ساعتتان است. که به صورت پیش فرض توسط خط زیر فرمت 12 ساعته تعریف شده است:
// Set to false to display time in 12 hour format, or true to use 24 hour:
#define TIME_24_HOUR      false




اگر میخواهید از فرمت 24 ساعته استفاده کنید، کد را طبق خط زیر نغییر دهید:
// Set to false to display time in 12 hour format, or true to use 24 hour:
#define TIME_24_HOUR      true



دومین چیزی که ممکن است بخواهید تغییر دهید، آفست زمان محلی است. زمان ماهواره های GPS مطابق با GMT یا زمان جهانی UTC است و زمان محلی شما احتمالا با این مقادیر متفاوت است. برای اطلاع از اختلاف زمان محلی تان و GMT/ UTC میتوانید از سایت worldtimeserver.com یا این صفحه ویکیپدیا استفاده کنید.

اسکچ به صورت پیش فرض از زمان UTC-7 (منطقه زمانی آمریکا در اقیانوس آرام) استفاده می کند، شما باید در کد زیر مقدار زمان محلی خود را وارد کنید:

// Offset the hours from UTC (universal time) to your local time by changing
// this value.  The GPS time will be in UTC so lookup the offset for your
// local time from a site like:
//   https://en.wikipedia.org/wiki/List_of_UTC_time_offsets
// This value, -7, will set the time to UTC-7 or Pacific Standard Time during
// daylight savings time.
#define HOUR_OFFSET       -7




و برای ایران به آفست جدید به مقدار UTC +3:30 تغییر دهید.
// Offset the hours from UTC (universal time) to your local time by changing
// this value.  The GPS time will be in UTC so lookup the offset for your
// local time from a site like:
//   https://en.wikipedia.org/wiki/List_of_UTC_time_offsets
// This value, -7, will set the time to UTC-7 or Pacific Standard Time during
// daylight savings time.
#define HOUR_OFFSET       -3:30




با ذخیره کردن این اطلاعات، آردوینو برای آپلود آماده است. در منو آدوینو Uno از قسمت Tools -> Board را انتخاب کنید و پورت سریال را از قسمت Tools -> Port انتخاب کنید . سپس در قسمت پایین روی upload کلیک کنید و یا از قسمت Sketch -> Upload را انتخاب کنید تا کد به آردوینو ارسال شود. هم اکنون باید ساعت شروع به کار کند.
زمانی که اسکچ ساعت لود شد، باید کمی صبر کنید تا گیرنده GPS روی ماهواره قفل شود و زمان دقیق نمایش داده شود. زمانیکه ارتباط GPS با ماهواره برقرار شد، LED شروع به چشمک زدن می کند (یک بار در ثانیه چشمک می زند) . هنگامیکه GPS روی ماهواره ثابت شد، LED با سرعت کمتری (هر 15 ثانیه) چشمک می زند.
مطمئن شوید که شیلد GPS و یا break out دید کافی و مناسب به سمت آسمان دارند. بسته به مکانی که قرار دارید ممکن است بین 45 ثانیه تا نیم ساعت طول بکشد تا GPS روی ماهواره ثابت شود.
اگر در حال حاضر این کار را انجام ندادید، می توانید با استفاده از یک باتری زمان ساعت را ذخیره کنید. این باعث می شود که حتی وقتی GPS روی ماهواره ای ثابت نیست، ساعت شما عدد درستی را نشان دهد.
تبریک! شما توانستید یک ساعت GPS بسازید.

اسکچ ساعت با استفاده از DS1307


برای بارگذاری اسکچ ساعت با استفاده از DS1307 اطمینان حاصل کنید که سخت افزار به درستی ساخته شده، کتابخانه های بالا نصب شده اند و آردوینو با استفاده از کابل USB به کامپیوتر متصل شده است. پس از آن به عنوان مثال مسیر زیر را انتخاب کنید:
File -> Examples -> Adafruit LED Backpack Library -> clock_sevenseg_ds1307
صفحه ای مانند زیر باید در IDE لود شود:



در کد زیر فرمت 12 ساعته استفاده شده است. ممکن است بخواهید فرمت پیش فرض ساعت را تغییر دهید و فرمت 24 ساعته را استفاده کنید.
// Set to false to display time in 12 hour format, or true to use 24 hour:
#define TIME_24_HOUR      false



اگر میخواهید از فرمت 24 ساعته استفاده کنید، کد را طبق خط زیر نغییر دهید:
// Set to false to display time in 12 hour format, or true to use 24 hour:
#define TIME_24_HOUR      true



چیز دیگری که نیاز به تغییر داشته باشد وجود ندارد.
با ذخیره کردن این اصلاحات، آردوینو برای آپلود شدن آماده است. در منو آدوینو Uno از قسمت Tools -> Board را انتخاب کنید و پورت سریال را از قسمت Tools -> Port را انتخاب کنید . سپس در قسمت پایین روی upload کلیک کنید و یا از قسمت Sketch -> Upload را انتخاب کنید تا کد به آردوینو ارسال شود. هم اکنون باید ساعت شروع به کار کند.
اگر اولین باری است که از DS1307 استفاده می کنید، ساعت به صورت خودکار با زمانی که وارد و آپلود شده بود، تنظیم می شود. البته با استفاده از کد زیر در تنظیمات اسکچ شما به صورت دستی هم می توانید زمان را تنظیم کنید:
// Set the DS1307 clock if it hasn't been set before.
bool setClockTime = !rtc.isrunning();
// Alternatively you can force the clock to be set again by
// uncommenting this line:
//setClockTime = true;
if (setClockTime) {
  Serial.println("Setting DS1307 time!");
  // This line sets the DS1307 time to the exact date and time the
  // sketch was compiled:
  rtc.adjust(DateTime(F(__DATE__), F(__TIME__)));
  // Alternatively you can set the RTC with an explicit date & time,
  // for example to set January 21, 2014 at 3am you would uncomment:
  //rtc.adjust(DateTime(2014, 1, 21, 3, 0, 0));
}



دستورات ذکر شده، نحوه ی تنظیم دستی زمان و تاریخ است. برای مثال برای تنظیم زمان، برای روز 21 ژانویه 2014، باید کدی شبیه به این نوشته شود:
// Set the DS1307 clock if it hasn't been set before.
bool setClockTime = !rtc.isrunning();
// Alternatively you can force the clock to be set again by
// uncommenting this line:
setClockTime = true;
if (setClockTime) {
  Serial.println("Setting DS1307 time!");
  // This line sets the DS1307 time to the exact date and time the
  // sketch was compiled:
  //rtc.adjust(DateTime(F(__DATE__), F(__TIME__)));
  // Alternatively you can set the RTC with an explicit date & time,
  // for example to set January 21, 2014 at 3am you would uncomment:
  rtc.adjust(DateTime(2014, 1, 21, 3, 0, 0));
}



با آپلود کردن مجدد اسکچ زمان تغییر می کند.
تبریک! شما موفق شدید با استفاده از DS1307 یک ساعت آردوینو بسازید. با آرزوی موفقیت

 لينکها براي کاربران مهمان قابل دسترسي نيست، براي مشاهده ي لينکها لطفا ثبت نام کرده و وارد شويد 

Mahdi1944 از این پست سپاسگزاري کرده است


 


  • موضوعات مشابه
    پاسخ ها
    بازديدها
    آخرين پست

چه کسي حاضر است ؟

کاربران حاضر در اين انجمن: بدون كاربران آنلاين و 0 مهمان