
نوشته اصلی توسط
peyman180
کسی نیست کمک کنه .....
ببین من نمیتونم تو کدت دست ببرم ولی برات کدی می نویسم که وصعیت یک پین رو هر 2 دقیقه چک کنه و اگر تو دقیقه خاموش بود بعد از دو دقیقه یه کاری بکنه :
کد:
const int SWpin = 13; // the number of the LED pin
long previousMillis = 0; // will store last time LED was updated
long interval = 120000; // interval at which to blink (milliseconds)
void setup() {
// set the digital pin as output:
pinMode(SWpin, INPUT);
}
void loop()
{
unsigned long currentMillis = millis();
if ( swState() == LOW) {
if (currentMillis - previousMillis > interval) {
previousMillis = currentMillis;
//send GPS data
}
}
if ( swState() == HIGH) {
previousMillis = currentMillis;
}
}
bool swState() {
int data = digitalRead(SWpin);
if (data == HIGH) {
return HIGH;
}
if (data == LOW) {
return LOW;
}
}
روند این کد به این صورت هست که میاد توی لوپ وضعیت پین سوئیچ رو دائم چک می کنه
اگر LOW بود میاد چک میکنه از آخرین باری که دیتا ارسال شده دو دقه گذشته یا نه
اگه گذشته باشه دستور ارسال دیتا رو می نویسه
اگر نگذشته باشه کاری نمی کنه
اگر هم وضعیت سوئیچ HIGH بود میاد آخرین زمان رو آپدیت می کنه