ویژگی های نمایشگر TM1637
ماژول سون سگمنت 4 رقمی همراه با درایورTM1637، می تواند انواع خروجی های مدنظر شما را نمایش دهد. این ماژول تنها از دو پین SCL و SDA برای ارتباط با میکروکنترلر استفاده میکند. تراشه ی این ماژول از قابلیت اسکن کی پد 2*8 نیز پشتیبانی میکند. از دیگر ویژگی های این ماژول، قابلیت تنظیم نور پیش زمینه ی نمایشگر در 8 حالت مختلف است. همچنین ولتاژ کاری این ماژول بین 3.5 تا 5 ولت است.
در ادامه می توانید دیتاشیت درایور TM1637 را دانلود کنید.
TM1637 Datasheet
معرفی پایه های (Pinout) نمایشگر TM1637
نمایشگر TM1637 دارای 4 پایه به شرح زیر است:
• VCC: تغذیه نمایشگر (3.3 تا 5.5 ولت)
• GND: زمین
• SLC: همزمان سازی دیتا
• SDA: اطلاعات دیتا
پین اوت (Pinout) این نمایشگر را می توانید در تصویر زیر مشاهده کنید.
لوازمی که به آن احتیاج دارید
قطعات مورد نیاز
راه اندازی ماژول نمایشگر TM1637 با آردوینو
گام اول: سیم بندی
مطابق شکل زیر، ماژول را به آردوینو وصل کنید.
گام دوم: کتابخانه
ابتدا این کتابخانه را بر روی آردوینوی خود نصب کنید.
گام سوم: کد
کد زیر را بر روی بُرد آردوینوی خود آپلود کنید.
/**
* @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);
}
این کد جهت تست نمایشگر، دو عدد و دو کلمه انگلیسی را نمایش می دهد.