.:: Jasa Membuat Aplikasi Website,Desktop,Android Order Now..!! | | Order Now..!! Jasa Membuat Project Arduino,Robotic,Print 3D ::.

Membuat kendali led dengan ARDUINO + RTC

0 komentar


بِسْــــــــــــــــمِ اﷲِالرَّحْمَنِ اارَّحِيم
bismillaahirrahmaanirrahiim

السَّلاَمُ عَلَيْكُمْ وَرَحْمَةُ اللهِ وَبَرَكَاتُهُ
Assalamu'alaikum warahmatullahi wabarakatuh

Membuat kendali led dengan ARDUINO + RTC


           Kali ini akan saya bahas mengenai bagaimana cara membuat alat untuk kendali lampu lalu lintas yang disimulasikan dengan led, disini dilengkapi dengan jam dan juga hari yang tampil di layar LCD, alat ini dilengkapi 3 buah tombol yang mana tiap tombol mewakili satu buah instruksi yang mengandung rule jam ON dan OFF led, jadi misal tombol 1 ditekan, led akan hidup hari senin sampai kamis jam 8.00 sampai jam 13.00, tombol 2 untuk hari jumat-sabtu jam 8.00 - 13.00 begitu pula dengan tombol 3. untuk lebih jelasnya berikut program dan skemanya.



a. Arduino Mega




b. LCD 16x2




c. RTC DS1307




d. LED + PUSH BUTTON





e. Program Arduino IDE

#include <LiquidCrystal.h>
#include "Wire.h"
 #define DS3231_I2C_ADDRESS 0x68

// Convert normal decimal numbers to binary coded decimal
LiquidCrystal lcd(8, 7, 6, 3, 4, 5);


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) );
}

int led1 = A0;
int led2 = A1;
int led3 = A2;

int led4 = A3;
int led5 = A4;
int led6 = A5;

int led7 = A6;
int led8 = A7;
int led9 = A8;

int led10 = A9;
int led11 = A10;
int led12 = A11;

int mark = 0;

const int buttonPin1 = 14;
const int buttonPin2 = 15;
const int buttonPin3 = 16;
int buttonState1 = 0;
int buttonState2 = 0;
int buttonState3 = 0;



void setup() {
 
  // DS3231 seconds, minutes, hours, day, date, month, year
//setDS3231time(0,4,9,2,23,5,16);
  Wire.begin();
  lcd.begin(16, 2);
  lcd.clear();
  lcd.noCursor();

pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
pinMode(led4, OUTPUT);
pinMode(led5, OUTPUT);
pinMode(led6, OUTPUT);
pinMode(led7, OUTPUT);
pinMode(led8, OUTPUT);
pinMode(led9, OUTPUT);
pinMode(led10, OUTPUT);
pinMode(led11, OUTPUT);
pinMode(led12, OUTPUT);

pinMode(buttonPin1, INPUT);
pinMode(buttonPin2, INPUT);
pinMode(buttonPin3, INPUT);

}



void setDS3231time(byte second, byte minute, byte hour, byte dayOfWeek, byte dayOfMonth, byte month, byte year)
{
  // sets time and date data to DS3231
  Wire.beginTransmission(DS3231_I2C_ADDRESS);
  Wire.write(0); // set next input to start at the seconds register
  Wire.write(decToBcd(second)); // set seconds
  Wire.write(decToBcd(minute)); // set minutes
  Wire.write(decToBcd(hour)); // set hours
  Wire.write(decToBcd(dayOfWeek)); // set day of week (1=Sunday, 7=Saturday)
  Wire.write(decToBcd(dayOfMonth)); // set date (1 to 31)
  Wire.write(decToBcd(month)); // set month
  Wire.write(decToBcd(year)); // set year (0 to 99)
  Wire.endTransmission();
}
void readDS3231time(byte *second,
byte *minute,
byte *hour,
byte *dayOfWeek,
byte *dayOfMonth,
byte *month,
byte *year)
{
  Wire.beginTransmission(DS3231_I2C_ADDRESS);
  Wire.write(0); // set DS3231 register pointer to 00h
  Wire.endTransmission();
  Wire.requestFrom(DS3231_I2C_ADDRESS, 7);
  // request seven bytes of data from DS3231 starting from register 00h
  *second = bcdToDec(Wire.read() & 0x7f);
  *minute = bcdToDec(Wire.read());
  *hour = bcdToDec(Wire.read() & 0x3f);
  *dayOfWeek = bcdToDec(Wire.read());
  *dayOfMonth = bcdToDec(Wire.read());
  *month = bcdToDec(Wire.read());
  *year = bcdToDec(Wire.read());
}


