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

فهرست مطالب

ویژگی های نمایشگر TM1637

ماژول سون سگمنت 4 رقمی همراه با درایورTM1637، می تواند انواع خروجی های مدنظر شما را نمایش دهد. این ماژول تنها از دو پین SCL و SDA برای ارتباط با میکروکنترلر استفاده می‌کند. تراشه ی این ماژول از قابلیت اسکن کی پد 2*8 نیز پشتیبانی میکند. از دیگر ویژگی های این ماژول، قابلیت تنظیم نور پیش زمینه ی نمایشگر در 8 حالت مختلف است. همچنین ولتاژ کاری این ماژول بین 3.5 تا 5 ولت است.

TM1637 Display Module

در ادامه می توانید دیتاشیت درایور TM1637 را دانلود کنید.

معرفی پایه های (Pinout) نمایشگر TM1637

نمایشگر TM1637 دارای 4 پایه به شرح زیر است:
VCC: تغذیه نمایشگر (3.3 تا 5.5 ولت)
GND: زمین
SLC: همزمان سازی دیتا
SDA: اطلاعات دیتا
پین اوت (Pinout) این نمایشگر را می توانید در تصویر زیر مشاهده کنید.

TM1637 Pinout

لوازمی که به آن احتیاج دارید

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

Arduino UNO R3 × 1
TM1637 4-Digit 7-Segment Display × 1
Female-to-Male Jumper Wire × 1

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

گام اول: سیم بندی

مطابق شکل زیر، ماژول را به آردوینو وصل کنید.

TM1637 Interface Circuit

گام دوم: کتابخانه

ابتدا این کتابخانه را بر روی آردوینوی خود نصب کنید.

گام سوم: کد

کد زیر را بر روی بُرد آردوینوی خود آپلود کنید.

/**
 * @file basic.ino
 * @ingroup examples
 * @brief Basic library usage example
 *
 * This example shows how to display different types of values on the display.
 */

/**
 *
 * Visit https://github.com/AKJ7/TM1637/ for more info
 *
 * API
 * class TM1637 {
 public:
 static constexpr uint8_t TOTAL_DIGITS = 4;
 TM1637(uint8_t clkPin, uint8_t dataPin) noexcept;
 TM1637(const TM1637&) = delete;
 TM1637& operator=(const TM1637&) = delete;
 ~TM1637() = default;
 void begin();
 inline void init();
 inline Animator* refresh();
 template <typename T>
 typename type_traits::enable_if<
 type_traits::is_string<T>::value ||
 type_traits::is_floating_point<T>::value ||
 type_traits::is_integral<T>::value,
 Animator*>::type
 display(const T value, bool overflow = true, bool pad = false, uint8_t offset = 0);
 Animator* displayRawBytes(const uint8_t* buffer, size_t size);
 void offMode() const noexcept;
 void onMode() const noexcept;
 inline void colonOff() noexcept;
 inline void colonOn() noexcept;
 inline Animator* switchColon() noexcept;
 void clearScreen() noexcept;
 inline void setDp(uint8_t value) noexcept;
 inline uint8_t getBrightness() const noexcept;
 void changeBrightness(uint8_t value) noexcept;
 void setBrightness(uint8_t value) noexcept;
 };

 class Animator
 {
 Animator(uint8_t clkPin, uint8_t dataPin, uint8_t totalDigits);
 void blink(Tasker::duration_type delay);
 void fadeOut(Tasker::duration_type delay);
 void fadeIn(Tasker::duration_type delay);
 void scrollLeft(Tasker::duration_type delay);
 void off() const;
 void on(DisplayControl_e brightness) const;
 void reset(const String& value);
 void clear();
 void refresh();
 }

 struct DisplayDigit
 {
 DisplayDigit& setA();
 DisplayDigit& setB();
 DisplayDigit& setC();
 DisplayDigit& setD();
 DisplayDigit& setE();
 DisplayDigit& setF();
 DisplayDigit& setG();
 DisplayDigit& setDot();
 operator uint8_t();
 }
 */

#include <TM1637.h>


// Instantiation and pins configuration
// Pin 3 - > DIO
// Pin 2 - > CLK
TM1637 tm(2, 3);

void setup()
{
 tm.begin();
 tm.setBrightness(4);
}

void loop()
{
 // Display Integers:
 tm.display(1234);
// delay(1000);
//
// // Display float:
// tm.display(29.65);
// delay(1000);
//
// // Display String:
// tm.display("PLAY");
// delay(1000);
// tm.display("STOP");
// delay(1000);
}

این کد جهت تست نمایشگر، دو عدد و دو کلمه انگلیسی را نمایش می دهد.

آموزش های مشابه

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

نشانی ایمیل شما منتشر نخواهد شد.