女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

使用Arduino的大型實(shí)時(shí)時(shí)鐘的制作

454398 ? 來源:wv ? 2019-10-22 17:36 ? 次閱讀

步驟1:

使用p10 Matrix Display和DS3231 RTC時(shí)鐘

硬件:

Arduino Uno x 1

按鈕(鍵盤)x 4

RTC模塊(DS3231)

P10點(diǎn)矩陣顯示

軟件:

Arduino IDE

DMD 2庫/DMD庫

在此之前,您需要一個(gè)必須在Arduino IDE上安裝的支持庫。要下載上面提到的DMD2庫

步驟2:連接

* Arduino-》 RTC模塊*

A4-》 SDA

A5-》 SCL

VCC-》 5V

GND-》 GND

* Arduino-》 P10 DMD *

D8-》 SCK

D6-》 A

D7- 》 B

D11-》 R

D13-》 CLK

D9-》 OE

第3步:代碼

You can find the sample code below.

//使用Arduino的Chakra Healing Harmonizer

/*訪問Channel以獲得更有趣的信息項(xiàng)目https://www.youtube.com/channel/UCks-9JSnVb22dlqt.。.*/

byte dayOfWeek=4;

byte dayOfMonth=1;#include //SPI.h must be included as DMD is written by SPI (the IDE complains otherwise)

#include //

#include //

#include “Wendy3x5.h”

#include “Wire.h”

#define DS1307_I2C_ADDRESS 0x68int AlarmSetPin = 2;

int SnoozePin = 3;

int Alarm = 4;

int AlarmSet = 0;

int Snooze = 0;

int a,b;

// Convert normal decimal numbers to binary coded decimal

byte decToBcd(byte val)

{

return ( (val/10*16) + (val%10) );

}// Convert binary coded decimal to normal decimal numbers

byte bcdToDec(byte val)

{

return ( (val/16*10) + (val%16) );

}// 1) Sets the date and time on the ds1307

// 2) Starts the clock

// 3) Sets hour mode to 24 hour clock// Assumes you‘re passing in valid numbersvoid setDateDs1307(byte second, // 0-59

byte minute, // 0-59

byte hour, // 1-23

byte dayOfWeek, // 1-7

byte dayOfMonth, // 1-28/29/30/31

byte month, // 1-12

byte year) // 0-99

{

Wire.beginTransmission(DS1307_I2C_ADDRESS);

Wire.write(0);

Wire.write(decToBcd(second)); // 0 to bit 7 starts the clock

Wire.write(decToBcd(minute));

Wire.write(decToBcd(hour));

Wire.write(decToBcd(dayOfWeek));

Wire.write(decToBcd(dayOfMonth));

Wire.write(decToBcd(month));

Wire.write(decToBcd(year));

Wire.write(00010000); // sends 0x10 (hex) 00010000 (binary) to control register - turns on square wave

Wire.endTransmission();

}// Gets the date and time from the ds1307

void getDateDs1307(byte *second,

byte *minute,

byte *hour,

byte *dayOfWeek,

byte *dayOfMonth,

byte *month,

byte *year)

{

// Reset the register pointer

Wire.beginTransmission(DS1307_I2C_ADDRESS);

Wire.write(0);

Wire.endTransmission();

Wire.requestFrom(DS1307_I2C_ADDRESS, 7);

}//Fire up the DMD library as dmd

DMD dmd(1,1);void ScanDMD()

{

dmd.scanDisplayBySPI();

}void setup()

{

byte second, minute, hour, dayOfWeek, dayOfMonth, month, year; //initialize TimerOne’s interrupt/CPU usage used to scan and refresh the display

Timer1.initialize( 5000 ); //period in microseconds to call ScanDMD. Anything longer than 5000 (5ms) and you can see flicker.

Timer1.attachInterrupt( ScanDMD ); //attach the Timer1 interrupt to ScanDMD which goes to dmd.scanDisplayBySPI() //clear/init the DMD pixels held in RAM

dmd.clearScreen( true ); //true is normal (all pixels off), false is negative (all pixels on)

dmd.selectFont(Wendy3x5 ); Wire.begin(); // Change these values to what you want to set your clock to.

// You probably only want to set your clock once and then remove

// the setDateDs1307 call. second = 0;

minute = 35;

hour = 11; // use 24-hour time otherwise day/date calculations will be off

dayOfWeek = 1;

dayOfMonth = 23;

month = 3;

year = 14;

//uncomment the setDateDs1307 call below to set time to intervals above. Remember if you set the time

//you need to uncomment the line below again otherwise the sketch will only stay at the time set.

//setDateDs1307(second, minute, hour, dayOfWeek, dayOfMonth, month, year); pinMode(AlarmSetPin, INPUT_PULLUP);

pinMode(SnoozePin, INPUT_PULLUP);

pinMode(Alarm, OUTPUT);

digitalWrite(Alarm, LOW);

}void drawDay()

