آموزش راه اندازی ماژول سون سگمنت TM1637 با آردوینو

آموزش راه اندازی ماژول سون سگمنت TM1637 با آردوینو

در این مقاله راه اندازی ماژول سون سگمنت TM1637 با آردوینو را گام به گام به شما آموزش خواهیم داد.

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

اما اگر بتوانید بدون این همه سیم کشی، یک نمایشگر سون سگمنت 4 رقمی را کنترل کنید، دیگر نیازی نیست نگران نبود فضا برای سایر ماژول هایتان باشید! خوشبختانه این کار با پیدایش ماژول TM1637 امکان پذیر شده است. زیرا این ماژول تنها چهار پایه دارد. دو پایه برای تغذیه و دو پایه برای کنترل سگمنت‌ها است.

در ادامه شما را بیشتر با این ماژول آشنا خواهیم کرد.

آشنایی با نمایشگر سون سگمنت

نمایشگرهای سون سگمنت‌ شامل 7 عدد LED می‌شوند و به شکل عدد 8 هستند. به هر کدام از این LEDها، سگمنت گفته می‌شود، زیرا با روشن شدن هر کدام از آن‌ها بخشی از یک عدد هگز یا دسیمال شکل می‌گیرد.

نمایشگر سون سگمنت که به شکل عدد 8 است و 7 ال ای دی دارد.


هر سگمنت با حروف A تا G نامگذاری شده است و نشانگر هر LED است. با قرار دادن هر سگمنت در وضعیت 0 یا 1 منطقی، کاراکتر مورد نظر تولید می‌شود.

روشن یا خاموش شدن سگمنت‌ها پس از قرار دادن هر کدام از آن‌ها در وضعیت 0 یا 1 منطقی


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

نگاهی به سخت افزار ماژول سون سگمنت  TM1637

قبل از اینکه راه اندازی ماژول سون سگمنت TM1637  با آردوینو را شروع کنیم، لازم است سخت افزار این ماژول را بررسی کنیم. در هسته مرکزی این ماژول، یک درایور LED سریال ارزان قیمت وجود دارد که ساخت شرکت Tintan MicroElectronic-TM1637 است.

درایور LED سریال در هسته مرکزی ماژول سون سگمنت TM1637


ماژول TM1637 عملیات‌های گوناگونی را پشتیبانی می‌کند، مانند روشن و خاموش کردن، کنترل روشنایی LEDها و دسترسی به هر سگمنت. البته این ماژول امکان تنظیم شدت نور LEDها در سطح نرم‌افزار را هم برای شما فراهم می‌‎کند. نکته مثبت دیگر در مورد این ماژول این است که با به‌روزرسانی نمایشگر، باعث کاهش حجم کار میکروکنترلر می‌شود و به این ترتیب، میکروکنترلر می‌تواند به انجام فعالیت‌های مهم‌تری بپردازد.

وجود دو نقطه یا کلون در ماژول سون سگمنت 4 رقمی TM1637 برای پروژه‌های مبتنی بر ساعت یا تایمر


ماژول TM1637 شامل 4 عدد سون سگمنت 0.36 اینچی است که به منظور نمایش دما و داده‌های سنسور مورد استفاده قرار می‌گیرد. علاوه بر 4 عدد سون سگمنت، در میانه این ماژول یک نشانه دو نقطه یا کولون (:) قرار دارد که ساخت پروژه‌هایی مبتنی بر ساعت یا تایمر را آسان می‌کند.

این ماژول با ولتاژ 3.3V تا 5V تغذیه می‌شود و از یک باس دو سیمه برای تبادل داده استفاده می‌کند. بنابراین، علاوه بر پایه‌های VCC و GND، تنها به دو پایه دیگر نیاز دارد. اما شاید تصور کنید که تبادل داده تنها با دو سیم دشوار خواهد بود. اما خوشبختانه، آردوینو کتابخانه‌هایی دارد که می‌تواند از پیچیدگی‌های کار کم کند و ارتباط با نمایشگر را آسان‌تر کند.

پایه‌های ماژول سون سگمنت 4 رقمی TM1637

بر روی این ماژول 4 پایه هدر رایت نری برای برقراری اتصالات پایه‌ها قرار گرفته است. این پایه‌ها عبارت اند از:

پایه‌های ماژول سون سگمنت TM1637

CLK : پایه ورودی کلاک است که می‌تواند به هر پایه دیجیتال آردوینو متصل شود.

