راه اندازی ساعت دیجیتال با آردوینو و ماژول سون سگمنت
سون سگمنت (Seven Segment Display ) یا همان SSD ها یکی از ارزان ترین ، پر کاربردترین و راحت ترین قطعات الکترونیکی هستند که به عنوان قطعات نمایشگرها مورد استفاده قرار می گیرند. علت اصلی نام گذاری این محصول این است که این قطعه از 7 قسمت تشکیل شده است .
این قطعات همان ال ای دی ها هستند که به صورت منظمی در کنار هم قرار کرفته اند. اگر در ساختار سون سگمنت ها دقت کنید یک نقطه کوچک هم می بینید که برای نمایش ممیز استفاده می شود. با مدیریت صحیح در روشن شدن هر کدام از این ال ای دی ها می توان عدد مورد نظر خود را در یک سون سگمنت ایجاد کرد و نمایش داد.
سون سگمنت ها بر اساس تعداد کاراکتر، ابعاد و شیوه ی اتصال ۷ ال ای دی (کاتد مشترک یا آند مشترک) دسته بندی می شوند.
یکی از مشکلات در راه اندازی سون سگمنت ها تعدا پایه های زیاد آن ها می باشد. به طور معمول هر بلوک ۱۰ پایه اشغال می کند. برای حل این مشکل از مبدل های سریال نمایشگری استفاده می کنیم.
در این پروژه ما از ماژول سگمنت 4 تایی استفاده میکنیم :
در حالت عادی برای راه اندازی سون سگمنت 4کاناله به روش مولتی پلکس به12پین نیاز دارید ولی با استفاده از ماژول سگمنت 4 تایی می توانید تنها با دو پین و با استفاده از پروتکل I2C اقدام به راه اندازی 4 سون سگمنت کنید.
تراشه مورد استفاده در این ماژول TM1637بوده که قادر به پشتیبانی از سون سگمنت ها آند مشترک است. ولتاژ کاری این ماژول 3.3~5V بوده که در ولتاژ5V حداکثر جریان 80 میلی آمپر می کشد.
پایهDIO پایه خروجی دیتا و پایهCLK به منظور تنظیم کلاک است.
مشخصات فنی :
- ولتاژ کاری : 3.3-5 ولت
- حداکثر جریان :80mA
- رابط : I2C
اتصال به آردوینو UNO
پایه ی VCC رو به پایه ی 3.3 ولت آردوینو UNO وصل میکنیم.
پایه GND رو به زمین یا پین GND آردوینو UNO وصل میکنیم.
پایه DIO رو به پایه 2 آردوینو UNO وصل میکنیم.
پایه ی CLK رو به پبن شماره ی 3 وصل میکنیم.
جهت دانلود کتابخانه مورد استفاده در این پروژه میتوانید به صفحه محصول وارد شده و استفاده نمائید :
آموزش اضافه کردن کتابخانه در آردوینو :
#include "SevenSegmentTM1637.h" #include "SevenSegmentExtended.h" const byte PIN_CLK = 3; // define CLK pin (any digital pin) const byte PIN_DIO = 2; // define DIO pin (any digital pin) SevenSegmentExtended display(PIN_CLK, PIN_DIO); const unsigned int clockSpeed = 0; void setup() { Serial.begin(9600); // initializes the Serial connection @ 9600 baud display.begin(); // initializes the display display.setBacklight(100); // set the brightness to 100 % delay(1000); // wait 1000 ms }; void loop() { byte hours = 9; // initialize hours byte minutes = 21; // initialize minutes for ( ; hours < 24; hours++) { // count hours up to 24 for ( ; minutes < 60; minutes++) { // count minutes up to 59 display.printTime(hours, minutes, true); // display time delay(6000 / clockSpeed); // clock delay ms }; minutes = 0; // reset minutes };
در قسمت LOOP میتوانیم شروع زمان را نسبت به زمان انجام کارم تغییر دهیم، برای اینکار در قسمت Hours ساعت مورد نظر و در قسمت Minutes دقیقه را وارد نمایید.
تایم مورد نظر من از 9:55 شروع شده و مثل یک ساعت دقیق به جلو خواهد رفت .
اگر در مراحل راه اندازی و انجام پروژه با مشکل روبرو شدید میتوانید در صفحه مربوط به این پروژه در انجمن تخصصی برق و الکترونیک ECA سوال خود را مطرح کنید تا توسط کاربران عزیز به جواب مورد نظر برسید.
سلام این کد آردوینو موقع کامپایل ارور میده . کداش اشتباهن؟
این ارور رو میده
Arduino: 1.8.5 (Windows 10), Board: “Arduino/Genuino Uno”
C:\Users\Asus\Desktop\111\111.ino: In function ‘void loop()’:
C:\Users\Asus\Desktop\111\111.ino:28:18: warning: division by zero [-Wdiv-by-zero]
delay(6000 / clockSpeed); // clock delay ms
^
111:31: error: expected ‘}’ at end of input
};
^
exit status 1
expected ‘}’ at end of input
This report would have more information with
“Show verbose output during compilation”
option enabled in File -> Preferences.
خط اخر کد ارور میده لطفا تصحیح کنید
در ضمن شما میتوانستید کتابخانه رو همین جا قرار دهید . شما نه اسمی از کتابخونه بردید که چی هست اصلا نه هیچ چیز دیگه ای . وارد صفحه محصولم میشی هیچی نداره که کتابخونه رو دانلود کنی . لطفا اسمشو بگید بنده دانلود کنم که پروژم عقب نیفته ممنون
خط آخر کد مشکل داره
با سلام من پروژه را اجرایی کردم ولی در واقعیت و نه در داخل برنامه پروتئوس درست کار نمیکند و ساعت همان که تعریف کردیم ثابت میماند لطف میکنید راهنمایی فرمایید
در کنار محصول کتابخانه دیگری هست و با این کتابخانه هماهنگی ندارد