void displayTime1()
{
  byte second, minute, hour, dayOfWeek, dayOfMonth, month, year;
  // retrieve data from DS3231
  readDS3231time(&second, &minute, &hour, &dayOfWeek, &dayOfMonth, &month, &year);
  // send it to the serial monitor
  lcd.setCursor(0, 0);
  lcd.print(hour, DEC);
  // convert the byte variable to a decimal number when displayed
  lcd.print(":");
  if (minute<10)
  {
    lcd.print("0");
  }
  lcd.print(minute, DEC);
  lcd.print(":");
  if (second<10)
  {
    lcd.print("0");
  }
  lcd.print(second, DEC);

  lcd.setCursor(0, 1);
  lcd.print(dayOfMonth, DEC);
  lcd.print("/");
  lcd.print(month, DEC);
  lcd.print("/");
  lcd.print(year, DEC);
 
  switch(dayOfWeek){
    lcd.setCursor(13, 1);   
  case 1:  
    lcd.print("  MInggu");
    break;
  case 2:
    lcd.print("  Senin");
    break;
  case 3:
    lcd.print("  Selasa");
    break;
  case 4:
    lcd.print("  Rabu");
    break;
  case 5:
    lcd.print("  Kamis");
    break;
  case 6:
    lcd.print("  Jum'at");
    break;
  case 7:
    lcd.print("  Sabtu");
    break;
  }
 
 
 
 
if ((hour >= 5) && (hour <= 8) && (dayOfWeek >= 2) && (dayOfWeek <= 5)){
digitalWrite(led1, HIGH);
digitalWrite(led4, HIGH);
digitalWrite(led7, HIGH);
digitalWrite(led10, HIGH);
delay(1000);

  digitalWrite(led1, HIGH); 
  digitalWrite(led2, LOW);
  digitalWrite(led3, LOW);
delay(1000);

  digitalWrite(led1, LOW); 
  digitalWrite(led2, HIGH);
  digitalWrite(led3, LOW);
delay(1000);

  digitalWrite(led1, LOW); 
  digitalWrite(led2, LOW);
  digitalWrite(led3, HIGH);
delay(1000);

  digitalWrite(led1, HIGH); 
  digitalWrite(led2, LOW);
  digitalWrite(led3, LOW);


//=========================================================

  digitalWrite(led4, HIGH);
  digitalWrite(led5, LOW); 
  digitalWrite(led6, LOW);
delay(1000);

  digitalWrite(led4, LOW);
  digitalWrite(led5, HIGH); 
  digitalWrite(led6, LOW);
delay(1000);

  digitalWrite(led4, LOW);
  digitalWrite(led5, LOW); 
  digitalWrite(led6, HIGH);
delay(1000);

  digitalWrite(led4, HIGH);
  digitalWrite(led5, LOW); 
  digitalWrite(led6, LOW);



//========================================================

  digitalWrite(led7, HIGH);
  digitalWrite(led8, LOW);
  digitalWrite(led9, LOW);
delay(1000);

  digitalWrite(led7, LOW);
  digitalWrite(led8, HIGH);
  digitalWrite(led9, LOW);
delay(1000);

  digitalWrite(led7, LOW);
  digitalWrite(led8, LOW);
  digitalWrite(led9, HIGH);
delay(1000);

  digitalWrite(led7, HIGH);
  digitalWrite(led8, LOW);
  digitalWrite(led9, LOW);


//========================================================

  digitalWrite(led10, HIGH);
  digitalWrite(led11, LOW);
  digitalWrite(led12, LOW);
delay(1000);

  digitalWrite(led10, LOW);
  digitalWrite(led11, HIGH);
  digitalWrite(led12, LOW);
delay(1000);

  digitalWrite(led10, LOW);
  digitalWrite(led11, LOW);
  digitalWrite(led12, HIGH);
delay(1000);

  digitalWrite(led10, HIGH);
  digitalWrite(led11, LOW);
  digitalWrite(led12, LOW);
}


if ((hour >= 11) && (hour <= 13) && (dayOfWeek >= 2) && (dayOfWeek <= 5)){
digitalWrite(led1, HIGH);
digitalWrite(led4, HIGH);
digitalWrite(led7, HIGH);
digitalWrite(led10, HIGH);
delay(1000);

  digitalWrite(led1, HIGH); 
  digitalWrite(led2, LOW);
  digitalWrite(led3, LOW);
delay(1000);

  digitalWrite(led1, LOW); 
  digitalWrite(led2, HIGH);
  digitalWrite(led3, LOW);
delay(1000);

  digitalWrite(led1, LOW); 
  digitalWrite(led2, LOW);
  digitalWrite(led3, HIGH);
delay(1000);

  digitalWrite(led1, HIGH); 
  digitalWrite(led2, LOW);
  digitalWrite(led3, LOW);


//=========================================================

  digitalWrite(led4, HIGH);
  digitalWrite(led5, LOW); 
  digitalWrite(led6, LOW);
delay(1000);

  digitalWrite(led4, LOW);
  digitalWrite(led5, HIGH); 
  digitalWrite(led6, LOW);
delay(1000);

  digitalWrite(led4, LOW);
  digitalWrite(led5, LOW); 
  digitalWrite(led6, HIGH);
delay(1000);

  digitalWrite(led4, HIGH);
  digitalWrite(led5, LOW); 
  digitalWrite(led6, LOW);



//========================================================

  digitalWrite(led7, HIGH);
  digitalWrite(led8, LOW);
  digitalWrite(led9, LOW);
delay(1000);

  digitalWrite(led7, LOW);
  digitalWrite(led8, HIGH);
  digitalWrite(led9, LOW);
delay(1000);

  digitalWrite(led7, LOW);
  digitalWrite(led8, LOW);
  digitalWrite(led9, HIGH);
delay(1000);

  digitalWrite(led7, HIGH);
  digitalWrite(led8, LOW);
  digitalWrite(led9, LOW);


//========================================================

  digitalWrite(led10, HIGH);
  digitalWrite(led11, LOW);
  digitalWrite(led12, LOW);
delay(1000);

  digitalWrite(led10, LOW);
  digitalWrite(led11, HIGH);
  digitalWrite(led12, LOW);
delay(1000);

  digitalWrite(led10, LOW);
  digitalWrite(led11, LOW);
  digitalWrite(led12, HIGH);
delay(1000);

  digitalWrite(led10, HIGH);
  digitalWrite(led11, LOW);
  digitalWrite(led12, LOW);
}



if ((hour >= 17) && (hour <= 18) && (dayOfWeek >= 2) && (dayOfWeek <= 5)){
digitalWrite(led1, HIGH);
digitalWrite(led4, HIGH);
digitalWrite(led7, HIGH);
digitalWrite(led10, HIGH);
delay(1000);

  digitalWrite(led1, HIGH); 
  digitalWrite(led2, LOW);
  digitalWrite(led3, LOW);
delay(1000);

  digitalWrite(led1, LOW); 
  digitalWrite(led2, HIGH);
  digitalWrite(led3, LOW);
delay(1000);

  digitalWrite(led1, LOW); 
  digitalWrite(led2, LOW);
  digitalWrite(led3, HIGH);
delay(1000);

  digitalWrite(led1, HIGH); 
  digitalWrite(led2, LOW);
  digitalWrite(led3, LOW);


//=========================================================

  digitalWrite(led4, HIGH);
  digitalWrite(led5, LOW); 
  digitalWrite(led6, LOW);
delay(1000);

  digitalWrite(led4, LOW);
  digitalWrite(led5, HIGH); 
  digitalWrite(led6, LOW);
delay(1000);

  digitalWrite(led4, LOW);
  digitalWrite(led5, LOW); 
  digitalWrite(led6, HIGH);
delay(1000);

  digitalWrite(led4, HIGH);
  digitalWrite(led5, LOW); 
  digitalWrite(led6, LOW);



//========================================================

  digitalWrite(led7, HIGH);
  digitalWrite(led8, LOW);
  digitalWrite(led9, LOW);
delay(1000);

  digitalWrite(led7, LOW);
  digitalWrite(led8, HIGH);
  digitalWrite(led9, LOW);
delay(1000);

  digitalWrite(led7, LOW);
  digitalWrite(led8, LOW);
  digitalWrite(led9, HIGH);
delay(1000);

  digitalWrite(led7, HIGH);
  digitalWrite(led8, LOW);
  digitalWrite(led9, LOW);


//========================================================

  digitalWrite(led10, HIGH);
  digitalWrite(led11, LOW);
  digitalWrite(led12, LOW);
delay(1000);

  digitalWrite(led10, LOW);
  digitalWrite(led11, HIGH);
  digitalWrite(led12, LOW);
delay(1000);

  digitalWrite(led10, LOW);
  digitalWrite(led11, LOW);
  digitalWrite(led12, HIGH);
delay(1000);

  digitalWrite(led10, HIGH);
  digitalWrite(led11, LOW);
  digitalWrite(led12, LOW);
}

else {

  digitalWrite(led1, LOW);
  digitalWrite(led2, LOW);
  digitalWrite(led3, LOW);
  digitalWrite(led4, LOW);
  digitalWrite(led5, LOW);
  digitalWrite(led6, LOW);
  digitalWrite(led7, LOW);
  digitalWrite(led8, LOW);
  digitalWrite(led9, LOW);
  digitalWrite(led10, LOW);
  digitalWrite(led11, LOW);
  digitalWrite(led12, LOW);

}


}