// shows day of week

{

byte second, minute, hour, dayOfWeek, dayOfMonth, month, year;

getDateDs1307(&second, &minute, &hour, &dayOfWeek, &dayOfMonth, &month, &year);

switch(dayOfWeek)

{

case 1:

dmd.drawString( 1,0, “Sun,”, 3, GRAPHICS_NORMAL );

break; case 2:

dmd.drawString( 1,0, “Mon,”, 3, GRAPHICS_NORMAL );

break; case 3:

dmd.drawString( 1,0, “Tue,”, 3, GRAPHICS_NORMAL );

break; case 4:

dmd.drawString( 1,0, “Wed,”, 3, GRAPHICS_NORMAL );

break; case 5:

dmd.drawString( 1,0, “Thu,”, 3, GRAPHICS_NORMAL );

break; case 6:

dmd.drawString( 1,0, “Fri,”, 3, GRAPHICS_NORMAL );

break; case 7:

dmd.drawString( 1,0, “Sat,”, 3, GRAPHICS_NORMAL );

break;

}

}void drawDate()

// shows numerical date

{

byte second, minute, hour, dayOfWeek, dayOfMonth, month, year;

getDateDs1307(&second, &minute, &hour, &dayOfWeek, &dayOfMonth, &month, &year);

switch(dayOfMonth)

{

case 1:

dmd.drawString( 20,0, “01”, 2, GRAPHICS_NORMAL );

break;

case 2:

dmd.drawString( 20,0, “02”, 2, GRAPHICS_NORMAL );

break;

case 3:

dmd.drawString( 20,0, “03”, 2, GRAPHICS_NORMAL );

break;

case 4:

dmd.drawString( 20,0, “04”, 2, GRAPHICS_NORMAL );

break;

case 5:

dmd.drawString( 20,0, “05”, 2, GRAPHICS_NORMAL );

break;

case 6:

dmd.drawString( 20,0, “06”, 2, GRAPHICS_NORMAL );

break;

case 7:

dmd.drawString( 20,0, “07”, 2, GRAPHICS_NORMAL );

break;

case 8:

dmd.drawString( 20,0, “08”, 2, GRAPHICS_NORMAL );

break;

case 9:

dmd.drawString( 20,0, “09”, 2, GRAPHICS_NORMAL );

break;

case 10:

dmd.drawString( 20,0, “10”, 2, GRAPHICS_NORMAL );

break;

case 11:

dmd.drawString( 20,0, “11”, 2, GRAPHICS_NORMAL );

break;

case 12:

dmd.drawString( 20,0, “12”, 2, GRAPHICS_NORMAL );

break;

case 13:

dmd.drawString( 20,0, “13”, 2, GRAPHICS_NORMAL );

break;

case 14:

dmd.drawString( 20,0, “14”, 2, GRAPHICS_NORMAL );

break;

case 15:

dmd.drawString( 20,0, “15”, 2, GRAPHICS_NORMAL );

break;

case 16:

dmd.drawString( 20,0, “16”, 2, GRAPHICS_NORMAL );

break;

case 17:

dmd.drawString( 20,0, “17”, 2, GRAPHICS_NORMAL );

break;

case 18:

dmd.drawString( 20,0, “18”, 2, GRAPHICS_NORMAL );

break;

case 19:

dmd.drawString( 20,0, “19”, 2, GRAPHICS_NORMAL );

break;

case 20:

dmd.drawString( 20,0, “20”, 2, GRAPHICS_NORMAL );

break;

case 21:

dmd.drawString( 20,0, “21”, 2, GRAPHICS_NORMAL );

break;

case 22:

dmd.drawString( 20,0, “22”, 2, GRAPHICS_NORMAL );

break;

case 23:

dmd.drawString( 20,0, “23”, 2, GRAPHICS_NORMAL );

break;

case 24:

dmd.drawString( 20,0, “24”, 2, GRAPHICS_NORMAL );

break;

case 25:

dmd.drawString( 20,0, “25”, 2, GRAPHICS_NORMAL );

break;

case 26:

dmd.drawString( 20,0, “26”, 2, GRAPHICS_NORMAL );

break;

case 27:

dmd.drawString( 20,0, “27”, 2, GRAPHICS_NORMAL );

break;

case 28:

dmd.drawString( 20,0, “28”, 2, GRAPHICS_NORMAL );

break;

case 29:

dmd.drawString( 20,0, “29”, 2, GRAPHICS_NORMAL );

break;

case 30:

dmd.drawString( 20,0, “30”, 2, GRAPHICS_NORMAL );

break;

case 31:

dmd.drawString( 20,0, “31”, 2, GRAPHICS_NORMAL );

break;

}

}void drawHour()