DIO : پایه داده ورودی / خروجی است که می‌‍تواند به هر کدام از پایه‌های دیجتال آردوینو متصل شود.

VCC : پایه تغذیه است و به ولتاژ 3.3V تا 5V وصل می‌شود.

GND : پایه زمین است.

سیم کشی – راه اندازی ماژول سون سگمنت TM1637 با آردوینو

راه اندازی ماژول سون سگمنت 4 رقمی TM1637  با آردوینو بسیار ساده است. تنها لازم است 4 سیم را متصل کنید. 2 سیم برای تغذیه و 2 سیم برای کنترل نمایشگر. برای این که بتوانید همین الان راه اندازی این ماژول را آغاز کنید، به قطعات زیر نیاز خواهید داشت:

این ماژول از ولتاژ 5V خروجی برد آردوینو تغذیه می‌شود. پایه‌های CLK و DIO به ترتیب به پایه‌های دیجیتال 2 و 3 آردوینو متصل می‌شوند. در شکل زیر می‌توانید نتیجه نهایی اتصال ماژول TM1637 به آردوینو را مشاهده کنید:

نحوه سیم‌کشی ماژول سون سگمنت TM1637 به آردوینو

نتیجه نهایی اتصال ماژول TM1637 به آردوینو


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

نصب کتابخانه

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

این کتابخانه را می‌توانید از طریق لینک زیر دانلود کنید:

Title of the document دانلود کتابخانه TM1637Display


پس از دانلود کتابخانه، مسیر زیر را در نرم افزار آردوینو دنبال کنید:

Sketch > Include Library > Manage Libraries…

مسیر دسترسی به کتابخانه TM1637Display در نرم افزار آردوینو


سپس، در قسمت جستجو عبارت ‘tm1637’ را تایپ کنید و کتابخانه ای را که ساخت Avishay Orpaz است، پیدا کنید. در نهایت بر روی گزینه install کلیک کنید تا کتابخانه نصب شود. 

جستجو کلمه tm1637 در Library manager و نصب کتابخانه TM1637Display

کد آردوینو

در ادامه یک کد آزمایشی وجود دارد که چیزهای معمول مانند ارقام، دما، کلمه و … را بر روی نمایشگر نشان می‌دهد. این کد را بر روی آردوینو بارگذاری کنید:

// Include the library
#include <TM1637Display.h>

// Define the connections pins
#define CLK 3
#define DIO 4

// Create a display object of type TM1637Display
TM1637Display display = TM1637Display(CLK, DIO);

// Create an array that turns all segments ON
const uint8_t allON[] = {0xff, 0xff, 0xff, 0xff};

// Create an array that turns all segments OFF
const uint8_t allOFF[] = {0x00, 0x00, 0x00, 0x00};

// Create an array that sets individual segments per digit to display the word "dOnE"
const uint8_t done[] = {
  SEG_B | SEG_C | SEG_D | SEG_E | SEG_G,           // d
  SEG_A | SEG_B | SEG_C | SEG_D | SEG_E | SEG_F,   // O
  SEG_C | SEG_E | SEG_G,                           // n
  SEG_A | SEG_D | SEG_E | SEG_F | SEG_G            // E
};

// Create degree celsius symbol
const uint8_t celsius[] = {
  SEG_A | SEG_B | SEG_F | SEG_G,  // Degree symbol
  SEG_A | SEG_D | SEG_E | SEG_F   // C
};

void setup() {

}

void loop() {
	// Set the brightness to 5 (0=dimmest 7=brightest)
	display.setBrightness(5);

	// Set all segments ON
	display.setSegments(allON);

	delay(2000);
	display.clear();

	// Show counter 0-9
	int i;
	for (i = 0; i < 10; i++) {
		display.showNumberDec(i);
		delay(50);
	}

	delay(2000);
	display.clear();

	display.showNumberDec(-12);			// Prints _-12
	delay(2000);
	display.clear();
	
	display.showNumberDec(-999);		// Prints -999
	delay(2000);
	display.clear();
	
	display.showNumberDec(31, false);	// Prints __31
	delay(2000);
	display.clear();
	
	display.showNumberDec(31, true);	// Prints 0031
	delay(2000);
	display.clear();
	
	display.showNumberDec(14, false, 2, 1);	// Prints _14_
	delay(2000);
	display.clear();
	
	display.showNumberDec(-5, false, 3, 0);	// Prints _-5_
	delay(2000);
	display.clear();

	// Prints 12:34
	display.showNumberDecEx(1234, 0b11100000, false, 4, 0);

	delay(2000);
	display.clear();

	// Prints 15°C
	int temperature = 15;
	display.showNumberDec(temperature, false, 2, 0);
	display.setSegments(celsius, 2, 2);

	delay(2000);
	display.clear();
	
	// Prints dOnE
	display.setSegments(done);

	while(1);
}