void displayTime2()
{
  byte second, minute, hour, dayOfWeek, dayOfMonth, month, year;
  // retrieve data from DS3231
  readDS3231time(&second, &minute, &hour, &dayOfWeek, &dayOfMonth, &month, &year);
  // send it to the serial monitor
  lcd.setCursor(0, 0);
  lcd.print(hour, DEC);
  // convert the byte variable to a decimal number when displayed
  lcd.print(":");
  if (minute<10)
  {
    lcd.print("0");
  }
  lcd.print(minute, DEC);
  lcd.print(":");
  if (second<10)
  {
    lcd.print("0");
  }
  lcd.print(second, DEC);

  lcd.setCursor(0, 1);
  lcd.print(dayOfMonth, DEC);
  lcd.print("/");
  lcd.print(month, DEC);
  lcd.print("/");
  lcd.print(year, DEC);
 
  switch(dayOfWeek){
    lcd.setCursor(13, 1);   
  case 1:  
    lcd.print("  MInggu");
    break;
  case 2:
    lcd.print("  Senin");
    break;
  case 3:
    lcd.print("  Selasa");
    break;
  case 4:
    lcd.print("  Rabu");
    break;
  case 5:
    lcd.print("  Kamis");
    break;
  case 6:
    lcd.print("  Jum'at");
    break;
  case 7:
    lcd.print("  Sabtu");
    break;
  }
 
if ((hour >= 5) && (hour <= 8) && (dayOfWeek >= 6) && (dayOfWeek <= 7)){
digitalWrite(led1, HIGH);
digitalWrite(led4, HIGH);
digitalWrite(led7, HIGH);
digitalWrite(led10, HIGH);
delay(1000);

  digitalWrite(led1, HIGH); 
  digitalWrite(led2, LOW);
  digitalWrite(led3, LOW);
delay(1000);

  digitalWrite(led1, LOW); 
  digitalWrite(led2, HIGH);
  digitalWrite(led3, LOW);
delay(1000);

  digitalWrite(led1, LOW); 
  digitalWrite(led2, LOW);
  digitalWrite(led3, HIGH);
delay(1000);

  digitalWrite(led1, HIGH); 
  digitalWrite(led2, LOW);
  digitalWrite(led3, LOW);


//=========================================================

  digitalWrite(led4, HIGH);
  digitalWrite(led5, LOW); 
  digitalWrite(led6, LOW);
delay(1000);

  digitalWrite(led4, LOW);
  digitalWrite(led5, HIGH); 
  digitalWrite(led6, LOW);
delay(1000);

  digitalWrite(led4, LOW);
  digitalWrite(led5, LOW); 
  digitalWrite(led6, HIGH);
delay(1000);

  digitalWrite(led4, HIGH);
  digitalWrite(led5, LOW); 
  digitalWrite(led6, LOW);



//========================================================

  digitalWrite(led7, HIGH);
  digitalWrite(led8, LOW);
  digitalWrite(led9, LOW);
delay(1000);

  digitalWrite(led7, LOW);
  digitalWrite(led8, HIGH);
  digitalWrite(led9, LOW);
delay(1000);

  digitalWrite(led7, LOW);
  digitalWrite(led8, LOW);
  digitalWrite(led9, HIGH);
delay(1000);

  digitalWrite(led7, HIGH);
  digitalWrite(led8, LOW);
  digitalWrite(led9, LOW);


//========================================================

  digitalWrite(led10, HIGH);
  digitalWrite(led11, LOW);
  digitalWrite(led12, LOW);
delay(1000);

  digitalWrite(led10, LOW);
  digitalWrite(led11, HIGH);
  digitalWrite(led12, LOW);
delay(1000);

  digitalWrite(led10, LOW);
  digitalWrite(led11, LOW);
  digitalWrite(led12, HIGH);
delay(1000);

  digitalWrite(led10, HIGH);
  digitalWrite(led11, LOW);
  digitalWrite(led12, LOW);
}


if ((hour >= 11) && (hour <= 13) && (dayOfWeek >= 6) && (dayOfWeek <= 7)){
digitalWrite(led1, HIGH);
digitalWrite(led4, HIGH);
digitalWrite(led7, HIGH);
digitalWrite(led10, HIGH);
delay(1000);

  digitalWrite(led1, HIGH); 
  digitalWrite(led2, LOW);
  digitalWrite(led3, LOW);
delay(1000);

  digitalWrite(led1, LOW); 
  digitalWrite(led2, HIGH);
  digitalWrite(led3, LOW);
delay(1000);

  digitalWrite(led1, LOW); 
  digitalWrite(led2, LOW);
  digitalWrite(led3, HIGH);
delay(1000);

  digitalWrite(led1, HIGH); 
  digitalWrite(led2, LOW);
  digitalWrite(led3, LOW);


//=========================================================

  digitalWrite(led4, HIGH);
  digitalWrite(led5, LOW); 
  digitalWrite(led6, LOW);
delay(1000);

  digitalWrite(led4, LOW);
  digitalWrite(led5, HIGH); 
  digitalWrite(led6, LOW);
delay(1000);

  digitalWrite(led4, LOW);
  digitalWrite(led5, LOW); 
  digitalWrite(led6, HIGH);
delay(1000);

  digitalWrite(led4, HIGH);
  digitalWrite(led5, LOW); 
  digitalWrite(led6, LOW);



//========================================================

  digitalWrite(led7, HIGH);
  digitalWrite(led8, LOW);
  digitalWrite(led9, LOW);
delay(1000);

  digitalWrite(led7, LOW);
  digitalWrite(led8, HIGH);
  digitalWrite(led9, LOW);
delay(1000);

  digitalWrite(led7, LOW);
  digitalWrite(led8, LOW);
  digitalWrite(led9, HIGH);
delay(1000);

  digitalWrite(led7, HIGH);
  digitalWrite(led8, LOW);
  digitalWrite(led9, LOW);


//========================================================

  digitalWrite(led10, HIGH);
  digitalWrite(led11, LOW);
  digitalWrite(led12, LOW);
delay(1000);

  digitalWrite(led10, LOW);
  digitalWrite(led11, HIGH);
  digitalWrite(led12, LOW);
delay(1000);

  digitalWrite(led10, LOW);
  digitalWrite(led11, LOW);
  digitalWrite(led12, HIGH);
delay(1000);

  digitalWrite(led10, HIGH);
  digitalWrite(led11, LOW);
  digitalWrite(led12, LOW);
}



if ((hour >= 17) && (hour <= 18) && (dayOfWeek >= 6) && (dayOfWeek <= 7)){
digitalWrite(led1, HIGH);
digitalWrite(led4, HIGH);
digitalWrite(led7, HIGH);
digitalWrite(led10, HIGH);
delay(1000);

  digitalWrite(led1, HIGH); 
  digitalWrite(led2, LOW);
  digitalWrite(led3, LOW);
delay(1000);

  digitalWrite(led1, LOW); 
  digitalWrite(led2, HIGH);
  digitalWrite(led3, LOW);
delay(1000);

  digitalWrite(led1, LOW); 
  digitalWrite(led2, LOW);
  digitalWrite(led3, HIGH);
delay(1000);

  digitalWrite(led1, HIGH); 
  digitalWrite(led2, LOW);
  digitalWrite(led3, LOW);


//=========================================================

  digitalWrite(led4, HIGH);
  digitalWrite(led5, LOW); 
  digitalWrite(led6, LOW);
delay(1000);

  digitalWrite(led4, LOW);
  digitalWrite(led5, HIGH); 
  digitalWrite(led6, LOW);
delay(1000);

  digitalWrite(led4, LOW);
  digitalWrite(led5, LOW); 
  digitalWrite(led6, HIGH);
delay(1000);

  digitalWrite(led4, HIGH);
  digitalWrite(led5, LOW); 
  digitalWrite(led6, LOW);



//========================================================

  digitalWrite(led7, HIGH);
  digitalWrite(led8, LOW);
  digitalWrite(led9, LOW);
delay(1000);

  digitalWrite(led7, LOW);
  digitalWrite(led8, HIGH);
  digitalWrite(led9, LOW);
delay(1000);

  digitalWrite(led7, LOW);
  digitalWrite(led8, LOW);
  digitalWrite(led9, HIGH);
delay(1000);

  digitalWrite(led7, HIGH);
  digitalWrite(led8, LOW);
  digitalWrite(led9, LOW);


//========================================================

  digitalWrite(led10, HIGH);
  digitalWrite(led11, LOW);
  digitalWrite(led12, LOW);
delay(1000);

  digitalWrite(led10, LOW);
  digitalWrite(led11, HIGH);
  digitalWrite(led12, LOW);
delay(1000);

  digitalWrite(led10, LOW);
  digitalWrite(led11, LOW);
  digitalWrite(led12, HIGH);
delay(1000);

  digitalWrite(led10, HIGH);
  digitalWrite(led11, LOW);
  digitalWrite(led12, LOW);
}

else {

  digitalWrite(led1, LOW);
  digitalWrite(led2, LOW);
  digitalWrite(led3, LOW);
  digitalWrite(led4, LOW);
  digitalWrite(led5, LOW);
  digitalWrite(led6, LOW);
  digitalWrite(led7, LOW);
  digitalWrite(led8, LOW);
  digitalWrite(led9, LOW);
  digitalWrite(led10, LOW);
  digitalWrite(led11, LOW);
  digitalWrite(led12, LOW);

}

}





