久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

專注電子技術學習與研究
當前位置:單片機教程網 >> Arduino >> 瀏覽文章

Ds1307+nikia5110制作定時器

作者:huqin   來源:本站原創   點擊數:  更新時間:2014年04月22日   【字體:
前幾天做了一個能設定時間自動打開電源盒關閉電源的裝置,現在也把它寫出來......
下面是接線圖,直接用手畫加電腦畫的,大家講究著看看......


下面是Arduino端的程序:

#include <DS1307.h>

#include <LCD5110_CN.h>

 

LCD5110 myGLCD(2,3,4,6,5);  //lcd5110接線柱定義

extern uint8_t SmallFont[];     //定義小號字體

extern uint8_t MediumNumbers[];  //定義中號字體

String month;  //定義一個月份字符串變量

 

DS1307  rtc(7, 8);    //定義ds1307接線柱

Time  t;

int h1=0;

int m1=0;

int h2=0;

int m2=0;

int h1bt=0;

int m1bt=0;

int h2bt=0;

int m2bt=0;

int sdbt=0;

int sd=0;

 

 

void setup()

{myGLCD.InitLCD();

  rtc.halt(false);

  Serial.begin(9600);

 pinMode(12, INPUT); 

 pinMode(9, INPUT); 

 pinMode(11, INPUT); 

 pinMode(10, INPUT); 

 pinMode(13,OUTPUT);

    

 digitalWrite(13,LOW);

//**********初始化時間,當時間準確了后就不用再執行了,第一次用時記住*************

//******************下面的“//”去掉*****************

//  rtc.setDOW(WEDNESDAY);       

//  rtc.setTime(10, 53, 0);    

//  rtc.setDate(11, 12, 2013);   

//****************************************************************

}

 

void loop()

{

  h1bt=digitalRead(10);

 h2bt=digitalRead(11);

  m1bt=digitalRead(9);

   m2bt=digitalRead(12);

//********讀取來自 DS1307的數據************************

  rtc.getTime();

  month=rtc.getMonthStr();          //讀取月份  

jishi();    //運行計時程序,程序在最后。

 //*****************以下是按鈕程序,按住1號按鈕改變打開小時數

//******************按住2號按鈕改變打開分鐘數

//******************按住3號按鈕改變關閉小時數

//******************按住4號按鈕改變關閉分鐘數

  while(h1bt==1)

     

    if(h1<23)  

  h1++;

  else

  h1=0;

  delay(300);

   h1bt=digitalRead(10);

    myGLCD.printNumI(h1, LEFT, 36);

    if(h1==23)

     {myGLCD.clrScr();

     jishi();

  }}

  

    while(h2bt==1)

  {if(h2<23)  

  h2++;

  else

  h2=0;

  delay(300);

   h2bt=digitalRead(13);

     myGLCD.printNumI(h2, LEFT, 42);

     if(h2==23)

      {myGLCD.clrScr();

      jishi();

  }}

  

    while(m1bt==1)

  {if(m1<59)  

  m1++;

  else

  m1=0;

  delay(300);

    m1bt=digitalRead(11);

      myGLCD.printNumI(m1, CENTER, 36);

      if(m1==59)

      myGLCD.clrScr();

       jishi();

  }}

  

    while(m2bt==1)

  {if(m2<59)  

  m2++;

  else

  m2=0;

  delay(300);

   m2bt=digitalRead(7);

      myGLCD.printNumI(m2, CENTER, 42);  

      if(m2==59)

      myGLCD.clrScr();

       jishi();

  }}

   

   

   myGLCD.printNumI(h1, LEFT, 36);

    myGLCD.printNumI(h2, LEFT, 42);

   myGLCD.printNumI(m1, CENTER, 36);

    myGLCD.printNumI(m2, CENTER, 42);  

  //*************以下是當時間等于設定的打開時間時打開,等于關閉時間時關閉******

  if(t.hour==h1&&t.min==m1)

digitalWrite(12,HIGH);

if(t.hour==h2&&t.min==m2)

digitalWrite(12,LOW);

 delay (1000);

   myGLCD.clrScr();

 }

//*****************以下是計時函數**************************

void jishi(){

   myGLCD.setFont(SmallFont);

    myGLCD.printNumI(t.year, CENTER, 6);

      myGLCD.print(month, LEFT, 12);

       

      myGLCD.printNumI(t.date, RIGHT, 12);

       myGLCD.setFont(MediumNumbers);

    myGLCD.printNumI(t.hour, LEFT, 18);

    myGLCD.printNumI(t.min, CENTER, 18);

    myGLCD.printNumI(t.sec, RIGHT, 18);

    

    myGLCD.setFont(SmallFont);

 myGLCD.print("on", RIGHT, 36);

  myGLCD.print("off", RIGHT, 42);

}

 

需要兩個庫函數,DS1307和LCD5110_CN

將繼電器的輸入端接到D13端口,這樣就可以控制了。昨天晚上連了電壓力鍋,然后設定早上5點打開,7點關閉。今天早上已經成功的喝上粥了...呵呵...

 


關閉窗口

相關文章

主站蜘蛛池模板: 蜜桃精品视频在线 | 国产一区二区在线免费播放 | 日韩精品在线观看视频 | 美女天天干 | 超级碰在线 | 亚洲一区在线播放 | 国产日产精品一区二区三区四区 | 亚洲一区 | 免费在线观看一级毛片 | 亚洲情视频 | 狠狠av| 欧美性生活网 | 日韩av网址在线观看 | 久久丝袜视频 | www四虎影视 | 精品少妇v888av | 日韩伦理一区二区 | 久久久久久免费看 | 一区二区三区精品视频 | 国产在线观看网站 | 欧美 日韩 亚洲91麻豆精品 | 久久精品国产一区 | 欧美激情啪啪 | 亚洲一区二区三区高清 | 日韩一区二区三区在线观看 | 免费一区 | 视频一区二区在线观看 | 91精品在线播放 | 久久国产精品免费一区二区三区 | 午夜天堂精品久久久久 | 国产精品资源在线 | 欧美成人一级视频 | 夜夜草| 国产精品国产精品 | 一区二区三区四区在线视频 | 国产福利免费视频 | 日韩精品一区二区三区高清免费 | 成人在线视频一区 | 精品久久久网站 | 久久免费国产 | 99国产精品视频免费观看一公开 |