توضیح کد

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

#include <TM1637Display.h>

#define CLK 3
#define DIO 4

سپس، یک کلاس نمایشگر TM1637 با استفاده از تابع ()TM1637Display ساخته می‌شود. این تابع به دو پارامتر نیاز دارد. اولین پارامتر، پایه CLK و دومین پارامتر، پایه DIO است.

TM1637Display display = TM1637Display(CLK, DIO);

دو روش برای تنظیم هر کدام از سگمنت‌های نمایشگر وجود دارد. پیش از بخش setup دستورات، چندین آرایه تعریف می‌شود که هر یک از سگمنت‌های نمایشگر را تنظیم می‌کند. برای اینکه بتوانید این سگمنت‌ها را روشن کنید، باید از تابع ()setSegments استفاده کنید.

اولین روش برای راه‌اندازی سگمنت‌ها، استفاده از اعداد مبنای 16 است. عدد 0xFF در مبنای 16 معادل عدد 11111111 در مبنای 2 است که باعث روشن شدن همه سگمنت‌ها می‌شود. به عنوان مثال، 0xEF که معادل 11101111 است، همه سگمنت‌ها بجز سگمنت E را روشن می‌کند، در حالی که 0x00 همه سگمنت‌ها را خاموش خواهد کرد.

البته به این نکته توجه داشته باشید که شمارش از راست به چپ انجام می‌‎شود، بنابراین 11111111 به ترتیب با سگمنت (dot)GFEDCBA منطبق است.

// Create an array that turns all segments ON
const uint8_t allON[] = {0xff, 0xff, 0xff, 0xff};

// Create an array that turns all segments OFF
const uint8_t allOFF[] = {0x00, 0x00, 0x00, 0x00};

روش دوم برای روشن کردن سگمنت‌ها، مشخص کردن سگمنت‌هایی است که می‌خواهید روشن شوند. این روش کمی آسان‌تر از روش قبلی است. همان‌طور که در کد زیر مشاهده می‌کنید، بخش اول آن، کلمه “dOnE” را بر روی نمایشگر نشان می‌دهد، در حالی‌که بخش دوم کد، کاراکتر “°C” را نمایش می‌دهد.

// Create an array that sets individual segments per digit to display the word "dOnE"
const uint8_t done[] = {
  SEG_B | SEG_C | SEG_D | SEG_E | SEG_G,           // d
  SEG_A | SEG_B | SEG_C | SEG_D | SEG_E | SEG_F,   // O
  SEG_C | SEG_E | SEG_G,                           // n
  SEG_A | SEG_D | SEG_E | SEG_F | SEG_G            // E
};

// Create °C symbol
const uint8_t celsius[] = {
  SEG_A | SEG_B | SEG_F | SEG_G,	// °
  SEG_A | SEG_D | SEG_E | SEG_F		// C
};

از آنجایی که در این روش هیچ چیزی برای تنظیم کردن وجود ندارد. پس بخش ()setup را خالی قرار دهید.

void setup() {
}

در بخش loop کد، از توابع کتابخانه‌ای بیشتری استفاده کردیم که در ادامه به آن می‌پردازیم.

setBrightness(brightness,on)

از این تابع برای تنظیم روشنایی نمایشگر استفاده می‌شود. شما می‌توانید سطح روشنایی را از 0 (کمترین حد روشنایی) تا 7 (بیشترین حد روشنایی) مشخص کنید. آرگومان دوم اختیاری است و می‌توان از آن برای خاموش یا روشن کردن نمایشگر استفاده کرد. شما می‌توانید آن را برابر با ‘true’ یعنی نمایشگر روشن یا ‘false’ یعنی نمایشگر خاموش قرار دهید.

به عنوان مثال، دستور display.setBrightness(5) روشنایی را روی 5 تنظیم می‌کند و دستور display.setBrightness(5, false) نمایشگر را خاموش می‌کند.

setSegments(segments[],length,position)