void displayTime3()
{
  byte second, minute, hour, dayOfWeek, dayOfMonth, month, year;
  // retrieve data from DS3231
  readDS3231time(&second, &minute, &hour, &dayOfWeek, &dayOfMonth, &month, &year);
  // send it to the serial monitor
  lcd.setCursor(0, 0);
  lcd.print(hour, DEC);
  // convert the byte variable to a decimal number when displayed
  lcd.print(":");
  if (minute<10)
  {
    lcd.print("0");
  }
  lcd.print(minute, DEC);
  lcd.print(":");
  if (second<10)
  {
    lcd.print("0");
  }
  lcd.print(second, DEC);

  lcd.setCursor(0, 1);
  lcd.print(dayOfMonth, DEC);
  lcd.print("/");
  lcd.print(month, DEC);
  lcd.print("/");
  lcd.print(year, DEC);
 
  switch(dayOfWeek){
    lcd.setCursor(13, 1);   
  case 1:  
    lcd.print("  MInggu");
    break;
  case 2:
    lcd.print("  Senin");
    break;
  case 3:
    lcd.print("  Selasa");
    break;
  case 4:
    lcd.print("  Rabu");
    break;
  case 5:
    lcd.print("  Kamis");
    break;
  case 6:
    lcd.print("  Jum'at");
    break;
  case 7:
    lcd.print("  Sabtu");
    break;
  }

if ((hour >= 5) && (hour <= 8) && (dayOfWeek ==1) ){
digitalWrite(led1, HIGH);
digitalWrite(led4, HIGH);
digitalWrite(led7, HIGH);
digitalWrite(led10, HIGH);
delay(1000);

  digitalWrite(led1, HIGH); 
  digitalWrite(led2, LOW);
  digitalWrite(led3, LOW);
delay(1000);

  digitalWrite(led1, LOW); 
  digitalWrite(led2, HIGH);
  digitalWrite(led3, LOW);
delay(1000);

  digitalWrite(led1, LOW); 
  digitalWrite(led2, LOW);
  digitalWrite(led3, HIGH);
delay(1000);

  digitalWrite(led1, HIGH); 
  digitalWrite(led2, LOW);
  digitalWrite(led3, LOW);


//=========================================================

  digitalWrite(led4, HIGH);
  digitalWrite(led5, LOW); 
  digitalWrite(led6, LOW);
delay(1000);

  digitalWrite(led4, LOW);
  digitalWrite(led5, HIGH); 
  digitalWrite(led6, LOW);
delay(1000);

  digitalWrite(led4, LOW);
  digitalWrite(led5, LOW); 
  digitalWrite(led6, HIGH);
delay(1000);

  digitalWrite(led4, HIGH);
  digitalWrite(led5, LOW); 
  digitalWrite(led6, LOW);



//========================================================

  digitalWrite(led7, HIGH);
  digitalWrite(led8, LOW);
  digitalWrite(led9, LOW);
delay(1000);

  digitalWrite(led7, LOW);
  digitalWrite(led8, HIGH);
  digitalWrite(led9, LOW);
delay(1000);

  digitalWrite(led7, LOW);
  digitalWrite(led8, LOW);
  digitalWrite(led9, HIGH);
delay(1000);

  digitalWrite(led7, HIGH);
  digitalWrite(led8, LOW);
  digitalWrite(led9, LOW);


//========================================================

  digitalWrite(led10, HIGH);
  digitalWrite(led11, LOW);
  digitalWrite(led12, LOW);
delay(1000);

  digitalWrite(led10, LOW);
  digitalWrite(led11, HIGH);
  digitalWrite(led12, LOW);
delay(1000);

  digitalWrite(led10, LOW);
  digitalWrite(led11, LOW);
  digitalWrite(led12, HIGH);
delay(1000);

  digitalWrite(led10, HIGH);
  digitalWrite(led11, LOW);
  digitalWrite(led12, LOW);
}


if ((hour >= 12) && (hour <= 2) && (dayOfWeek ==1) ){
digitalWrite(led1, HIGH);
digitalWrite(led4, HIGH);
digitalWrite(led7, HIGH);
digitalWrite(led10, HIGH);
delay(1000);

  digitalWrite(led1, HIGH); 
  digitalWrite(led2, LOW);
  digitalWrite(led3, LOW);
delay(1000);

  digitalWrite(led1, LOW); 
  digitalWrite(led2, HIGH);
  digitalWrite(led3, LOW);
delay(1000);

  digitalWrite(led1, LOW); 
  digitalWrite(led2, LOW);
  digitalWrite(led3, HIGH);
delay(1000);

  digitalWrite(led1, HIGH); 
  digitalWrite(led2, LOW);
  digitalWrite(led3, LOW);


//=========================================================

  digitalWrite(led4, HIGH);
  digitalWrite(led5, LOW); 
  digitalWrite(led6, LOW);
delay(1000);

  digitalWrite(led4, LOW);
  digitalWrite(led5, HIGH); 
  digitalWrite(led6, LOW);
delay(1000);

  digitalWrite(led4, LOW);
  digitalWrite(led5, LOW); 
  digitalWrite(led6, HIGH);
delay(1000);

  digitalWrite(led4, HIGH);
  digitalWrite(led5, LOW); 
  digitalWrite(led6, LOW);



//========================================================

  digitalWrite(led7, HIGH);
  digitalWrite(led8, LOW);
  digitalWrite(led9, LOW);
delay(1000);

  digitalWrite(led7, LOW);
  digitalWrite(led8, HIGH);
  digitalWrite(led9, LOW);
delay(1000);

  digitalWrite(led7, LOW);
  digitalWrite(led8, LOW);
  digitalWrite(led9, HIGH);
delay(1000);

  digitalWrite(led7, HIGH);
  digitalWrite(led8, LOW);
  digitalWrite(led9, LOW);


//========================================================

  digitalWrite(led10, HIGH);
  digitalWrite(led11, LOW);
  digitalWrite(led12, LOW);
delay(1000);

  digitalWrite(led10, LOW);
  digitalWrite(led11, HIGH);
  digitalWrite(led12, LOW);
delay(1000);

  digitalWrite(led10, LOW);
  digitalWrite(led11, LOW);
  digitalWrite(led12, HIGH);
delay(1000);

  digitalWrite(led10, HIGH);
  digitalWrite(led11, LOW);
  digitalWrite(led12, LOW);
}



if ((hour >= 17) && (hour <= 19) && (dayOfWeek ==1) ){
digitalWrite(led1, HIGH);
digitalWrite(led4, HIGH);
digitalWrite(led7, HIGH);
digitalWrite(led10, HIGH);
delay(1000);

  digitalWrite(led1, HIGH); 
  digitalWrite(led2, LOW);
  digitalWrite(led3, LOW);
delay(1000);

  digitalWrite(led1, LOW); 
  digitalWrite(led2, HIGH);
  digitalWrite(led3, LOW);
delay(1000);

  digitalWrite(led1, LOW); 
  digitalWrite(led2, LOW);
  digitalWrite(led3, HIGH);
delay(1000);

  digitalWrite(led1, HIGH); 
  digitalWrite(led2, LOW);
  digitalWrite(led3, LOW);


//=========================================================

  digitalWrite(led4, HIGH);
  digitalWrite(led5, LOW); 
  digitalWrite(led6, LOW);
delay(1000);

  digitalWrite(led4, LOW);
  digitalWrite(led5, HIGH); 
  digitalWrite(led6, LOW);
delay(1000);

  digitalWrite(led4, LOW);
  digitalWrite(led5, LOW); 
  digitalWrite(led6, HIGH);
delay(1000);

  digitalWrite(led4, HIGH);
  digitalWrite(led5, LOW); 
  digitalWrite(led6, LOW);



//========================================================

  digitalWrite(led7, HIGH);
  digitalWrite(led8, LOW);
  digitalWrite(led9, LOW);
delay(1000);

  digitalWrite(led7, LOW);
  digitalWrite(led8, HIGH);
  digitalWrite(led9, LOW);
delay(1000);

  digitalWrite(led7, LOW);
  digitalWrite(led8, LOW);
  digitalWrite(led9, HIGH);
delay(1000);

  digitalWrite(led7, HIGH);
  digitalWrite(led8, LOW);
  digitalWrite(led9, LOW);


//========================================================

  digitalWrite(led10, HIGH);
  digitalWrite(led11, LOW);
  digitalWrite(led12, LOW);
delay(1000);

  digitalWrite(led10, LOW);
  digitalWrite(led11, HIGH);
  digitalWrite(led12, LOW);
delay(1000);

  digitalWrite(led10, LOW);
  digitalWrite(led11, LOW);
  digitalWrite(led12, HIGH);
delay(1000);

  digitalWrite(led10, HIGH);
  digitalWrite(led11, LOW);
  digitalWrite(led12, LOW);
}



if ((hour >= 21) && (dayOfWeek ==1) ){
digitalWrite(led1, HIGH);
digitalWrite(led4, HIGH);
digitalWrite(led7, HIGH);
digitalWrite(led10, HIGH);
delay(1000);

  digitalWrite(led1, HIGH); 
  digitalWrite(led2, LOW);
  digitalWrite(led3, LOW);
delay(1000);

  digitalWrite(led1, LOW); 
  digitalWrite(led2, HIGH);
  digitalWrite(led3, LOW);
delay(1000);

  digitalWrite(led1, LOW); 
  digitalWrite(led2, LOW);
  digitalWrite(led3, HIGH);
delay(1000);

  digitalWrite(led1, HIGH); 
  digitalWrite(led2, LOW);
  digitalWrite(led3, LOW);


//=========================================================

  digitalWrite(led4, HIGH);
  digitalWrite(led5, LOW); 
  digitalWrite(led6, LOW);
delay(1000);

  digitalWrite(led4, LOW);
  digitalWrite(led5, HIGH); 
  digitalWrite(led6, LOW);
delay(1000);

  digitalWrite(led4, LOW);
  digitalWrite(led5, LOW); 
  digitalWrite(led6, HIGH);
delay(1000);

  digitalWrite(led4, HIGH);
  digitalWrite(led5, LOW); 
  digitalWrite(led6, LOW);



//========================================================

  digitalWrite(led7, HIGH);
  digitalWrite(led8, LOW);
  digitalWrite(led9, LOW);
delay(1000);

  digitalWrite(led7, LOW);
  digitalWrite(led8, HIGH);
  digitalWrite(led9, LOW);
delay(1000);

  digitalWrite(led7, LOW);
  digitalWrite(led8, LOW);
  digitalWrite(led9, HIGH);
delay(1000);

  digitalWrite(led7, HIGH);
  digitalWrite(led8, LOW);
  digitalWrite(led9, LOW);


//========================================================

  digitalWrite(led10, HIGH);
  digitalWrite(led11, LOW);
  digitalWrite(led12, LOW);
delay(1000);

  digitalWrite(led10, LOW);
  digitalWrite(led11, HIGH);
  digitalWrite(led12, LOW);
delay(1000);

  digitalWrite(led10, LOW);
  digitalWrite(led11, LOW);
  digitalWrite(led12, HIGH);
delay(1000);

  digitalWrite(led10, HIGH);
  digitalWrite(led11, LOW);
  digitalWrite(led12, LOW);
}


if ((hour >= 0) && (hour <= 2) && (dayOfWeek ==1) ){
digitalWrite(led1, HIGH);
digitalWrite(led4, HIGH);
digitalWrite(led7, HIGH);
digitalWrite(led10, HIGH);
delay(1000);

  digitalWrite(led1, HIGH); 
  digitalWrite(led2, LOW);
  digitalWrite(led3, LOW);
delay(1000);

  digitalWrite(led1, LOW); 
  digitalWrite(led2, HIGH);
  digitalWrite(led3, LOW);
delay(1000);

  digitalWrite(led1, LOW); 
  digitalWrite(led2, LOW);
  digitalWrite(led3, HIGH);
delay(1000);

  digitalWrite(led1, HIGH); 
  digitalWrite(led2, LOW);
  digitalWrite(led3, LOW);


//=========================================================

  digitalWrite(led4, HIGH);
  digitalWrite(led5, LOW); 
  digitalWrite(led6, LOW);
delay(1000);

  digitalWrite(led4, LOW);
  digitalWrite(led5, HIGH); 
  digitalWrite(led6, LOW);
delay(1000);

  digitalWrite(led4, LOW);
  digitalWrite(led5, LOW); 
  digitalWrite(led6, HIGH);
delay(1000);

  digitalWrite(led4, HIGH);
  digitalWrite(led5, LOW); 
  digitalWrite(led6, LOW);



//========================================================

  digitalWrite(led7, HIGH);
  digitalWrite(led8, LOW);
  digitalWrite(led9, LOW);
delay(1000);

  digitalWrite(led7, LOW);
  digitalWrite(led8, HIGH);
  digitalWrite(led9, LOW);
delay(1000);

  digitalWrite(led7, LOW);
  digitalWrite(led8, LOW);
  digitalWrite(led9, HIGH);
delay(1000);

  digitalWrite(led7, HIGH);
  digitalWrite(led8, LOW);
  digitalWrite(led9, LOW);


//========================================================

  digitalWrite(led10, HIGH);
  digitalWrite(led11, LOW);
  digitalWrite(led12, LOW);
delay(1000);

  digitalWrite(led10, LOW);
  digitalWrite(led11, HIGH);
  digitalWrite(led12, LOW);
delay(1000);

  digitalWrite(led10, LOW);
  digitalWrite(led11, LOW);
  digitalWrite(led12, HIGH);
delay(1000);

  digitalWrite(led10, HIGH);
  digitalWrite(led11, LOW);
  digitalWrite(led12, LOW);
}


else {

  digitalWrite(led1, LOW);
  digitalWrite(led2, LOW);
  digitalWrite(led3, LOW);
  digitalWrite(led4, LOW);
  digitalWrite(led5, LOW);
  digitalWrite(led6, LOW);
  digitalWrite(led7, LOW);
  digitalWrite(led8, LOW);
  digitalWrite(led9, LOW);
  digitalWrite(led10, LOW);
  digitalWrite(led11, LOW);
  digitalWrite(led12, LOW);

}

}


