8 8 led 矩阵和arduino拼在一起

大家来看看这个,8×8 LED矩阵和Arduino拼在一起,搞出个能实时切换温度的动态时钟。只要把它们连在面包板上,不用焊接,插上跳线就能用。DS3231这块高精度时钟芯片能搞定时间和温度,数据直接传给Arduino。咱们来盘点下都需要啥:一块Arduino UNO R3、一块带MAX7219的LED矩阵、一块RTC DS3231,还有面包板和电源适配器。这次的主角是DS3231,它内置了高精度晶振和温度传感器,能给Arduino提供摄氏和华氏两种温度读数。给MAX7219通电,它就能驱动64颗LED灯,跟Arduino连接特别简单。再说说Arduino UNO R3,这可是入门神器,有14位数字I/O和6路PWM输出,运行速度高达16 MHz,适合新手上手。这次我把所有模块的地线都连在同一排,避免出现漂浮问题。时钟线是DS3231的SO接到MAX7219的DIN,SCLK对SCLK,CE对CE。电源这块儿给它们共用电,要是电流吃紧就加个限流电阻分压。程序逻辑是每秒切换显示内容,利用滚动特性把时间、日期、温度依次推出来。 这次是用分时复用的办法让矩阵“轮播”信息:时间占两行显示“HMSDMY”,下面两行显示“ºC/ºF Weekday”。利用DS3231的alarm功能定时刷新数据,保证温度读数与当前时刻同步。具体步骤是先初始化MAX7219和DS3231,再设置滚动速度,然后在循环里读取温度、时间、日期分两行输出,用delay()做节拍器保证每秒切屏。 通电后矩阵先自检一下亮方格,接着进入时间模式:上面两行依次出现HMSDMY,下面两行滚动显示“ºC/ºF Sun”。轻触按键就能切换华氏和摄氏显示。如果长时间没人操作,模块会进入低功耗待机状态电流降到5毫安左右。 如果想拓展玩法的话可以加装按钮让用户校时校温;把矩阵换成64×32高密度板做更复杂的动画时钟;或者把DS3231换成温度变送器接入更精密的环境监测系统。代码上传好插上跳线点亮LED——一个会说话的时间板就做好了。