1x แผงวงจรฐานเวลา DS1307 AT24C32 I2C

1x แผงวงจรฐานเวลา DS1307 AT24C32 I2C
1x แผงวงจรฐานเวลา DS1307 AT24C32 I2C1x แผงวงจรฐานเวลา DS1307 AT24C32 I2C1x แผงวงจรฐานเวลา DS1307 AT24C32 I2C1x แผงวงจรฐานเวลา DS1307 AT24C32 I2C
รหัสสินค้า 0097
หมวดหมู่ อุณหภูมิ,ความชื้น,โฟล์วน้ำ,วาล์ว, นาฬิกา (Temperature,Humidity,Moisture, Flow, Valve, Clock)
ราคาปกติ 60.00 บาท
ลดเหลือ 50.00 บาท
สถานะสินค้า พร้อมส่ง
ลงสินค้า 29 ส.ค. 2556
อัพเดทล่าสุด 7 ธ.ค. 2562
คงเหลือ 38 ชิ้น(pcs)
จำนวน
ชิ้น(pcs)
หยิบลงตะกร้า
บัตรประชาชน
บุ๊คแบ๊งค์
คุ้มครองโดย LnwPay

 

 

1x Real time clock DS1307 AT24C32 I2C Interface module

โมดูลปฏิทินและฐานเวลานาฬิกา และหน่วยความจำแบบ EEPROM

 


รายการประกอบด้วย


1x แผงวงจรฐานเวลา DS1307 AT24C32 I2C

1x แบตเตอรี่ CR2032  3V Panasonic Lithium Battery 

 


Specifications

 

 

Real time clock DS1307 AT24C32 module

Arduino code สำหรับทดสอบ  DS1307

///////////////////////////////////////////

 

 

#include

const int DS1307 = 0x68; // Address of DS1307 see data sheets

const char* days[] =

{"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"};

const char* months[] =

{"January", "February", "March", "April", "May", "June", "July", "August","September", "October", "November", "December"};

 

// Initializes all values: 

byte second = 0;

byte minute = 0;

byte hour = 0;

byte weekday = 0;

byte monthday = 0;

byte month = 0;

byte year = 0;

 

void setup() {

  Wire.begin();

  Serial.begin(9600);

  delay(2000); // This delay allows the MCU to read the current date and time.

 

  Serial.print("The current date and time is: ");

  printTime();

  Serial.println("Please change to newline ending the settings on the lower right of the Serial Monitor");

  Serial.println("Would you like to set the date and time now? Y/N");

 

  while (!Serial.available()) delay(10);

  if (Serial.read() == 'y' || Serial.read() == 'Y')

 

  // This set of functions allows the user to change the date and time

  {

    Serial.read();

    setTime();

    Serial.print("The current date and time is now: ");

    printTime();

  }

 

 

  Serial.println("Thank you.");

}

 

// Continuous function for converting bytes to decimals and vice versa

void loop() 

{

  

    Serial.read();

   

    Serial.print("The current date and time is now: ");

    printTime();

    delay(1000);

  

}

byte decToBcd(byte val) {

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

}

byte bcdToDec(byte val) {

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

}

 

 

// This set of codes is allows input of data

void setTime() {

  Serial.print("Please enter the current year, 00-99. - ");

  year = readByte();

  Serial.println(year);

  Serial.print("Please enter the current month, 1-12. - ");

  month = readByte();

  Serial.println(months[month-1]);

  Serial.print("Please enter the current day of the month, 1-31. - ");

  monthday = readByte();

  Serial.println(monthday);

  Serial.println("Please enter the current day of the week, 1-7.");

  Serial.print("1 Sun | 2 Mon | 3 Tues | 4 Weds | 5 Thu | 6 Fri | 7 Sat - ");

  weekday = readByte();

  Serial.println(days[weekday-1]);

  Serial.print("Please enter the current hour in 24hr format, 0-23. - ");

  hour = readByte();

  Serial.println(hour);

  Serial.print("Please enter the current minute, 0-59. - ");

  minute = readByte();

  Serial.println(minute);

  second = 0;

  Serial.println("The data has been entered.");

 

  // The following codes transmits the data to the RTC

  Wire.beginTransmission(DS1307);

  Wire.write(byte(0));

  Wire.write(decToBcd(second));

  Wire.write(decToBcd(minute));

  Wire.write(decToBcd(hour));

  Wire.write(decToBcd(weekday));

  Wire.write(decToBcd(monthday));

  Wire.write(decToBcd(month));

  Wire.write(decToBcd(year));

  Wire.write(byte(0));

  Wire.endTransmission();

  // Ends transmission of data

}

 

 

byte readByte() {

  while (!Serial.available()) delay(10);

  byte reading = 0;

  byte incomingByte = Serial.read();

  while (incomingByte != '\n') {

    if (incomingByte >= '0' && incomingByte <= '9')

      reading = reading * 10 + (incomingByte - '0');

    else;

    incomingByte = Serial.read();

  }

  Serial.flush();

  return reading;

}

 

 

void printTime() {

  char buffer[3];

  const char* AMPM = 0;

  readTime();

  Serial.print(days[weekday-1]);

  Serial.print(" ");

  Serial.print(months[month-1]);

  Serial.print(" ");

  Serial.print(monthday);

  Serial.print(", 20");

  Serial.print(year);

  Serial.print(" ");

  if (hour > 12) {

    hour -= 12;

    AMPM = " PM";

  }

  else AMPM = " AM";

  Serial.print(hour);

  Serial.print(":");

  sprintf(buffer, "%02d", minute);

  Serial.print(buffer);

  Serial.print(":");

  Serial.print(second);

  Serial.println(AMPM);

}

 

 

void readTime() {

  Wire.beginTransmission(DS1307);

  Wire.write(byte(0));

  Wire.endTransmission();

  Wire.requestFrom(DS1307, 7);

  second = bcdToDec(Wire.read());

  minute = bcdToDec(Wire.read());

  hour = bcdToDec(Wire.read());

  weekday = bcdToDec(Wire.read());

  monthday = bcdToDec(Wire.read());

  month = bcdToDec(Wire.read());

  year = bcdToDec(Wire.read());

 

}

วิธีการชำระเงิน

บมจ. ธนาคารกสิกรไทย สาขาโลตัส รังสิต คลอง7 ออมทรัพย์
บมจ. ธนาคารกรุงไทย สาขาบิ๊กซีรังสิตคลอง 6 ออมทรัพย์

ค้นหารหัสพัสดุ

  • ค้นหา
*ใส่ เบอร์มือถือ หรือ email ที่ใช้ในการสั่งซื้อ

หมวดหมู่สินค้า

ระบบสมาชิก

สถิติร้านค้า

ร้านค้าอัพเดท20 ต.ค. 2568

ติดต่อเรา

0899161566

ติดตามสินค้า

พูดคุย-สอบถาม