void loop() {
 
  lcd.setCursor(0, 0);
  lcd.print("PILIH MENU");
  lcd.setCursor(0, 1);
  lcd.print("1     2     3");
 
buttonState1 = digitalRead(buttonPin1);
buttonState2 = digitalRead(buttonPin2);
buttonState3 = digitalRead(buttonPin3);

while (buttonState1 == LOW) {
lcd.setCursor(8, 0);
lcd.print("  MENU 1");
displayTime1();
}

while (buttonState2 == LOW) {
lcd.setCursor(8, 0);
lcd.print("  MENU 2");
displayTime2();
}

while (buttonState3 == LOW) {
lcd.setCursor(8, 0);
lcd.print("  MENU 3");
displayTime3();
}

}





f. VIDEO HASILNYA












Update Contact :
No Wa/Telepon (puat) : 085267792168
No Wa/Telepon (fajar) : 085369237896
Email : Fajarudinsidik@gmail.com
NB :: Bila Sobat tertarik Ingin membuat software, membeli software, membeli source code, membeli hardware elektronika untuk kepentingan Perusahaan maupun Tugas Akhir (TA/SKRIPSI), Insyaallah Saya siap membantu, untuk Respon Cepat dapat menghubungi kami, melalui :

No Wa/Telepon (puat) : 085267792168
No Wa/Telepon (fajar) : 085369237896
Email: Fajarudinsidik@gmail.com


atau Kirimkan Private messanger melalui email dengan klik tombol order dibawah ini :

ٱلْحَمْدُ لِلَّهِ رَبِّ ٱلْعَٰلَمِين
Alhamdulilah hirobil alamin

وَ السَّلاَمُ عَلَيْكُمْ وَرَحْمَةُ اللهِ وَبَرَكَاتُهُ
wassalamualaikum warahmatullahi wabarakatuh


Artikel Membuat kendali led dengan ARDUINO + RTC, Diterbitkan oleh scodeaplikasi pada Senin, 23 Mei 2016. Semoga artikel ini dapat menambah wawasan Anda. Website ini dipost dari beberapa sumber, bisa cek disini sumber, Sobat diperbolehkan mengcopy paste / menyebar luaskan artikel ini, karena segala yang dipost di public adalah milik public. Bila Sobat tertarik Ingin membuat software, membeli software, membeli source code ,Dengan Cara menghubungi saya Ke Email: Fajarudinsidik@gmail.com, atau No Hp/WA : (fajar) : 085369237896, (puat) : 085267792168.

Tawk.to