شاید در چندین سال قبل سنجش زمان در طول روز و شب از اهمیت آنچنانی برخوردار نبود، اما در حال حاضر زمان و سنجش دقیق زمان به عنوان یک ابزار بسیار مهم و حیاتی به کار می رود. چرا که کوچک ترین تاخیر یا بهم ریختگی در زمان ممکن است باغث به وجود آمدن مشکلاتی غیر قابل جبران شود. در این سری از پروژه های آردوینو نحوه ساخت ساعت دیجیتالی توسط سگمنت 4 دیجیت با تراشه TM1637 به کمک برد آردوینو را توضیح داده ایم. اگر به دنبال ساخت یک ساعت دیجیتال هستید این پروزه بسیار مناسب است چرا که با کمترین هزینه قادر خواهید بود، یک زمان سنچ دیجیتال حرفه ای بسازید و از آن در مکان ها و پروژه های مختلف استفاده کنید.
ماژول سگمنت ۴ دیجیت با تراشه TM1637
همانطور که در پروژه های قبلی گفته شد، 7Segmentها دارای پایه های زیادی هستند ولی در صورتی که با ماژول سگمنت 4دیجیت و تراشه TM1637 استفاده شوند، می توان آن ها را تنها با 4 پایه و به صورت I2C کنترل کرد.
ویژگی های ماژول سگمنت ۴ دیجیت
1. ولتاژ مورد نیاز 3.5 تا 5 ولت
2. جریان 80 میلی آمپر
3. دمای نگهداری 25- تا 85+ درجه سانتی گراد
4. پروتکل ارتباطی به صورت I2C
5. تعداد پایه ها 4 عدد
6. نوع کانکتور به صورت پین هدر
7. ابعاد 24*42 میلی متر
لیست قطعات مورد نیاز
برد آردوینو Arduino UNO R3 مدل DIP | 1 عدد |
ماژول نمایشگر سون سگمنت 4 رقمی TM1637 | 1 عدد |
برد بورد (پروجکت برد) مدل GL | 1 عدد |
سیم جامپر برد بوردی مدل دو سر نری (سری 40تایی) | 1 عدد |
نحوه اتصال قطعات به یکدیگر و برد آردوینو بسیار ساده است به طوری که برای انجام این عمل می توانید طبق شماتیک زیر این کار را به راحتی انجام دهید.
برنامه نویسی پروژه
قبل از برنامه نویسی در نرم افزار آردوینو ابتدا کتابخانه TM1637 را دانلود نموده و طبق توضیحات زیر، آن را به زیرمجموعه های کتابخانه خود در نرم افزار آردوینو اضافه کنید.
نصب کردن کتابخانه TM1637
لازم به ذکر است که نرم افزار برنامه نویسی آردوینو به صورت پیش فرض توانایی پشتیبانی از TM1637 را ندارد بنابراین ما باید library (کتابخانه یا برنامه) مورد نیاز را بر روی آن نصب کنیم. این فرآیند بسیار ساده و راحت است که در زیر نحوه استفاده از آن را توضیح داده ایم.
1. در مرحله اول ابتدا آخرین (جدیدترین) نسخه کتابخانه (TM1637) را از لینک فوق دانلود کنید.
2. پس از دانلود فایل، نرم افزار آردوینو را باز کنید.
3. مسیر زیر را دنبال کنید و در پنجره باز شده فایل کتابخانه TM1637 را که قبلا دانلود کرده اید را انتخاب نمائید:
… Sketch > Include Library > Add .ZIP Library
برنامه نویسی کامل پروژه
بعد از اتصال قطعات به یکدیگر و نصب کتابخانه، کدهای زیر را در نرم افزار آردوینو کپی نموده سپس به برد آردوینو آپلود کنید.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 |
#include <TM1637.h> #include <Wire.h> #include <Time.h> #include <DS1307RTC.h> #define CLK 9 #define DIO 8 TM1637 Display1(CLK, DIO); int8_t Digitos[] = {0,1,2,3}; int horas; int minutos; boolean alterna; void setup() { Serial.begin(9600); while (!Serial) ; // wait for serial delay(200); Serial.println("DS1307RTC Read Test"); Serial.println("-------------------"); Display1.set(); Display1.init(); } void loop() { tmElements_t tm; if (RTC.read(tm)) { Serial.print("Ok, Time = "); print2digits(tm.Hour); Serial.write(':'); print2digits(tm.Minute); Serial.write(':'); print2digits(tm.Second); Serial.print(", Date (D/M/Y) = "); Serial.print(tm.Day); Serial.write('/'); Serial.print(tm.Month); Serial.write('/'); Serial.print(tmYearToCalendar(tm.Year)); Serial.println(); horas = tm.Hour; minutos = tm.Minute; CalculaDigitos(horas, minutos); if (alterna) { Display1.point(POINT_OFF); alterna = false; } else { Display1.point(POINT_ON); alterna = true; } } else { if (RTC.chipPresent()) { Serial.println("The DS1307 is stopped. Please run the SetTime"); Serial.println("example to initialize the time and begin running."); Serial.println(); } else { Serial.println("DS1307 read error! Please check the circuitry."); Serial.println(); } delay(9000); } delay(1000); } void print2digits(int number) { if (number >= 0 && number < 10) { Serial.write('0'); } Serial.print(number); } void CalculaDigitos( int hor, int minu) { int8_t Digit0 = minu %10 ; int8_t Digit1 = (minu % 100) / 10 ; int8_t Digit2 = hor % 10 ; int8_t Digit3 = (hor % 100) / 10 ; Digitos[3] = Digit0 ; Digitos[2] = Digit1 ; Digitos[1] = Digit2 ; Digitos[0] = Digit3 ; Display1.display(Digitos); } |
سلام برای من این ارور رو مده
exit status 1
TM1637.h: No such file or directory
A library named TM1637-1.2.0 already exists
با سلام و احترام
اخطار اعلام شده نشان می دهد کتابخانه TM1637 در نرم افزار آردوینو نصب نشده است. لطفا مطابق توضیحات درج شده در پروژه اقدام به نصب کتابخانه در نرم افزار آردوینو نمایید.
با عرض سلام و خسته نباشید لطفا اگر میشه به صورت یک ویدئو این پرژه را انجام دهید تا متوجه شویم ممنون