EngineersGarage

  • Engineers Garage Main Site
  • Visit our active EE Forums
    • EDABoard.com
    • Electro-Tech-Online
  • Projects & Tutorials
    • Circuits
    • Electronic Projects
    • Tutorials
    • Components
  • Digi-Key Store
    • Cables, Wires
    • Connectors, Interconnect
    • Discrete
    • Electromechanical
    • Embedded Computers
    • Enclosures, Hardware, Office
    • Integrated Circuits (ICs)
    • Isolators
    • LED/Optoelectronics
    • Passive
    • Power, Circuit Protection
    • Programmers
    • RF, Wireless
    • Semiconductors
    • Sensors, Transducers
    • Test Products
    • Tools
You are here: Home / Topics / alarm clock

alarm clock

|

Microcontroller › Arduino › alarm clock

  • This topic has 4 replies, 4 voices, and was last updated 4 years, 7 months ago by Ashutosh Bhatt.
Viewing 5 posts - 1 through 5 (of 5 total)
  • Author
    Posts
  • December 20, 2017 at 7:27 pm #4707
    Sukko Pera
    Participant

    December 21, 2017 at 11:51 am #14680
    MOUHSSINE
    Participant

    hello,

    i need help please to fix this errors in this code of an alarm clock.

     

    #include <LiquidCrystal_I2C.h>
    #include <Time.h>
    #include <LiquidCrystal.h> 
    #include <TimeLib.h>
    #include <DS1307RTC.h>
    #include <Wire.h>
    #include <AnalogButtons.h>
    #include <EEPROM.h>
     
    LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
    String Jour[]={"Dim ", "Lun ", "Mar ", "Mer ", "Jeu ", "Ven ", "Sam "};
    byte memo=0, hautbas=0, droite=0, HrAlarm=0, MinAlarm=0, ConfigAlarm=0;
    byte CurCol[6]={6,9,14,5,8,11};
    byte CurColAlarm[10]={1,4,7,9,10,11,12,13,14,15};
    tmElements_t tmps;
    boolean actualiser=0;
     
     
    AnalogButtons pressBouton(A0, 10, &selectBouton);
    Button b1=Button( 1,0  ,10 );
    Button b2=Button( 2,500,520);
    Button b3=Button( 3,670,690);
     
    void selectBouton(int id, boolean longApui) {
    switch (id) {
    case 1: 
    if (hautbas==0) {
    switch (droite) {
    case 0:
    hautbas+=1;
    HrAlarm=EEPROM.read(hautbas*3);
    HrAlarm=EEPROM.read(hautbas*3+1);
    HrAlarm=EEPROM.read(hautbas*3+2);
    actualiser=1;
    break;
    case 1:
    tmps.Day+=1;
    if( tmps.Day >31) tmps.Day=1;
    memo -=1;
    break;
    case 2:
    tmps.Month+=1;
    if(tmps.Month >12) tmps.Month=1;
    memo -=1;
    break;
    case 3:
    tmps.Year+=1;
    memo -=1;
    break;
    case 4:
    tmps.Hour+=1;
    if(tmps.Hour >23) tmps.Hour=0;
    memo -=1;
    break;
    case 5:
    tmps.Minute+=1;
    if( tmps.Minute >59) tmps.Minute=0;
    memo -=1;
    break;
    case 6:
    tmps.Second+=1;
    if(tmps.Second >59) tmps.Second=0;
    memo -=1;
    break;                                                                                                                                                                                                                                                                                                                                                                                                                                        
    }
    }else {
    switch (droite){
    case 0:
    if(hautbas==30){
    hautbas=0; 
    }else{
    hautbas+=1;
    HrAlarm=EEPROM.read(hautbas*3);
    MinAlarm=EEPROM.read(hautbas*3+1);
    ConfigAlarm=EEPROM.read(hautbas*3+2); 
    }
    break;
    case 1:
    HrAlarm+=1;
    if(HrAlarm >23) HrAlarm =0;
    break;
    case 2:
    MinAlarm+=1;
    if(MinAlarm >59) MinAlarm=0;
    break;
    default:
    bitWrite(ConfigAlarm, droite-2, !bitRead(ConfigAlarm, droite-2));
    break;
    }
    actualiser=1;
    }
     
     
    case 2:
    if(hautbas==0){
    switch (droite){
    case 0:
    hautbas=30;
    HrAlarm=EEPROM.read(hautbas*3);
    MinAlarm=EEPROM.read(hautbas*3+1);
    ConfigAlarm=EEPROM.read(hautbas*3+2);
    actualiser=1;
    break;
    case 1:
    tmps.Day-=1;
    if (tmps.Day <1) tmps.Day=31;
    memo -=1;
    break;
    case 2:
    tmps.Month-=1;
    if(tmps.Month <1) tmps.Month=12;
    memo -=1;
    break;
    case 3:
    tmps.Year-=1;
    if(tmps.Year <47) tmps.Year=47;
    memo -=1;
    break;
    case 4:
    tmps.Hour-=1;
    if(tmps.Hour >23) tmps.Hour=23;
    memo -=1;
    break;
    case 5:
    tmps.Minute-=1;
    if(tmps.Minute >59) tmps.Minute=59;
    memo -=1;
    break;
    case 6:
    tmps.Second-=1;
    if(tmps.Second >59) tmps.Second=59;
    memo =tmps.Second-1;
    break;
    }
    }else{
    switch(droite){
    case 0:
    hautbas-=1;
    HrAlarm=EEPROM.read(hautbas*3);
    MinAlarm=EEPROM.read(hautbas*3+1);
    ConfigAlarm=EEPROM.read(hautbas*3+2);
    break;
    case 1:
    HrAlarm-=1;
    if(HrAlarm >23) HrAlarm=23;
    break;
    case 2:
    MinAlarm-=1;
    if(MinAlarm >59) MinAlarm=59;
    break;
    default:
    bitWrite(ConfigAlarm, droite-2, !bitRead(ConfigAlarm, droite-2));
    break;
    }
    actualiser=1;
    }
    break;
     
    case 3: 
    droite +=1;
    if (hautbas==0 && droite >6){
    RTC.write(tmps);
    setSyncProvider(RTC.get);
    droite=0;
    }
    if(droite>9){
    EEPROM.write(hautbas*3, HrAlarm);
    EEPROM.write(hautbas*3+1, MinAlarm);
    EEPROM.write(hautbas*3+2, ConfigAlarm);
    droite=0;
    }
    actualiser=1;
    break;
    }
    } 
    // 
    void affichage(){   
    if(hautbas==0){
    if(droite==0) breakTime(now(), tmps);
    if(memo!=tmps.Second){
    lcd.setCursor(0,0);
    lcd.print(" ");
    lcd.print(Jour[tmps.Wday-1]);
    aff(tmps.Day, "/");
    aff(tmps.Month, "/");
    aff(tmYearToCalendar(tmps.Year), " ");
    lcd.setCursor(0,1);
    lcd.print("    ");
    aff(tmps.Hour, ":");
    aff(tmps.Minute, ":");
    aff(tmps.Second, ":");
    memo =tmps.Second;
    }
    if(droite==0){
    lcd.noBlink();
    }else{
    lcd.setCursor(CurCol[droite-1], droite/4);
    lcd.blink();
    }
    }else {
    if(actualiser){
    lcd.setCursor(0,0);
    lcd.print("AL Heure DLMMJVD");
    lcd.setCursor(0,1);
    aff(hautbas," ");
    aff(HrALarm,":");
    aff(MinALarm," ");
    for(byte j=1; j<8; j++) lcd.print(bitRead(ConfigAlarm, j));
    lcd.setCursor(CurColAlarm[droite],1);
    lcd.blink();
    actualiser=0;
    }
    }
    }
    //
    void aff (int nbr, String chaine){  
    if(nbr<10) lcd.print ("0");
    lcd.print(String(nbr)+chaine);
    }
    //
    void setup(){ 
    pinMode(LED_BUILTIN, OUTPUT);
    lcd.begin(16,2);
    lcd.setBacklightPin(3,POSITIVE);
    lcd.setBacklightPin(HIGHT);
    setSyncProvider(RTC.get);
     
    pressBouton.addButton(b1);
    pressBouton.addButton(b2);
    pressBouton.addButton(b3);
     
    } 
    void loop() {
    affichage();
    pressBouton.checkButtons();
     
    if( !second()){
    for(byte k=1; k<31;k++){
    byte HrA=EEPROM.read(k*3);
    byte MinA=EEPROM.read(k*3+1);
    byte ConfigA=EEPROM.read(k*3+2);
    if(hour()==HrA && minute()==MinA && bitRead( ConfigA, weekday())==1){
    digitalWrite(LED_BUILTIN, 1); //or HIGH
    break;
    }
    }
    }
    if(second() >10 && digitalRead(LED_BUILTIN)) digitalWrite(LED_BUILTIN, LOW); // or LOW
    }


    December 22, 2017 at 6:55 am #14684
    Hari Prasaath K
    Participant

    Hi,

    Specify what error you are getting the above code.

    December 22, 2017 at 5:41 pm #14686
    MOUHSSINE
    Participant
    C:UsersehmouhssineDesktopmy arduino projectssirene_scolairesirene_scolaire.ino: In function 'void setup()':
     
    sirene_scolaire:436:5: error: 'class LiquidCrystal' has no member named 'setBacklightPin'
     
    sirene_scolaire:436:23: error: 'POSITIVE' was not declared in this scope
     
    sirene_scolaire:438:5: error: 'class LiquidCrystal' has no member named 'setBacklightPin'
     
    sirene_scolaire:438:21: error: 'HIGHT' was not declared in this scope
     
    sirene_scolaire:444:13: error: 'class AnalogButtons' has no member named 'addButton'
     
    sirene_scolaire:446:13: error: 'class AnalogButtons' has no member named 'addButton'
     
    sirene_scolaire:448:13: error: 'class AnalogButtons' has no member named 'addButton'
     
    C:UsersehmouhssineDesktopmy arduino projectssirene_scolairesirene_scolaire.ino: In function 'void loop()':
     
    sirene_scolaire:460:13: error: 'class AnalogButtons' has no member named 'checkButtons'
     
    exit status 1
    'class LiquidCrystal' has no member named 'setBacklightPin'


    December 27, 2017 at 7:28 pm #14688
    Ashutosh Bhatt
    Participant

    seems like you just have copy-paste the code from somewhere

    withouth knowing anything about it

    try to read and understand the code first as per your hardware and circuit operation

  • Author
    Posts