// draws the hour hand

{

byte second, minute, hour, dayOfWeek, dayOfMonth, month, year;

getDateDs1307(&second, &minute, &hour, &dayOfWeek, &dayOfMonth, &month, &year);

if (hour》12) //Remove this if command for 24 hour time

{

hour=hour-12; // This is a 12 hour Clock

}

switch(hour)

{

case 1:

dmd.drawString( 0,0, “01”, 2, GRAPHICS_NORMAL );

break;

case 2:

dmd.drawString( 0,0, “02”, 2, GRAPHICS_NORMAL );

break;

case 3:

dmd.drawString( 0,0, “03”, 2, GRAPHICS_NORMAL );

break;

case 4:

dmd.drawString( 0,0, “04”, 2, GRAPHICS_NORMAL );

break;

case 5:

dmd.drawString( 0,0, “05”, 2, GRAPHICS_NORMAL );

break;

case 6:

dmd.drawString( 0,0, “06”, 2, GRAPHICS_NORMAL );

break;

case 7:

dmd.drawString( 0,0, “07”, 2, GRAPHICS_NORMAL );

break;

case 8:

dmd.drawString( 0,0, “08”, 2, GRAPHICS_NORMAL );

break;

case 9:

dmd.drawString( 0,0, “09”, 2, GRAPHICS_NORMAL );

break;

case 10:

dmd.drawString( 0,0, “10”, 2, GRAPHICS_NORMAL );

break;

case 11:

dmd.drawString( 0,0, “11”, 2, GRAPHICS_NORMAL );

break;

case 12:

dmd.drawString( 0,0, “12”, 2, GRAPHICS_NORMAL );

break;

case 13:

dmd.drawString( 0,0, “13”, 2, GRAPHICS_NORMAL );

break;

case 14:

dmd.drawString( 0,0, “14”, 2, GRAPHICS_NORMAL );

break;

case 15:

dmd.drawString( 0,0, “15”, 2, GRAPHICS_NORMAL );

break;

case 16:

dmd.drawString( 0,0, “16”, 2, GRAPHICS_NORMAL );

break;

case 17:

dmd.drawString( 0,0, “17”, 2, GRAPHICS_NORMAL );

break;

case 18:

dmd.drawString( 0,0, “18”, 2, GRAPHICS_NORMAL );

break;

case 19:

dmd.drawString( 0,0, “19”, 2, GRAPHICS_NORMAL );

break;

case 20:

dmd.drawString( 0,0, “20”, 2, GRAPHICS_NORMAL );

break;

case 21:

dmd.drawString( 0,0, “21”, 2, GRAPHICS_NORMAL );

break;

case 22:

dmd.drawString( 0,0, “22”, 2, GRAPHICS_NORMAL );

break;

case 23:

dmd.drawString( 0,0, “23”, 2, GRAPHICS_NORMAL );

break;

case 24:

dmd.drawString( 0,0, “24”, 2, GRAPHICS_NORMAL );

break;

}

}void drawMinute()

