lnwshop logo
  • ตอบกระทู้
  • ตั้งกระทู้ใหม่
QUOTE 

สอบถามโมดูลนาฬิกาครับ

(Guest)
ดนุชา (Guest)
IP: 180.183.62.x
1 ปีที่ผ่านมา

ผมใช้โมดูลนาฬิกาตามนี้นะครับ

http://www.myarduino.net/product/21/ds3231-module-%E0%B9%82%E0%B8%A1%E0%B8%94%E0%B8%B9%E0%B8%A5%E0%B8%99%E0%B8%B2%E0%B8%AC%E0%B8%B4%E0%B8%81%E0%B8%B2

ผมทดลองต่อโมดูลนาฬิกาตามตัวอย่างดูแล้วครับ พร้อมกับต่อกับมอเตอร์

1. ผมใช้ไฟจาก usb เสีบคาระหว่างเบรินโปรแกรม ผลปรากฎว่า พอถึงเวลาที่ตั้งไว้ มอเตอร์หมุนปกติครับ

2. ผมลองใช้ไฟจากรังถ่าน 4 ก้อน ผลปรากฎว่า พอถึงเวลาที่ตั้งไว้ มอเตอร์ไม่หมุนครับ

ผมก็ทำตามนี้ละนะครับ  // ตั้งเวลาเตือนให้เอา // ข้างหน้า RTC.adjust ออก

  //RTC.adjust(DateTime(__DATE__, __TIME__));

งงครับ

QUOTE 
ความคิดเห็นที่ #1
เจ้าของร้าน
เจ้าของร้าน
1 ปีที่ผ่านมา

ลองserial.print ดูครับว่ามันทำฟังก์ชันข้างในหรือไม่ มีปัญหาได้หลายกรณีครับ

QUOTE 
ความคิดเห็นที่ #2
(Guest)
ดนุชา (Guest)
IP: 202.29.243.x
1 ปีที่ผ่านมา

Code ตามนี้ครับ ผิดถูกยังไงบอกด้วยครับ

 

#include <AFMotor.h> //import your motor shield library

#include "Wire.h"

#include "SPI.h"  // not used here, but needed to prevent a RTClib compile error

#include "RTClib.h"

 

AF_DCMotor left_motor(4,MOTOR34_8KHZ); // set up motors.

AF_DCMotor right_motor(3,MOTOR34_64KHZ);

RTC_DS3231 RTC;

 

int outdigit = 13;

int daTimeStart = 12;      //Day

int moTimeStart = 9;      //Mount

int yeTimeStart = 2015;   //Year

int hTimeStart = 21;      //Hour

int mTimeStart = 5;      //Mimite

int sTimeStart = 0;       //Sec

 

int daTimeStop = 12;      //Day

int moTimeStop = 9;      //Mount

int yeTimeStop = 2015;   //Year

int hTimeStop = 21;      //Hour

int mTimeStop = 6;      //Mimite

int sTimeStop = 0;       //Sec

 

 

void setup() {

  Serial.begin(9600); // begin serial communitication  

  left_motor.setSpeed(240); //set the speed of the motors, between 0-255

  right_motor.setSpeed(240); 

  

  pinMode(outdigit, OUTPUT);  

  Wire.begin();

  RTC.begin();

  // ถ้าต้องการรีเซ็ทเวลาทุกครั้งให้เอา // ข้างหน้า RTC.adjust ออก

  //RTC.adjust(DateTime(__DATE__, __TIME__));

  

   if (! RTC.isrunning()) {

    Serial.println("RTC is NOT running!");

    // following line sets the RTC to the date & time this sketch was compiled

    RTC.adjust(DateTime(__DATE__, __TIME__));

  }

   DateTime now = RTC.now();

  /*กำหนดให้ นาฬิกาเตือนตอน 13:05

    RTC.setAlarm1Simple(23, 9);

   if (RTC.checkIfAlarm(1)) {

   Serial.println("Alarm Triggered");

   }

   

    // calculate a date which is 7 days and 30 seconds into the future

    DateTime future (now.unixtime() + 7 * 86400L + 30);

  */

 

  RTC.setAlarm1Simple(hTimeStart, mTimeStart);

  RTC.setAlarm2Simple(hTimeStop, mTimeStop);

  RTC.turnOnAlarm(1);

  

  if (RTC.checkAlarmEnabled(1)) {

    Serial.println("Alarm Enabled");

  }

}

 