از تابع setSegments(segments[],length,position) برای تنظیم هر یک از سگمنت‌های نمایشگر به طور مجزا استفاده می‌شود. اولین آرگومان ([]segments) آرایه‌ای است که شامل اطلاعات سگمنت می‌شود. دومین آرگومان (length) تعداد ارقام (0-4) را که باید به‌روزرسانی شوند، تعیین می‌کند. اگر می‌‎خواهید کلمه “dOnE” را روی نمایشگر نشان دهید، آرگومان دوم برابر با 4 و برای نمایش علامت “°C”، مقدار این آرگومان برابر با 2 خواهد بود. آرگومان سوم (position) محلی را که باید از آنجا مقدار نمایشگر چاپ شود، تعیین می‌کند (0- سمت چپ‌ترین و 3- سمت راست‌ترین).  

به این نکته دقت کنید که آرگومان دوم و سوم این تابع اختیاری است. بنابراین اگر می‌خواهید همه ارقام نمایشگر را به‌روزرسانی کنید، می‌توانید این آرگومان‌ها را خالی بگذارید. به عنوان مثال، کد زیر ابتدا همه سگمنت‌ها را روشن می‌کند و سپس کلمه “dOnE” را نمایش می‌دهد.

// Set all segments ON
display.setSegments(allON);

// Prints dOnE
display.setSegments(done);

با این حال، اگر می‌خواهید تنها دو رقم آخر نمایشگر را برای نشان دادن علامت “°C” به‌روزرسانی کنید، از کد زیر استفاده کنید.

// Prints __°C
display.setSegments(celsius, 2, 2);

showNumberDec(number,leading_zeros,length,position)

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

به عنوان مثال، کد زیر از 0 تا 9 را شمارش می‌کند و سپس ارقام 12- و 999- را بر روی نمایشگر نشان می‌دهد.

// Show counter 0-9
int i;
for (i = 0; i < 10; i++) {
	display.showNumberDec(i);
	delay(50);
}

display.showNumberDec(-12);			// Prints _-12

display.showNumberDec(-999);		// Prints -999

آرگومان دوم را می‌توانید برای نمایش عدد با صفرهای قبل از آن استفاده کنید. اگر این آرگومان برابر با ‘true’ باشد، به قبل از عدد، صفر اضافه می‎شود، اما اگر این آرگومان برابر با ‘false’ باشد، تنها خود عدد بر روی نمایشگر نشان داده خواهد شد. مانند مثال زیر:

display.showNumberDec(31, false);	// Prints __31

display.showNumberDec(31, true);	// Prints 0031

آرگومان سوم و چهارم (length و position) مانند تابع قبلی عمل می‌کند. length تعداد ارقام را تعیین می‌کند که مقداری بین 0 تا 4 است. position محلی را که باید از آنجا ارقام نمایشگر نشان داده شوند، تعیین می‌کند (0- سمت چپ‌ترین و 3- سمت راست‌ترین).

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

display.showNumberDec(14, false, 2, 1);	// Prints _14_

display.showNumberDec(-5, false, 3, 0);	// Prints _-5_

showNumberDecEx(number,dots,leading_zeros,length,position)

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

مقادیری که می‌توانید برای نمایش ممیز یا نقطه روی نمایشگر TM1637 استفاده کنید:

مثالنقطه‌هاآرگومان
1.234⌷.⌷⌷⌷0b10000000
12.34⌷⌷.⌷⌷0b01000000
123.4⌷⌷⌷.⌷0b00100000
1.2.3.4⌷.⌷.⌷.⌷0b11100000


برای نمایش دو نقطه روی نمایشگر TM1637 از مقادیر زیر استفاده کنید:

مثالنقطه‌هاآرگومان
12:34⌷⌷.⌷⌷0b01000000


برای نمایش نقطه و دونقطه روی نمایشگر TM1637 به این شکل عمل کنید:

مثالنقطه‌هاآرگومان
1.2:3.4⌷.⌷:⌷.⌷0b11100000


برای نمایش ساعت که دو نقطه در مرکز آن فعال است، می‌توانید از دستوری مانند زیر استفاده کنید:

// Prints 12:34
display.showNumberDecEx(1234, 0b11100000, false, 4, 0);

پروژه آردوینو- ساخت دماسنج با  ماژول TM1637 و سنسورهای DHT11/DHT22

