AWTRIX2.0像素时钟很炫酷但必须要与服务器配合使用。这个库可以做自己的点阵时钟离线版。想怎么玩就怎么玩不受服务器牵绊。
第一步:下载mixy库然后倒入,必须有以下库文件: Adafruit_GFX FastLED FastLED_NeoMatrix TomThumb
#include <LightDependentResistor.h>//LDR光敏电阻
#include <Adafruit_GFX.h>
#include <FastLED.h>
#include <FastLED_NeoMatrix.h>
#include <Fonts/TomThumb.h> //字体库
特别说明TomThumb 字体必须用下载包里的字体,用原Adafruit_GFX字体效果很难看。

上测试时效果图:

需要的硬件:
WS2812软点阵屏 32X8 256灯珠。

以上全部齐全后即可开整!先看库使用程序图。一看即懂。
垂直线:

水平线

画空心矩形

显示效果

简单NTP时钟演示程序图

代码:
#include <LightDependentResistor.h>
#include <ESP8266WiFi.h>
#include <TimeLib.h>
#include <NtpClientLib.h>
#include <Adafruit_GFX.h>
#include <FastLED.h>
#include <FastLED_NeoMatrix.h>
#include <Fonts/TomThumb.h>
volatile int texiao;
String lnnmonth;
String lnnday;
String huor;
String feng;
String seconds;
volatile int ldrbr;
int8_t timeZone = 8;
const PROGMEM char *ntpServer = "ntp1.aliyun.com";
volatile int item;
LightDependentResistor myldr(A0,1000,LightDependentResistor::GL5516);
CRGB leds[256];
FastLED_NeoMatrix *matrix;
void sysloop() {
matrix->setTextColor(matrix->Color(0,200,160));
matrix->setCursor(0,6);
matrix->print(String(String(huor) + String(":")) + String(feng));
matrix->setCursor(18,8);
matrix->print(".......");
matrix->setTextColor(matrix->Color(0,200,160));
matrix->setCursor(25,6);
matrix->print(lnnday);
switch (NTP.getDateWeekday()) {
case 1:
matrix->setTextColor(matrix->Color(50,255,50));
matrix->setCursor(18,8);
matrix->print(".");
matrix->show();
break;
case 2:
matrix->setTextColor(matrix->Color(50,255,50));
matrix->setCursor(20,8);
matrix->print(".");
matrix->show();
break;
case 3:
matrix->setTextColor(matrix->Color(50,255,50));
matrix->setCursor(22,8);
matrix->print(".");
matrix->show();
break;
case 4:
matrix->setTextColor(matrix->Color(50,255,50));
matrix->setCursor(24,8);
matrix->print(".");
matrix->show();
break

本文介绍如何利用WS2812软点阵屏制作一款炫酷的离线像素时钟,包括所需硬件、软件库及详细代码实现。
最低0.47元/天 解锁文章
695

被折叠的 条评论
为什么被折叠?