void loop() {

  

  DateTime now = RTC.now();

  Serial.print(now.year(), DEC);

  Serial.print('/');

  Serial.print(now.month(), DEC);

  Serial.print('/');

  Serial.print(now.day(), DEC);

  Serial.print(' ');

  Serial.print(now.hour(), DEC);

  Serial.print(':');

  Serial.print(now.minute(), DEC);

  Serial.print(':');

  Serial.print(now.second(), DEC);

  Serial.println(' ');

  delay(1000);

  

  if(RTC.checkIfAlarm(1)){

  if((now.day()==daTimeStart) && (now.month()==moTimeStart) && (now.year()==yeTimeStart)) // Check date for start

  {    

      //if((now.hour()==hTimeStart) && (now.minute()==mTimeStart) && (now.second()==sTimeStart)) // Check Time for start

      //{      

        Serial.println("Turn on");

        gogo(5000);

        t_left(20000);

      //}

        RTC.setAlarm1Simple(hTimeStop, mTimeStop);

  }

  }

  

  if(RTC.checkIfAlarm(2)){

  if((now.day()==daTimeStop) && (now.month()==moTimeStop) && (now.year()==yeTimeStop)) // Check date for stop

  {    

      //if((now.hour()==hTimeStop) && (now.minute()==mTimeStop) && (now.second()==sTimeStop)) // Check Time for stop

      //{      

      //  Serial.println("Turn off");

        stopp(1000);

        gogo(5000);

        breakk();

     // }

  }

  }

}

 

void t_left(int s){

  left_motor.run(RELEASE);

  right_motor.run(RELEASE);

  delay(200);

  left_motor.run(RELEASE);

  right_motor.run(FORWARD);

  delay(s);                 //600

  left_motor.run(RELEASE);

  right_motor.run(RELEASE);

  delay(200);

}

 

void t_right(int s){

  right_motor.run(RELEASE);

  left_motor.run(RELEASE);

  delay(200);

  right_motor.run(RELEASE);

  left_motor.run(FORWARD);

  delay(s);                 //750

  right_motor.run(RELEASE);

  left_motor.run(RELEASE);

  delay(200);

}

 

void u_turn(int s){

  right_motor.run(RELEASE);

  left_motor.run(RELEASE);

  delay(200);

  right_motor.run(FORWARD);

  left_motor.run(BACKWARD);

  delay(s);                  //1000

  right_motor.run(RELEASE);

  left_motor.run(RELEASE);

  delay(200);

}

 

void gogo(int s){

  right_motor.run(FORWARD);

  left_motor.run(FORWARD);

  delay(s);

}

 

void stopp(int s){

  right_motor.run(RELEASE);

  left_motor.run(RELEASE);

  delay(s);

}

 

void breakk(){

  right_motor.run(RELEASE);

  left_motor.run(RELEASE);

}

QUOTE 
ความคิดเห็นที่ #3
เจ้าของร้าน
เจ้าของร้าน
1 ปีที่ผ่านมา

ใช้โมดูลตัวใหนครับ

1
แสดงความคิดเห็นที่ 1-3 จากทั้งหมด 3 ความคิดเห็น
ชื่อ
อีเมล
ข้อความ
  • ตอบกระทู้

อุปกรณ์ Arduino

ติดต่อ My arduino

       My arduino

 092-756-6556

 ID: myarduino

 myarduino.sale@gmail.com

 

 

 

MEMBER

เข้าสู่ระบบด้วย
เข้าสู่ระบบ
สมัครสมาชิก

ยังไม่มีบัญชีเทพ สร้างบัญชีใหม่ ไม่เกิน 5 นาที
สมัครสมาชิก (ฟรี)
Go to Top