🔒 Closed ARDUINO HELP

Status
Not open for further replies.

k4rm4

Honorary Poster
Kapag ang value ng potentiometer ay naging greater than 500 ng tatlong beses sa loob ng 10 secs. Tsaka po iilaw ang LED.
Nalilito po kasi ako sa millis() function. Sana po may makatulong :(

CODE: You do not have permission to view the full content of this post. Log in or register now.
 
Nalilito ako, hinde ko rin alam sakto ba to.

C++:
const int ledPin = 2;
const int analogPin = A0;
int peakCount = 0;          
int lastPeakValue = 0;

unsigned long previousTime = 0;
unsigned long interval = 5000;

void setup()
{
  Serial.begin(9600);
    pinMode( ledPin, OUTPUT);
}

void loop()
{
      int peakValue = analogRead( analogPin);
 
      unsigned long currentTime = millis();
     
      if(peakValue > 500)
      {
          peakCount++;
          previousTime = currentTime;
         
          Serial.print("Time: ");
          Serial.print(previousTime);
          Serial.print(" ");
 
          Serial.print( "Peak!  (");
          Serial.print( peakCount);
          Serial.println( ")");
          if(peakCount>=3 && previousTime<=10000)
          {
             digitalWrite(ledPin, HIGH);
          }    
      }
      lastPeakValue = peakValue;
   
      delay(100);
}
 
Nalilito ako, hinde ko rin alam sakto ba to.

C++:
const int ledPin = 2;
const int analogPin = A0;
int peakCount = 0;         
int lastPeakValue = 0;

unsigned long previousTime = 0;
unsigned long interval = 5000;

void setup()
{
  Serial.begin(9600);
    pinMode( ledPin, OUTPUT);
}

void loop()
{
      int peakValue = analogRead( analogPin);
 
      unsigned long currentTime = millis();
    
      if(peakValue > 500)
      {
          peakCount++;
          previousTime = currentTime;
        
          Serial.print("Time: ");
          Serial.print(previousTime);
          Serial.print(" ");
 
          Serial.print( "Peak!  (");
          Serial.print( peakCount);
          Serial.println( ")");
          if(peakCount>=3 && previousTime<=10000)
          {
             digitalWrite(ledPin, HIGH);
          }   
      }
      lastPeakValue = peakValue;
  
      delay(100);
}
Hindi po eh. Kailangan daw po may buffer para mairecord yung events.
 
Hindi po eh. Kailangan daw po may buffer para mairecord yung events.
dapat po ba kunin yung peakValue, lastpeakValue, time in ms, tapos yung peakCount? yun lang ba yung kukunin, pano po yun peakValue < 500 irerecord din yun?
 
dapat po ba kunin yung peakValue, lastpeakValue, time in ms, tapos yung peakCount? yun lang ba yung kukunin, pano po yun peakValue < 500 irerecord din yun?
Yes po kukunin po ang time in ms gamit po ang millis() function
Basta po kapag ang peakValue ay umabot ng 500 pataas 3 times in 5 seconds iilaw po ang LED.
 
Status
Not open for further replies.

Similar threads

About this Thread

  • 7
    Replies
  • 756
    Views
  • 3
    Participants
Last reply from:
k4rm4

Trending Topics

Online now

Members online
1,078
Guests online
1,698
Total visitors
2,776

Forum statistics

Threads
2,287,384
Posts
29,044,386
Members
1,216,504
Latest member
Jolowewi
Back
Top