{

byte second, minute, hour, dayOfWeek, dayOfMonth, month, year;

getDateDs1307(&second, &minute, &hour, &dayOfWeek, &dayOfMonth, &month, &year);

switch(minute)

{

case 0:

dmd.drawString( 12,0, “00”, 2, GRAPHICS_NORMAL );

break;

case 1:

dmd.drawString( 12,0, “01”, 2, GRAPHICS_NORMAL );

break;

case 2:

dmd.drawString( 12,0, “02”, 2, GRAPHICS_NORMAL );

break;

case 3:

dmd.drawString( 12,0, “03”, 2, GRAPHICS_NORMAL );

break;

case 4:

dmd.drawString( 12,0, “04”, 2, GRAPHICS_NORMAL );

break;

case 5:

dmd.drawString( 12,0, “05”, 2, GRAPHICS_NORMAL );

break;

case 6:

dmd.drawString( 12,0, “06”, 2, GRAPHICS_NORMAL );

break;

case 7:

dmd.drawString( 12,0, “07”, 2, GRAPHICS_NORMAL );

break;

case 8:

dmd.drawString( 12,0, “08”, 2, GRAPHICS_NORMAL );

break;

case 9:

dmd.drawString( 12,0, “09”, 2, GRAPHICS_NORMAL );

break;

case 10:

dmd.drawString( 12,0, “10”, 2, GRAPHICS_NORMAL );

break;

case 11:

dmd.drawString( 12,0, “11”, 2, GRAPHICS_NORMAL );

break;

case 12:

dmd.drawString( 12,0, “12”, 2, GRAPHICS_NORMAL );

break;

case 13:

dmd.drawString( 12,0, “13”, 2, GRAPHICS_NORMAL );

break;

case 14:

dmd.drawString( 12,0, “14”, 2, GRAPHICS_NORMAL );

break;

case 15:

dmd.drawString( 12,0, “15”, 2, GRAPHICS_NORMAL );

break;

case 16:

dmd.drawString( 12,0, “16”, 2, GRAPHICS_NORMAL );

break;

case 17:

dmd.drawString( 12,0, “17”, 2, GRAPHICS_NORMAL );

break;

case 18:

dmd.drawString( 12,0, “18”, 2, GRAPHICS_NORMAL );

break;

case 19:

dmd.drawString( 12,0, “19”, 2, GRAPHICS_NORMAL );

break;

case 20:

dmd.drawString( 12,0, “20”, 2, GRAPHICS_NORMAL );

break;

case 21:

dmd.drawString( 12,0, “21”, 2, GRAPHICS_NORMAL );

break;

case 22:

dmd.drawString( 12,0, “22”, 2, GRAPHICS_NORMAL );

break;

case 23:

dmd.drawString( 12,0, “23”, 2, GRAPHICS_NORMAL );

break;

case 24:

dmd.drawString( 12,0, “24”, 2, GRAPHICS_NORMAL );

break;

case 25:

dmd.drawString( 12,0, “25”, 2, GRAPHICS_NORMAL );

break;

case 26:

dmd.drawString( 12,0, “26”, 2, GRAPHICS_NORMAL );

break;

case 27:

dmd.drawString( 12,0, “27”, 2, GRAPHICS_NORMAL );

break;

case 28:

dmd.drawString( 12,0, “28”, 2, GRAPHICS_NORMAL );

break;

case 29:

dmd.drawString( 12,0, “29”, 2, GRAPHICS_NORMAL );

break;

case 30:

dmd.drawString( 12,0, “30”, 2, GRAPHICS_NORMAL );

break;

case 31:

dmd.drawString( 12,0, “31”, 2, GRAPHICS_NORMAL );

break;

case 32:

dmd.drawString( 12,0, “32”, 2, GRAPHICS_NORMAL );

break;

case 33:

dmd.drawString( 12,0, “33”, 2, GRAPHICS_NORMAL );

break;

case 34:

dmd.drawString( 12,0, “34”, 2, GRAPHICS_NORMAL );

break;

case 35:

dmd.drawString( 12,0, “35”, 2, GRAPHICS_NORMAL );

break;

case 36:

dmd.drawString( 12,0, “36”, 2, GRAPHICS_NORMAL );

break;

case 37:

dmd.drawString( 12,0, “37”, 2, GRAPHICS_NORMAL );

break;

case 38:

dmd.drawString( 12,0, “38”, 2, GRAPHICS_NORMAL );

break;

case 39:

dmd.drawString( 12,0, “39”, 2, GRAPHICS_NORMAL );

break;

case 40:

dmd.drawString( 12,0, “40”, 2, GRAPHICS_NORMAL );

break;

case 41:

dmd.drawString( 12,0, “41”, 2, GRAPHICS_NORMAL );

break;

case 42:

dmd.drawString( 12,0, “42”, 2, GRAPHICS_NORMAL );

break;

case 43:

dmd.drawString( 12,0, “43”, 2, GRAPHICS_NORMAL );

break;

case 44:

dmd.drawString( 12,0, “44”, 2, GRAPHICS_NORMAL );

break;

case 45:

dmd.drawString( 12,0, “45”, 2, GRAPHICS_NORMAL );

break;

case 46:

dmd.drawString( 12,0, “46”, 2, GRAPHICS_NORMAL );

break;

case 47:

dmd.drawString( 12,0, “47”, 2, GRAPHICS_NORMAL );

break;

case 48:

dmd.drawString( 12,0, “48”, 2, GRAPHICS_NORMAL );

break;

case 49:

dmd.drawString( 12,0, “49”, 2, GRAPHICS_NORMAL );

break;

case 50:

dmd.drawString( 12,0, “50”, 2, GRAPHICS_NORMAL );

break;

case 51:

dmd.drawString( 12,0, “51”, 2, GRAPHICS_NORMAL );

break;

case 52:

dmd.drawString( 12,0, “52”, 2, GRAPHICS_NORMAL );

break;

case 53:

dmd.drawString( 12,0, “53”, 2, GRAPHICS_NORMAL );

break;

case 54:

dmd.drawString( 12,0, “54”, 2, GRAPHICS_NORMAL );

break;

case 55:

dmd.drawString( 12,0, “55”, 2, GRAPHICS_NORMAL );

break;

case 56:

dmd.drawString( 12,0, “56”, 2, GRAPHICS_NORMAL );

break;

case 57:

dmd.drawString( 12,0, “57”, 2, GRAPHICS_NORMAL );

break;

case 58:

dmd.drawString( 12,0, “58”, 2, GRAPHICS_NORMAL );

break;

case 59:

dmd.drawString( 12,0, “59”, 2, GRAPHICS_NORMAL );

break;

}

}void drawSec()

