當談到我們所愛的人時,我們總是希望他們保持健康和健康。但是如果他們生病了,忘記按時吃藥會怎么樣。我們會擔心的,對吧?在醫院,病人很多,很難提醒每一位病人按時吃藥。傳統方式需要人為提醒他們按時服藥。數字時代并沒有遵循這一點,我們可以使用機器來做到這一點。Smart Medicine Reminder的應用非常廣泛,可以在家中的患者、醫院的醫生以及許多其他地方使用。在提醒方面,可以有多種提醒方式:
在顯示器上顯示
通過電子郵件或電話發送通知
使用移動應用程序
蜂鳴器
接電話
在提醒當前時間的同時提醒下次用藥時間
我們可以根據需要組合方式。為了簡單起見,我們使用 Arduino 制作了一個簡單的藥物提醒,提醒我們每天服用 1 次或 2 次或 3 次藥物。可以使用按鈕選擇時隙。此外,它還顯示當前日期和時間。我們將進一步將其擴展到 IoT 項目傳入的文章,其中將向用戶發送電子郵件或 SMS 通知。這種藥物提醒也可以與患者監測系統集成。
使用 Arduino 進行自動醫學提醒所需的組件
Arduino Uno(我們也可以使用其他 Arduino 板,如 Pro mini、Nano)
RTC DS3231 模塊
16x2 液晶顯示器
蜂鳴器
LED(任何顏色)
面包板
按按鈕
10K電位器
10K,1K電阻
跳線
使用 Arduino 電路的 Arduino 醫學提醒
使用 Arduino 構建智能藥盒的完整電路圖如下所示
以下是Arduino 與不同外設的引腳連接
在這個醫學提醒項目中,RTC DS3231 通過 I2C 協議與 Arduino Uno 連接。您還可以使用 RTC IC DS1307 通過 Arduino 讀取時間。RTC DS3231 還具有內置的 32k 內存,可用于存儲附加數據。RTC 模塊通過 Arduino uno 的 3.3V 引腳供電。一個16x2 LCD 顯示器使用 SPI 接口。蜂鳴器r用于提醒和提醒該吃藥了。四個按鈕用于每個具有不同選擇功能的地方。第一個按鈕用于提醒每天吃一次藥。第二個按鈕用于每天提醒兩次,第三個按鈕用于每天提醒三次。當用戶聽到警報時,第四個按鈕用于停止蜂鳴器。
自動用藥提醒系統的工作
藥丸提醒警報器使用5V 電源供電。當它第一次啟動時,它會顯示一個歡迎按摩“歡迎來到電路文摘”。LCD 屏幕設置為在三個屏幕中循環。第一個屏幕將按摩顯示為“保持健康,早日康復”。第二個屏幕是一個幫助屏幕,告訴按選擇按鈕選擇任何一個時間段進行提醒(一天一次/兩次/三次)。時隙在程序中是可變的,可以進行相應的配置。現在我們已將其固定為三個持續時間,即上午 8 點、下午 2 點和晚上 8 點。
我們將時隙分為三種模式。當用戶按下第一個按鈕時,模式 1 選擇每天早上 8 點服藥一次。當用戶按下第二個按鈕時,模式 2 選擇每天早上 8 點和晚上 8 點服藥兩次。如果用戶按下第三個按鈕,模式 3 選擇每天早上 8 點、下午 2 點和晚上 8 點服藥三次。
我們還可以添加一個讓蜂鳴器暫停 10 分鐘的功能(不包括在這個項目中)。當用戶通過按下按鈕選擇所需的時隙時,用戶輸入被記錄并且時間從 RTC 中獲取。當時間與所選時間段匹配時,蜂鳴器開始蜂鳴。用戶可以通過按 STOP 按鈕停止蜂鳴器。下一個槽提醒繼續相同的過程。完整的過程顯示在本文末尾給出的視頻中。
為醫學提醒編程 Arduino UNO
一旦想到了提醒服藥的方法,編寫程序就很容易了。在這里,它將在顯示屏上顯示提醒,蜂鳴器發出蜂鳴聲并使用 LED 指示。它還可以選擇三個時間段(每天一次/兩次/三次),當時間到達時,通過蜂鳴器蜂鳴器開始提醒患者。然后整個系統將如下所示:
用戶在顯示屏上獲得幫助說明 》 用戶選擇時間段(一次/天、兩次/天、三次/天) 》 在顯示屏上打印確認消息 》 計時開始 》 當時間與用戶選擇的時間匹配時蜂鳴器和 LED 啟動 》 用戶停止按下停止按鈕 》 結束
如果我們想添加更多功能,我們可以更改程序和硬件。為了以更簡單的方式理解,我們將程序分解為小函數。這些功能易于理解和實現。完整的程序在本項目結束時給出。讓我們從程序開始。
因為,我們使用了其他外圍設備,如 16x2 LCD 顯示器、RTC DS3231,所以我們首先必須包含庫。所需庫如下:
?
(https://github.com/adafruit/RTClib)
?
如果 Arduino 未打開,EEPROM 庫用于跟蹤用戶選擇輸入。當用戶打開 Arduino 電源時,它會使用 EEPROM 庫獲取按鈕的先前狀態。使用 Wire.h 庫是因為 RTC DS3231 模塊使用 I2C 進行通信。
經常檢查 RTC 是否正確接線或沒有損壞,因為 RTC 將在整個提醒系統的計時中發揮重要作用。
?
if (!rtc.begin()) { // 檢查 rtc 是否連接 Serial.println("Couldn't find RTC"); 而(1); } if (rtc.lostPower()) { Serial.println("RTC 斷電,讓我們設置時間!"); }
?
時間調整可以通過兩種方式完成,或者使用系統編譯時間自動進行,或者手動輸入。一旦我們設置了時間,請注釋以下行,除非您想再次更改 RTC 時間。
?
rtc.adjust(日期時間(F(__DATE__), F(__TIME__))); //rtc.adjust(DateTime(2019, 1, 10, 7, 59, 52));
?
此switch 語句用于讀取先前保存的按鈕狀態并恢復該狀態以獲得適當且準確的提醒時間。
?
val2 = EEPROM.read(addr); // 讀取之前保存的按鈕值,從之前離開的位置開始 switch (val2) { case 1: Serial.println("Set for 1/day"); 推1狀態= 1; push2state = 0; push3state = 0; pushVal = 01; 休息; 案例2: Serial.println("設置為2/天"); 推1狀態= 0; push2state = 1; push3state = 0; pushVal = 10; 休息; 案例 3: Serial.println("設置為 3/天"); 推1狀態= 0; push2state = 0; push3state = 1; pushVal = 11; 休息; }
?
此語句用于獲取毫秒以用于對定義的間隔屏幕循環進行計時和控制。
?
currentMillisLCD = 毫秒();// 在定義的時間間隔啟動 LCD 屏幕切換毫秒
?
開始讀取連接到按鈕的數字引腳。
?
push1state = digitalRead(push1pin); push2state = digitalRead(push2pin); push3state = digitalRead(push3pin); stopinState = digitalRead(stopPin);
?
以下函數用于讀取按鈕狀態并將其寫入 EEPROM。每當按下按鈕時,狀態都會寫入 EEPROM。它還在所選用戶輸入選項的 LCD 顯示屏上打印消息。類似地,使用了函數push2()和push3()。
?
void push1() { // 每天設置一次提醒的函數 if (push1state == 1) { push1state = 0; push2state = 0; push3state = 0; // pushPressed = true; EEPROM.write(addr, 1); Serial.print("Push1 寫入:"); Serial.println(EEPROM.read(addr)); // 用于調試 pushVal = 1; //保存push button-1的狀態 lcd.clear(); lcd.setCursor(0, 0); lcd.print("提醒設置"); lcd.setCursor(0, 1); lcd.print("一次/天!"); 延遲(1200); lcd.clear(); } }
?
以下功能用于停止蜂鳴器和 LED。提出建議總是好的。在“溫水服藥”顯示屏上打印一條建議信息。
?
void stopPins() { //當用戶按下停止按鈕時停止蜂鳴的功能 if (stopinState == 1) { // stopinState = 0; // pushPressed = true; 按下= 1; lcd.clear(); lcd.setCursor(0, 0); lcd.print("吃藥"); lcd.setCursor(0, 1); lcd.print("用溫水"); 延遲(1200); lcd.clear(); } }
?
以下功能與計時無關,但始終在三個屏幕中循環,以幫助用戶。當我們對患者保持關心時,讓我們打印一條問候信息,因為我們知道情感支持對于更快地治愈患者非常有幫助。您可以選擇自己的創意信息。讓我們打印一條消息“保持健康,早日康復”。
第二個屏幕用于向患者發出指示,如“按下按鈕提醒......”。??第三個屏幕用于簡單地顯示當前日期和時間。
?
void changeScreen() { //屏幕循環函數 // 每隔定義的 intervalLCD 開始切換屏幕 if (currentMillisLCD - previousMillisLCD > intervalLCD) // 保存上次更改顯示的時間 { previousMillisLCD = currentMillisLCD; 屏幕++; 如果(屏幕> maxScreen){ 屏幕= 0;// 所有屏幕結束 -> 從第一個開始 } isScreenChanged = true; } // 開始顯示當前屏幕 if (isScreenChanged) // 僅當屏幕改變時才更新屏幕。 { isScreenChanged = false; // 為下一次迭代重置 switch (screens) { case getWellsoon: gwsMessege(); // 快點好起來消息 中斷; 案例 HELP_SCREEN: helpScreen(); // 指令屏幕 中斷; case TIME_SCREEN: timeScreen (); // 打印日期和時間 間隔; 默認值: //未設置。 休息; } } }
?
如果選擇的時間已到,此功能用于開始同時發出蜂鳴聲和 LED 閃爍。
?
void startBuzz() { // 當時間達到定義的時間間隔時開始蜂鳴的函數 // if (pushPressed == false) { if (pushpressed == 0) { Serial.println("pushpressed is false in blink"); 無符號長 currentMillis = millis(); if (currentMillis - previousMillis >= interval) { previousMillis = currentMillis; // 保存上次閃爍 LED 的時間 Serial.println("Start Buzzing"); if (ledState == LOW) { // 如果 LED 關閉,則將其打開,反之亦然: ledState = HIGH; } 其他 { ledState = 低; } digitalWrite(ledPin, ledState); } } else if (pushpressed == 1) { Serial.println("pushpressed 為真"); ledState = 低; 數字寫入(ledPin,ledState); } }
?
此功能用于比較用戶在上午 8 點選擇的時間段,并開始蜂鳴器蜂鳴和 LED 閃爍,直到用戶按下停止按鈕。同樣,函數void at2pm()?和void at8pm用于啟動蜂鳴器并在下午 2 點和 8 點引導。
?
void at8am() { // 函數在早上 8 點開始嗡嗡聲 DateTime now = rtc.now(); if (int(now.hour()) >= buzz8amHH) { if (int(now.minute()) >= buzz8amMM) { if (int(now.second()) > buzz8amSS) { ////// ////////////////////////////////////// startBuzz() ; ///////////////////////////////////////// /// } } } }
?
這就是您可以使用 Arduino 輕松制作自己的自動醫學提醒的方法。
//Medicine Reminder using Arduino Uno?
// 提醒在早上 8 點、下午 2 點、晚上 8 點吃藥?
/* 電路:
? ?LCD RS 引腳到數字引腳 12?
? ?LCD 使能引腳到數字引腳 11?
? ?LCD D4 引腳到數字引腳 5?
? ?LCD D5 引腳到數字pin 4?
? ?LCD D6 pin to digital pin 3?
? ?LCD D7 pin to digital pin 2?
? ?LCD R/W pin to ground?
? ?LCD VSS pin to ground?
? ?LCD VCC pin to 5V?
? ?10K 電阻:
? ?連接到+5V 和接地
? ?抽頭到 LCD VO pin (pin 3 )*/
#include
#include
#include
#include
int pushVal = 0;? ? ? ? ? ? ? ? ? ? ? ? ? ?
整數值;
詮釋 val2;?
整數地址 = 0;
RTC_DS3231 實時時鐘;
const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2; // 液晶引腳
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
#define getWellsoon 0? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
#define HELP_SCREEN 1?
#define TIME_SCREEN 2
//bool pushPressed; // 跟蹤按鈕狀態的標志?
int pushpressed = 0;?
常量 int ledPin = LED_BUILTIN; // 蜂鳴器和 LED 引腳
int ledState = LOW;?
整數信號 = 0;
國際嗡嗡聲= 13;? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
int push1state,push2state,push3state,stopinState = 0;//??
int push1Flag, push2Flag, Push3Flag = false; // 按鈕標志?
int push1pin = 9;?
int push2pin = 8;?
int push3pin = 7;?
int stopPin = A0;?
int屏幕= 0;// 屏幕顯示
int maxScreen = 2; // 屏幕計數
bool isScreenChanged = true;
很久以前Millis = 0;? ? ? ? ? ?
長間隔 = 500;// 蜂鳴間隔
unsigned long currentMillis;
很久以前MillisLCD = 0; // 液晶屏更新
長間隔LCD = 2000; // 屏幕循環間隔
unsigned long currentMillisLCD;
// 設置提醒更改時間
int buzz8amHH = 8; // HH - hours ##將這些設置為 24 小時的提醒時間 Format??
int buzz8amMM = 00; // MM - 分鐘
int buzz8amSS = 00; // SS - 秒
詮釋嗡嗡聲2pmHH = 14;// HH - 小時
int buzz2pmMM = 00; // MM - 分鐘
int buzz2pmSS = 00; // SS - 秒
詮釋嗡嗡聲8pmHH = 20;// HH - 小時
int buzz8pmMM = 00; // MM - 分鐘
int buzz8pmSS = 00; // SS - 秒
int nowHr, nowMin, nowSec; // 顯示當前 mm,hh,ss
// 所有消息
void gwsMessege(){ // 打印快點恢復 messege?
? ? lcd.clear();?
? ? lcd.setCursor(0, 0);?
? ? lcd.print("保持健康:)"); //
? ? 加油 lcd.setCursor(0, 1);?
? ? lcd.print("快點好起來:)"); // 希望?
}
void helpScreen() { // 在 LCD 中顯示第一個屏幕的函數
? ? lcd.clear();?
? ? lcd.setCursor(0, 0);?
? ? lcd.print("按下按鈕");?
? ? lcd.setCursor(0, 1);?
? ? lcd.print("提醒...!");?
?}
void timeScreen() { // 在 LCD 屏幕上顯示日期和時間的函數
? DateTime now = rtc.now(); // 獲取 rtc 時間并在顯示中打印
? ? lcd.clear();?
? ? lcd.setCursor(0, 0);?
? ? lcd.print("時間:");?
? ? lcd.setCursor(6, 0);?
? ? lcd.print(nowHr = now.hour(), DEC);?
? ? lcd.print(":");?
? ? lcd.print(nowMin = now.minute(), DEC);?
? ? lcd.print(":");?
? ? lcd.print(nowSec = now.second(), DEC);?
? ? lcd.setCursor(0, 1);?
? ? lcd.print("日期:");?
? ? lcd.print(now.day(), DEC);?
? ? lcd.print("/");?
? ? lcd.print(now.month(), DEC);?
? ? lcd.print("/");?
? ? lcd.print(now.year(), 十二月);
}
無效設置(){
? 序列號.開始(9600);// 開始串口調試
? if (!rtc.begin()) { // 檢查 rtc 是否連接?
? ? Serial.println("Couldn't find RTC");?
? ? 而(1);
? }?
? if (rtc.lostPower()) {?
? ? Serial.println("RTC 斷電,讓我們設置時間!");?
? }
// rtc.adjust(DateTime(F(__DATE__), F(__TIME__))); // 取消注釋以設置當前時間,然后在您設置時間時在下次上傳時注釋
? rtc.adjust(DateTime(2019, 1, 10, 7, 59, 30)); // 手動設置時間
? lcd.begin(16, 2);?
? lcd.clear();?
? lcd.setCursor(0, 0);?
? lcd.print("歡迎光臨"); // 在啟動時打印一條消息
? lcd.setCursor(0, 1);?
? lcd.print("電路文摘");?
? 延遲(1000);
? pinMode(push1pin,輸入);// 定義按鈕引腳類型
? pinMode(push2pin, INPUT);?
? pinMode(push3pin,輸入);
? pinMode(stopPin,輸入);
? pinMode(ledPin,輸出);
? 延遲(200);
? Serial.println(EEPROM.read(addr));?
? val2 = EEPROM.read(addr); // 讀取之前保存的按鈕值,從之前離開的位置開始
? switch (val2) {
? ? 案例1:
? ? ? Serial.println("設置為1/天");?
? ? ? 推1狀態= 1;
? ? ? push2state = 0;?
? ? ? push3state = 0;?
? ? ? pushVal = 1;?
? ? ? 休息;?
? ? 案例2:
? ? ? Serial.println("設置為2/天");?
? ? ? 推1狀態= 0;
? ? ? push2state = 1;?
? ? ? push3state = 0;?
? ? ? pushVal = 2;
? ? ? 休息;?
? ? 案例 3:
? ? ? Serial.println("設置為 3/天");?
? ? ? 推1狀態= 0;
? ? ? push2state = 0;?
? ? ? push3state = 1;?
? ? ? pushVal = 3;
? ? ? 休息;?
? }
}
無效循環(){
? 推1();//調用設置一次/天?
? push2(); //調用設置兩次/天?
? push3(); //調用設置三次/天?
? ? if (pushVal == 1) { // 如果按下按鈕 1 則在上午 8 點提醒
? ? at8am(); // 早上 8 點開始 uzzing 的函數?
? }?
? else if (pushVal == 2) { // 如果按下按鈕 2 則在上午 8 點和晚上 8 點提醒
? ? at8am();? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
? ? 晚上 8 點();//函數在 8mm 處開始 uzzing?
? }
? else if (pushVal == 3) { // 如果按下按鈕 3,則在上午 8 點和晚上 8 點提醒
? ? at8am();?
? ? 下午 2 點();//函數在 8 毫米處開始 uzzing?
? ? at8pm();?
? }?
? currentMillisLCD = millis(); // 以定義的時間間隔啟動 LCD 屏幕切換的
? 毫秒 push1state = digitalRead(push1pin); // 開始讀取所有按鈕引腳
? push2state = digitalRead(push2pin);?
? push3state = digitalRead(push3pin);
? stopinState = digitalRead(stopPin);?
? 停止引腳();//調用停止嗡嗡聲
? 更改屏幕();// 屏幕循環函數
}
// 按鈕
void push1() { // 每天設置一次提醒的函數?
? if (push1state == 1) {?
? ? push1state = 0;?
? ? push2state = 0;?
? ? push3state = 0;?
// pushPressed = true;?
? ? EEPROM.write(addr, 1);?
? ? Serial.print("Push1 寫入:"); Serial.println(EEPROM.read(addr)); // 用于調試
? ? pushVal = 1; //保存push button-1的狀態?
? ? lcd.clear();?
? ? lcd.setCursor(0, 0);?
? ? lcd.print("提醒設置");?
? ? lcd.setCursor(0, 1);?
? ? lcd.print("一次/天!");?
? ? 延遲(1200);
? ? lcd.clear();?
? }?
}
void push2() { // 每天設置兩次提醒的函數
? if (push2state == 1) {?
? ? push2state = 0;?
? ? 推1狀態= 0;
? ? push3state = 0;?
// pushPressed = true;?
? ? EEPROM.write(addr, 2);?
? ? Serial.print("Push2 寫的:"); Serial.println(EEPROM.read(addr));?
? ? pushVal = 2;?
? ? lcd.clear();?
? ? lcd.setCursor(0, 0);?
? ? lcd.print("提醒設置");?
? ? lcd.setCursor(0, 1);?
? ? lcd.print("每天兩次!");?
? ? 延遲(1200);
? ? lcd.clear();?
? }?
}
void push3() { // 每天設置三次提醒的函數
? if (push3state == 1) {?
? ? push3state = 0;?
? ? 推1狀態= 0;
? ? push2state = 0;?
// pushPressed = true;?
? ? EEPROM.write(addr, 3);?
? ? Serial.print("Push3 寫的:"); Serial.println(EEPROM.read(addr));?
? ? pushVal = 3;?
? ? lcd.clear();?
? ? lcd.setCursor(0, 0);?
? ? lcd.print("提醒設置");?
? ? lcd.setCursor(0, 1);?
? ? lcd.print("每天三次!");?
? ? 延遲(1200);
? ? lcd.clear();?
? }?
}
void stopPins() { //當用戶按下停止按鈕時停止嗡嗡聲
? if (stopinState == 1) {?
// stopinState = 0;?
// pushPressed = true;?
? ? 按下= 1;
? ? lcd.clear();?
? ? lcd.setCursor(0, 0);?
? ? lcd.print("吃藥");?
? ? lcd.setCursor(0, 1);?
? ? lcd.print("用溫水");?
? ? 延遲(1200);
? ? lcd.clear();?
? }?
}
void startBuzz() { // 當時間到達定義的時間間隔時開始蜂鳴的函數
// if (pushPressed == false) {?
?if (pushpressed == 0) {?
? ? Serial.println("pushpressed is false in blink");?
? ? 無符號長 currentMillis = millis();?
? ? if (currentMillis - previousMillis >= interval) {?
? ? ? previousMillis = currentMillis; // 保存上次閃爍 LED 的時間
? ? ? Serial.println("Start Buzzing");?
? ? ? if (ledState == LOW) { // 如果 LED 關閉,則將其打開,反之亦然:
? ? ? ? ledState = HIGH;?
? ? ? } 其他 {?
? ? ? ? ledState = 低;
? ? ? }?
? ? ? digitalWrite(ledPin, ledState);?
? ? }?
? }?
? else if (pushpressed == 1) {?
? ? Serial.println("pushpressed 為真");
? ? ledState = 低;
? ? 數字寫入(ledPin,ledState);
? }?
}
void at8am() { // 函數在早上 8 點開始嗡嗡聲
? DateTime now = rtc.now();?
? if (int(now.hour()) >= buzz8amHH) {?
? ? if (int(now.minute()) >= buzz8amMM) {?
? ? ? if (int(now.second()) > buzz8amSS) {?
? ? ? ? ////// ///////////////////////////////////////
? ? ? ? 開始嗡嗡聲();
? ? ? ? ///////////////////////////////////////// ///?
? ? ? }?
? ? }?
? }?
}
void at2pm() { // 函數在下午 2 點開始嗡嗡聲
? DateTime now = rtc.now();?
? if (int(now.hour()) >= buzz2pmHH) {?
? ? if (int(now.minute()) >= buzz2pmMM) {?
? ? ? if (int(now.second()) > buzz2pmSS) {?
? ? ? ? ////// ////////////////////////////////////?
? ? ? ? startBuzz();?
? ? ? ? /////////////////////////////////////////?
? ? ? }?
? ? }?
? }?
}
void at8pm() { // 函數在晚上 8 點開始嗡嗡聲
? DateTime now = rtc.now();?
? if (int(now.hour()) >= buzz8pmHH) {?
? ? if (int(now.minute()) >= buzz8pmMM) {?
? ? ? if (int(now.second()) > buzz8pmSS) {?
? ? ? ? ////// //////////////////////////////////////?
? ? ? ? startBuzz() ;?
? ? ? ? ///////////////////////////////////////// ///?
? ? ? }?
? ? }?
? }?
}
//屏幕循環
void changeScreen() { //屏幕循環函數
? // 每隔定義的intervalLCD開始切換屏幕
? if (currentMillisLCD - previousMillisLCD > intervalLCD) // 保存上次更改顯示的時間
? {?
? ? previousMillisLCD = currentMillisLCD;?
? ? 屏幕++;
? ? 如果(屏幕> maxScreen){
? ? ? 屏幕= 0;// 所有屏幕結束 -> 從第一個開始
? ? }?
? ? isScreenChanged = true;?
? }
? // 開始顯示當前屏幕
? if (isScreenChanged) // 僅當屏幕改變時才更新屏幕。
? {?
? ? isScreenChanged = false; // 為下一次迭代重置
? ? switch (screens)?
? ? {?
? ? ? case getWellsoon:?
? ? ? ? gwsMessege(); // 快點好起來消息
? ? ? ? 中斷;
? ? ? 案例 HELP_SCREEN:? ? ? ? ? ? ? ?
? ? ? ? helpScreen(); // 指令屏幕
? ? ? ? 中斷;
? ? ? case TIME_SCREEN: timeScreen?
? ? ? ? (); // 打印日期和時間
? ? ? ? 間隔;
? ? ? 默認值:
? ? ? ? //未設置。
? ? ? ? 休息;?
? ? }?
? }?
}
評論
查看更多