佳礼资讯网

 找回密码
 注册

ADVERTISEMENT

查看: 1643|回复: 1

Arduino RTC + LCD clock 面对 button 问题

[复制链接]
发表于 18-9-2013 10:50 PM | 显示全部楼层 |阅读模式
小弟要研究一个 arduino clock  +  alarm + button set time  
我的 alarm 其实要用来触发 我的 LED 鱼缸灯...  

arduino base LCD timer clock with ds1307rtc ->  LED lighting effect control with PWM -> high power LED Driver -> LED

小弟研究到 LCD clock 了... 不过只是 LCD clock 而已... 没有 button set ,  没有 alarm , 什么也没有 就只是 CLOCk 而已.. 需要插入电脑 用 RTC 积木 的 example " set time" sketch 来 set 时间
来分享下
2013-07-29 22.58.01.jpg

2013-07-29 22.58.11.jpg
  1. #include <LiquidCrystal.h>

  2. #include <DS1307RTC.h>
  3. #include <Time.h>
  4. #include <Wire.h>

  5. LiquidCrystal lcd ( 13, 11, 10,12,9,8);

  6. tmElements_t tm;

  7. int a;


  8. void setup() {
  9.   lcd.begin(16,2);
  10. }

  11. void loop() {
  12.   RTC.read(tm);
  13.   lcd.setCursor(0,0);
  14.   lcd.print("Time");
  15.   lcd.setCursor(6,0);
  16.   lcd.print(tm.Hour);
  17.   lcd.setCursor(8,0);
  18.   lcd.print(":");
  19.   lcd.print(tm.Minute);
  20.   lcd.setCursor(11,0);
  21.   lcd.print(":");
  22.   lcd.print(tm.Second);
  23.   lcd.setCursor(0,1);
  24.   lcd.print("D/M/Y ");
  25.   lcd.print(tm.Day);
  26.   lcd.print("/");
  27.   lcd.print(tm.Month);
  28.   lcd.print("/");
  29.   lcd.print(tmYearToCalendar(tm.Year));
  30.   delay(1000);
  31.   a++;
  32.   if(a == 60){
  33.     lcd.clear();
  34.     a = 0;
  35.   }
  36. }


复制代码
想要添加 set time 要怎么下手呢 .. 小弟只是新手上路...
之前写了一些 源码 可以 选择 Hour  按 +  和 -  可是不能 改变 RTC 的时间... 于是就删除了有点 malu 不好意思拿出来见人

现在想要挑战的是...
arduino 连接   3 个 button   ,  一个 LCD , 一个 output 用来触发 LED lighting effect 的..  只需要  5V+ 就可以了 ,
挑战进行中... 希望有高手指点.. 一起来吹水


回复

使用道具 举报


ADVERTISEMENT

发表于 20-9-2013 09:56 PM | 显示全部楼层
程序里必须有一中间人(memory variables)用于贮存日期与时间的值,如下:
hh=tm.Hour
mm=tm.Minute
ss=tm.Second

然後编写一程序显示日期与时间,但你不能使用
lcd.print(tm.Hour)
lcd.print(tm.Minute)
lcd.print(tm.Second)

取而代之
lcd.print(hh)
lcd.print(mm)
lcd.print(ss)

三个button,一个是set,一个是up,一个是down。假设现在是设定小时(hh),当按下up button时,hh增一,按下down button时,hh减一。由此类推完成设置mm与ss,
同样的步骤设定日期。

最后你必须有一步骤确认日期与时间是输入正确的。输入日期与时间无误后,把这些值(momory variables)写入DS1307
要确认日期与时间是输入正确,请参考Arduino电子密码锁
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

 

ADVERTISEMENT



ADVERTISEMENT



ADVERTISEMENT

ADVERTISEMENT


版权所有 © 1996-2023 Cari Internet Sdn Bhd (483575-W)|IPSERVERONE 提供云主机|广告刊登|关于我们|私隐权|免控|投诉|联络|脸书|佳礼资讯网

GMT+8, 24-4-2024 05:42 PM , Processed in 0.071849 second(s), 31 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表