{

byte second, minute, hour, dayOfWeek, dayOfMonth, month, year;

getDateDs1307(&second, &minute, &hour, &dayOfWeek, &dayOfMonth, &month, &year);

switch(second)

{

case 0:

dmd.drawString( 24,0, “00”, 2, GRAPHICS_NORMAL );

break;

case 1:

dmd.drawString( 24,0, “01”, 2, GRAPHICS_NORMAL );

break;

case 2:

dmd.drawString( 24,0, “02”, 2, GRAPHICS_NORMAL );

break;

case 3:

dmd.drawString( 24,0, “03”, 2, GRAPHICS_NORMAL );

break;

case 4:

dmd.drawString( 24,0, “04”, 2, GRAPHICS_NORMAL );

break;

case 5:

dmd.drawString( 24,0, “05”, 2, GRAPHICS_NORMAL );

break;

case 6:

dmd.drawString( 24,0, “06”, 2, GRAPHICS_NORMAL );

break;

case 7:

dmd.drawString( 24,0, “07”, 2, GRAPHICS_NORMAL );

break;

case 8:

dmd.drawString( 24,0, “08”, 2, GRAPHICS_NORMAL );

break;

case 9:

dmd.drawString( 24,0, “09”, 2, GRAPHICS_NORMAL );

break;

case 10:

dmd.drawString( 24,0, “10”, 2, GRAPHICS_NORMAL );

break;

case 11:

dmd.drawString( 24,0, “11”, 2, GRAPHICS_NORMAL );

break;

case 12:

dmd.drawString( 24,0, “12”, 2, GRAPHICS_NORMAL );

break;

case 13:

dmd.drawString( 24,0, “13”, 2, GRAPHICS_NORMAL );

break;

case 14:

dmd.drawString( 24,0, “14”, 2, GRAPHICS_NORMAL );

break;

case 15:

dmd.drawString( 24,0, “15”, 2, GRAPHICS_NORMAL );

break;

case 16:

dmd.drawString( 24,0, “16”, 2, GRAPHICS_NORMAL );

break;

case 17:

dmd.drawString( 24,0, “17”, 2, GRAPHICS_NORMAL );

break;

case 18:

dmd.drawString( 24,0, “18”, 2, GRAPHICS_NORMAL );

break;

case 19:

dmd.drawString( 24,0, “19”, 2, GRAPHICS_NORMAL );

break;

case 20:

dmd.drawString( 24,0, “20”, 2, GRAPHICS_NORMAL );

break;

case 21:

dmd.drawString( 24,0, “21”, 2, GRAPHICS_NORMAL );

break;

case 22:

dmd.drawString( 24,0, “22”, 2, GRAPHICS_NORMAL );

break;

case 23:

dmd.drawString( 24,0, “23”, 2, GRAPHICS_NORMAL );

break;

case 24:

dmd.drawString( 24,0, “24”, 2, GRAPHICS_NORMAL );

break;

case 25:

dmd.drawString( 24,0, “25”, 2, GRAPHICS_NORMAL );

break;

case 26:

dmd.drawString( 24,0, “26”, 2, GRAPHICS_NORMAL );

break;

case 27:

dmd.drawString( 24,0, “27”, 2, GRAPHICS_NORMAL );

break;

case 28:

dmd.drawString( 24,0, “28”, 2, GRAPHICS_NORMAL );

break;

case 29:

dmd.drawString( 24,0, “29”, 2, GRAPHICS_NORMAL );

break;

case 30:

dmd.drawString( 24,0, “30”, 2, GRAPHICS_NORMAL );

break;

case 31:

dmd.drawString( 24,0, “31”, 2, GRAPHICS_NORMAL );

break;

case 32:

dmd.drawString( 24,0, “32”, 2, GRAPHICS_NORMAL );

break;

case 33:

dmd.drawString( 24,0, “33”, 2, GRAPHICS_NORMAL );

break;

case 34:

dmd.drawString( 24,0, “34”, 2, GRAPHICS_NORMAL );

break;

case 35:

dmd.drawString( 24,0, “35”, 2, GRAPHICS_NORMAL );

break;

case 36:

dmd.drawString( 24,0, “36”, 2, GRAPHICS_NORMAL );

break;

case 37:

dmd.drawString( 24,0, “37”, 2, GRAPHICS_NORMAL );

break;

case 38:

dmd.drawString( 24,0, “38”, 2, GRAPHICS_NORMAL );

break;

case 39:

dmd.drawString( 24,0, “39”, 2, GRAPHICS_NORMAL );

break;

case 40:

dmd.drawString( 24,0, “40”, 2, GRAPHICS_NORMAL );

break;

case 41:

dmd.drawString( 24,0, “41”, 2, GRAPHICS_NORMAL );

break;

case 42:

dmd.drawString( 24,0, “42”, 2, GRAPHICS_NORMAL );

break;

case 43:

dmd.drawString( 24,0, “43”, 2, GRAPHICS_NORMAL );

break;

case 44:

dmd.drawString( 24,0, “44”, 2, GRAPHICS_NORMAL );

break;

case 45:

dmd.drawString( 24,0, “45”, 2, GRAPHICS_NORMAL );

break;

case 46:

dmd.drawString( 24,0, “46”, 2, GRAPHICS_NORMAL );

break;

case 47:

dmd.drawString( 24,0, “47”, 2, GRAPHICS_NORMAL );

break;

case 48:

dmd.drawString( 24,0, “48”, 2, GRAPHICS_NORMAL );

break;

case 49:

dmd.drawString( 24,0, “49”, 2, GRAPHICS_NORMAL );

break;

case 50:

dmd.drawString( 24,0, “50”, 2, GRAPHICS_NORMAL );

break;

case 51:

dmd.drawString( 24,0, “51”, 2, GRAPHICS_NORMAL );

break;

case 52:

dmd.drawString( 24,0, “52”, 2, GRAPHICS_NORMAL );

break;

case 53:

dmd.drawString( 24,0, “53”, 2, GRAPHICS_NORMAL );

break;

case 54:

dmd.drawString( 24,0, “54”, 2, GRAPHICS_NORMAL );

break;

case 55:

dmd.drawString( 24,0, “55”, 2, GRAPHICS_NORMAL );

break;

case 56:

dmd.drawString( 24,0, “56”, 2, GRAPHICS_NORMAL );

break;

case 57:

dmd.drawString( 24,0, “57”, 2, GRAPHICS_NORMAL );

break;

case 58:

dmd.drawString( 24,0, “58”, 2, GRAPHICS_NORMAL );

break;

case 59:

dmd.drawString( 24,0, “59”, 2, GRAPHICS_NORMAL );

break;

}

}void drawCol1()

