🔒 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.

About this Thread

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

Online now

Members online
958
Guests online
695
Total visitors
1,653

Forum statistics

Threads
2,276,947
Posts
28,973,275
Members
1,229,659
Latest member
siol0z
Back
Top