بهترین کاربرد نمایشگر سون سگمنت TM1637، امکان نمایش داده‌های به‌ دست آمده از سنسورهای مانند دما، رطوبت، ولتاژ و سرعت است. در اینجا پروژه‌ای را برای شما فراهم کرده‌ایم که با انجام آن می‌توانید میزان دما از سنسورهای DHT11-DHT22 را بر روی نمایشگر سون سگمنت TM1637 نشان دهید. برای اضافه کردن سنسور به پروژه خود به قطعات زیر نیاز خواهد داشت:

برای آشنایی با ماژول DHT11/DHT22 و نحوه راه اندازی آن با آردوینو می‌توانید به مقاله زیر مراجعه کنید:

آموزش راه اندازی ماژول سنسور DHT11 و DHT22 با استفاده از آردوینو


آموزش راه اندازی ماژول سنسور DHT11-DHT22 با استفاده از آردوینو

تصویر زیر به شما نشان می‌دهد که چگونه می‌توانید سنسورهای DHT11/DHT22 را به آردوینو و نمایشگر TM1637 متصل کنید.

نحوه سیم‌کشی ماژول سون سگمنت TM1637 به سنسورهای DHT11/DHT22 و آردوینو

نتیجه نهایی اتصال سنسور‌های DHT11/DHT22 به آردوینو و نمایشگر سون سگمنت TM1637

 
کد زیر، مقدار دمای اندازه‌گیری شده توسط سنسورهای DHT11/DHT22 را روی نمایشگر نشان می‌دهد. دما با فاصله زمانی 2 ثانیه، بر حسب سلسیوس و فارنهایت نمایش داده می‌شود. این کد از کتابخانه‌های  Adafruit DHT sensor  و  Adafruit Unified Sensor استفاده می‌کند، بنابراین حتما این دو کتابخانه را نصب کنید.

// Include the libraries
#include <TM1637Display.h>
#include <Adafruit_Sensor.h>
#include <DHT.h>

// Define the connections pins
#define CLK 3
#define DIO 4
#define DHTPIN 5

// Create variable
int temperature_celsius;
int temperature_fahrenheit;

// Create °C symbol
const uint8_t celsius[] = {
	SEG_A | SEG_B | SEG_F | SEG_G,  // Circle
	SEG_A | SEG_D | SEG_E | SEG_F   // C
};

// Create °F symbol
const uint8_t fahrenheit[] = {
	SEG_A | SEG_B | SEG_F | SEG_G,  // Circle
	SEG_A | SEG_E | SEG_F | SEG_G   // F
};

// Uncomment whatever type you're using!
//#define DHTTYPE DHT11   // DHT 11 
#define DHTTYPE DHT22   // DHT 22  (AM2302)

// Create display object of type TM1637Display
TM1637Display display = TM1637Display(CLK, DIO);

// Create dht object of type DHT:
DHT dht = DHT(DHTPIN, DHTTYPE);

void setup() {
	// Set the display brightness (0-7)
	display.setBrightness(5);
	
	// Clear the display
	display.clear();
	
	// Setup sensor
	dht.begin();
}

void loop() {
	// Read the temperature as Celsius and Fahrenheit
	temperature_celsius = dht.readTemperature();
	temperature_fahrenheit = dht.readTemperature(true);

	// Display the temperature in celsius format
	display.showNumberDec(temperature_celsius, false, 2, 0);
	display.setSegments(celsius, 2, 2);
	delay(1000);

	// Display the temperature in fahrenheit format
	display.showNumberDec(temperature_fahrenheit, false, 2, 0);
	display.setSegments(fahrenheit, 2, 2);
	delay(1000);
}

پروژه آردوینو- ساخت ساعت با ماژول TM1637 و DS3231

یکی دیگر از کاربردهای نمایشگر TM1637، راه اندازی آن با ماژول DS3231 RTC به‌منظور ساخت یک ساعت 24 ساعته است. برای انجام این پروژه، علاوه بر سیم جامپر، برد بورد و مقاومت، به ماژول ساعت DS3231 نیاز خواهید داشت.

برای آغاز این پروژه، مطابق تصویر زیر، اتصالات را انجام دهید و به این نکته دقت داشته باشید که اتصالات نمایشگر TM1637 همانند قبل انجام شود.

نحوه سیم‌کشی نمایشگر سون سگمنت TM1637 به ماژول DS3231 و آردوینو

نتیجه نهایی اتصال ماژول سون سگمنت TM1637 به ماژول DS3231 و آردوینو