Viewing 5 posts - 1 through 5 (of 5 total)
  • You must be logged in to reply to this topic.
Log In

RSS Recent Posts

  • Capacitor to eliminate speaker hum August 16, 2022
  • Help identify a part August 16, 2022
  • Digital Display Information August 16, 2022
  • Is there a discord for this forum? August 16, 2022
  • Peltier control August 16, 2022

Stay Up To Date

Newsletter Signup
EngineersGarage

Copyright © 2022 WTWH Media LLC. All Rights Reserved. The material on this site may not be reproduced, distributed, transmitted, cached or otherwise used, except with the prior written permission of WTWH Media
Privacy Policy | Advertising | About Us

Search Engineers Garage

  • Engineers Garage Main Site
  • Visit our active EE Forums
    • EDABoard.com
    • Electro-Tech-Online
  • Projects & Tutorials
    • Circuits
    • Electronic Projects
    • Tutorials
    • Components
  • Digi-Key Store
    • Cables, Wires
    • Connectors, Interconnect
    • Discrete
    • Electromechanical
    • Embedded Computers
    • Enclosures, Hardware, Office
    • Integrated Circuits (ICs)
    • Isolators
    • LED/Optoelectronics
    • Passive
    • Power, Circuit Protection
    • Programmers
    • RF, Wireless
    • Semiconductors
    • Sensors, Transducers
    • Test Products
    • Tools