{

dmd.drawString( 8,0, “:”, 1, GRAPHICS_NORMAL );

}void drawCol2()

{

dmd.drawString( 20,0, “:”, 1, GRAPHICS_NORMAL );

}void runClock()

{

// drawDay();

// drawDate();

drawHour();

drawCol1();

drawMinute();

drawCol2();

drawSec();

// CheckAlarm();}/*void AlarmSequence() {

drawDay();

drawDate();

drawHour();

drawCol();

drawMinute();

digitalWrite(Alarm, HIGH);

delay(1000);

dmd.clearScreen( true );

digitalWrite(Alarm, LOW);

delay(1000);

}

*/

/*void CheckAlarm() {

AlarmSet = digitalRead(AlarmSetPin);

Snooze = digitalRead(SnoozePin);

byte second, minute, hour, dayOfWeek, dayOfMonth, month, year;

getDateDs1307(&second, &minute, &hour, &dayOfWeek, &dayOfMonth, &month, &year);*/

/* Only Trigger Alarm If it is a day listed below. This can be changed by changing the numbers to any of the following:

1 = Sunday

2 = Monday

3 = Tuesday

4 = Wednesday

5 = Thursday

6 = Friday

7 = Saturday

*/

/* if(dayOfWeek == 2 || dayOfWeek == 3 || dayOfWeek == 4 || dayOfWeek == 5 ||dayOfWeek == 6) { //This is days ALLOWED to ring alarm

if(hour == 18 && minute == 05 ) { //Set Time Here (In 24 hour Time)

if(AlarmSet == LOW) { //If alarm pin is on

Snooze = digitalRead(SnoozePin);

while(Snooze == HIGH)

{

Snooze = digitalRead(SnoozePin);

AlarmSequence();

}

}

}

}

}

*/