کد زیر زمان را با فرمت 24 ساعته نمایش می‌دهد. این کد از کتابخانه Adafruit RTC استفاده می‌کند. شما می‌توانید این کتابخانه را از طریق Library Manager در محیط نرم افزار آردوینو نصب کنید. برای این کار کافی است RTClib را جستجو کنید.

// Include the libraries
#include "RTClib.h"
#include <TM1637Display.h>

// Define the connections pins
#define CLK 3
#define DIO 4

// Create rtc and display object
RTC_DS3231 rtc;
TM1637Display display = TM1637Display(CLK, DIO);

void setup() {
	// Begin serial communication
	Serial.begin(9600);

	// Check if RTC is connected correctly
	if (! rtc.begin()) {
		Serial.println("Couldn't find RTC");
		while (1);
	}
	// Check if the RTC lost power and if so, set the time
	if (rtc.lostPower()) {
		Serial.println("RTC lost power, lets set the time!");
		// The following line sets the RTC to the date & time this sketch was compiled:
		rtc.adjust(DateTime(F(__DATE__), F(__TIME__)));
		// This line sets the RTC with an explicit date & time, for example to set
		// January 21, 2014 at 3am you would call:
		//rtc.adjust(DateTime(2014, 1, 21, 3, 0, 0));
	}

	// Set the display brightness (0-7)
	display.setBrightness(5);
	
	// Clear the display
	display.clear();
}

void loop() {
	// Get current date and time
	DateTime now = rtc.now();

	// Create time format to display
	int displaytime = (now.hour() * 100) + now.minute();

	// Display the current time in 24 hour format with leading zeros and a center colon enabled
	display.showNumberDecEx(displaytime, 0b11100000, true);

	delay(1000);
}

مروری بر آنچه یاد گرفتید

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

علاوه بر این، دو پروژه دیگر یعنی ساخت دماسنج با ماژول TM1637 و سنسورهای DHT11/DHT22 و ساخت ساعت با ماژول TM1637 و DS3231 را برای شما فراهم کردیم تا بتوانید به شکل‌های مختلف از این ماژول استفاده کنید.

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

خرید ماژول سون سگمنت TM1637 از فروشگاه اینترنتی روبوایکیو

مقالات مشابه

۸ دیدگاه. Leave new

  • اگه بخوایم ثانیه شمار تا ۶۰ بیشتر نره چه دستوری باید اضافه کنیم؟

    پاسخ
    • سلام مهراد عزیز،
      اگه برای کد آخری که توی مقاله هست منظورتونه که اینجا ثانیه شمار نداریم. ساعت و دقیقه رو نشون دادیم.
      اما اگه کد دیگه ای نوشتید، با یه while میشه یه کاری کرد که ثانیه شمار از ۶۰ بالاتر نره.

      پاسخ
  • سلام وقت بخیر
    من کد را رو آردینو پیاده کردم به منظور نمایش دما با سنسور dht11 و ماژول سون سگمنت ولی دما و رطوبت صفر نشان داده میشه مشکل چیه

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

      پاسخ
  • سلام بعد از دانلود کتابخانه
    کد ها را باید چکار کنم یعنی همه کد های داده شده

    // Include the library

    هم در قسمت set up وهم در paste loop کنم بعد upload بزنم ماژول روشن میشه؟؟
    لطفا راهنماییم کنید کد ها را کجا paste کنم و آیا همه کد ها در یک جا بقیع کد ها برای چی هست که در ادامه آمده

    پاسخ
    • سلام محمدرضای عزیز،
      لطفا به این شکل عمل کن:
      خیلی راحت یک پروژه جدید آردوینو ایجاد کن، کدهایی که در این پروژه جدید به‌صورت پیش‌فرض هست رو با کد مقاله جایگزین کن.
      کد مقاله در بخش «کد آردوینو» هست.
      بعد از این کار، آردوینو رو متصل کن، مدل آردوینو و پورت COM صحیح رو از تب tools مشخص کن و بعدم هم آپلود رو بزن.

      پاسخ
  • سلام اگر بخواهیم از ماژول ds1307 استفاده کجا را باید تغییر بدیم که کار کنه مدار ممنون میشم راهنمایی کنید

    پاسخ

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

Fill out this field
Fill out this field
لطفاً یک نشانی ایمیل معتبر بنویسید.
You need to agree with the terms to proceed

پر بازدید ترین مقالات