void loop()

{

runClock();

}

第4步:功能

DMD

32 x 16個(gè)高亮度紅色LED(總共512個(gè)LED),間距為10mm

支持5V操作

可以在12米遠(yuǎn)的地方看到

堅(jiān)固的塑料框架

板載控制器IC

Arduino兼容庫,圖形功能

RTC

計(jì)算秒,分鐘,小時(shí)和年份

Accura cy:0oC至+40oC時(shí)為+ 2ppm至-2ppm,-40oC至+85oC時(shí)為+ 3.5ppm至-3.5ppm

數(shù)字溫度傳感器,精度為±3oC

兩次日警報(bào)

編程方波輸出

寄存器老化調(diào)整400Khz I2C接口

低功耗

自動(dòng)斷電電池開關(guān)電路

CR2032備用電池,使用壽命為兩到三年

步驟5:該項(xiàng)目的工作:簡單時(shí)鐘

第6步:該項(xiàng)目的工作:按設(shè)置進(jìn)行計(jì)時(shí)

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 時(shí)鐘
    +關(guān)注

    關(guān)注

    11

    文章

    1879

    瀏覽量

    132823
  • Arduino
    +關(guān)注

    關(guān)注

    188

    文章

    6490

    瀏覽量

    190064
收藏 人收藏

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    內(nèi)置晶振、小封裝的實(shí)時(shí)時(shí)鐘IC-SD

    鴻合智遠(yuǎn)|興威帆電子:內(nèi)置晶振、小封裝的實(shí)時(shí)時(shí)鐘IC-SD
    的頭像 發(fā)表于 05-28 10:01 ?104次閱讀
    內(nèi)置晶振、小封裝的<b class='flag-5'>實(shí)時(shí)時(shí)鐘</b>IC-SD

    愛普生RA4000CE實(shí)時(shí)時(shí)鐘模塊車載BMS系統(tǒng)的理想選擇

    在新能源汽車蓬勃發(fā)展的當(dāng)下,電池管理系統(tǒng)(BMS)作為保障電池安全、延長電池壽命以及提升車輛性能的核心技術(shù),其重要性不言而喻。而一個(gè)精準(zhǔn)、可靠的實(shí)時(shí)時(shí)鐘模塊,對(duì)于BMS系統(tǒng)的高效運(yùn)行起著關(guān)鍵作用
    的頭像 發(fā)表于 04-03 15:18 ?207次閱讀
    愛普生RA4000CE<b class='flag-5'>實(shí)時(shí)時(shí)鐘</b>模塊車載BMS系統(tǒng)的理想選擇

    實(shí)時(shí)時(shí)鐘模塊選擇指南和比較表

    愛普生提供內(nèi)置 32.768 kHz 晶體單元的多種實(shí)時(shí)時(shí)鐘模塊。除了單純的計(jì)時(shí)功能外,還有即使在高溫環(huán)境下也能保持準(zhǔn)確計(jì)時(shí)的產(chǎn)品,以及配備其他各種功能的產(chǎn)品。您可以使用下面的流程圖和產(chǎn)品比較表來
    發(fā)表于 03-14 10:28 ?0次下載

    基于FPGA的實(shí)時(shí)時(shí)鐘設(shè)計(jì)

    本次設(shè)計(jì)采用了美國DALLAS公司推出的一種高性能、低功耗、帶RAM的實(shí)時(shí)時(shí)鐘電路 DS1302,它可以對(duì)年、月、日、周、時(shí)、分、秒進(jìn)行計(jì)時(shí),具有閏年補(bǔ)償功能,工作電壓為2.5V~5.5V。采用三線
    的頭像 發(fā)表于 01-06 16:06 ?1105次閱讀
    基于FPGA的<b class='flag-5'>實(shí)時(shí)時(shí)鐘</b>設(shè)計(jì)

    LinkedSemi凌思微:DD3225TR實(shí)時(shí)時(shí)鐘模塊

    深圳鴻合智遠(yuǎn)|LinkedSemi凌思微:DD3225TR實(shí)時(shí)時(shí)鐘模塊
    的頭像 發(fā)表于 12-17 10:57 ?440次閱讀
    LinkedSemi凌思微:DD3225TR<b class='flag-5'>實(shí)時(shí)時(shí)鐘</b>模塊

    LinkedSemi凌思微:DD3225TS實(shí)時(shí)時(shí)鐘模塊

    深圳鴻合智遠(yuǎn)|LinkedSemi凌思微:DD3225TS實(shí)時(shí)時(shí)鐘模塊
    的頭像 發(fā)表于 12-16 11:20 ?465次閱讀
    LinkedSemi凌思微:DD3225TS<b class='flag-5'>實(shí)時(shí)時(shí)鐘</b>模塊

    TPS65950實(shí)時(shí)時(shí)鐘時(shí)序補(bǔ)償分析

    電子發(fā)燒友網(wǎng)站提供《TPS65950實(shí)時(shí)時(shí)鐘時(shí)序補(bǔ)償分析.pdf》資料免費(fèi)下載
    發(fā)表于 10-29 10:01 ?0次下載
    TPS65950<b class='flag-5'>實(shí)時(shí)時(shí)鐘</b>時(shí)序補(bǔ)償分析

    使用實(shí)時(shí)時(shí)鐘

    電子發(fā)燒友網(wǎng)站提供《使用實(shí)時(shí)時(shí)鐘庫.pdf》資料免費(fèi)下載
    發(fā)表于 10-22 10:09 ?0次下載
    使用<b class='flag-5'>實(shí)時(shí)時(shí)鐘</b>庫

    適用于智能門鎖的低功耗RTC實(shí)時(shí)時(shí)鐘模塊RX8010SJ

    隨著智能家居的普及,智能門鎖已成為保障家庭安全的重要設(shè)備。作為智能門鎖的關(guān)鍵組件之一,實(shí)時(shí)時(shí)鐘(RTC)模塊負(fù)責(zé)提供準(zhǔn)確的時(shí)間基準(zhǔn),確保門鎖的各種時(shí)間相關(guān)功能正常運(yùn)行。一款適用于智能門鎖的低功耗
    的頭像 發(fā)表于 08-28 14:29 ?686次閱讀
    適用于智能門鎖的低功耗RTC<b class='flag-5'>實(shí)時(shí)時(shí)鐘</b>模塊RX8010SJ

    bq32000實(shí)時(shí)時(shí)鐘(RTC)數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《bq32000實(shí)時(shí)時(shí)鐘(RTC)數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 08-23 11:23 ?0次下載
    bq32000<b class='flag-5'>實(shí)時(shí)時(shí)鐘</b>(RTC)數(shù)據(jù)表

    BQ32002實(shí)時(shí)時(shí)鐘(RTC)數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《BQ32002實(shí)時(shí)時(shí)鐘(RTC)數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 08-23 11:23 ?0次下載
    BQ32002<b class='flag-5'>實(shí)時(shí)時(shí)鐘</b>(RTC)數(shù)據(jù)表

    bq3285實(shí)時(shí)時(shí)鐘(RTC)數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《bq3285實(shí)時(shí)時(shí)鐘(RTC)數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 08-23 11:21 ?0次下載
    bq3285<b class='flag-5'>實(shí)時(shí)時(shí)鐘</b>(RTC)數(shù)據(jù)表

    bq4802Y/bq4802LY實(shí)時(shí)時(shí)鐘數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《bq4802Y/bq4802LY實(shí)時(shí)時(shí)鐘數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 08-22 11:23 ?0次下載
    bq4802Y/bq4802LY<b class='flag-5'>實(shí)時(shí)時(shí)鐘</b>數(shù)據(jù)表

    TCXO RTC實(shí)時(shí)時(shí)鐘模塊的特性

    高精度實(shí)時(shí)時(shí)鐘模塊內(nèi)建TCXO數(shù)字式實(shí)時(shí)時(shí)鐘模塊的特征【序文】時(shí)間是我們?nèi)粘I钪械幕靖拍睢;疖囘\(yùn)行管理、進(jìn)出場(chǎng)管理等各種處理系統(tǒng)和應(yīng)用程序按照時(shí)間信息工作。在金融、股市領(lǐng)域中,時(shí)間操縱著巨大利益
    的頭像 發(fā)表于 08-14 11:44 ?642次閱讀
    TCXO RTC<b class='flag-5'>實(shí)時(shí)時(shí)鐘</b>模塊的特性

    京準(zhǔn)電鐘:基于GPS與北斗高精度實(shí)時(shí)時(shí)鐘的時(shí)間同步方法

    京準(zhǔn)電子分享:基于GPS與北斗衛(wèi)星高精度實(shí)時(shí)時(shí)鐘的時(shí)間同步方法
    的頭像 發(fā)表于 06-18 14:35 ?1093次閱讀
    京準(zhǔn)電鐘:基于GPS與北斗高精度<b class='flag-5'>實(shí)時(shí)時(shí)鐘</b>的時(shí)間同步方法