Forum: Mikrocontroller und Digitale Elektronik Arduino Zeitliche ausgabe bei änderung?


von R6er R. (r6er)


Lesenswert?

Guten abend.

Ich bin gerade ein bisschen am verzweifeln und brauche eure hilfe!
Ich versuch gerade einen Eingelesenen Wert (poti) im Programm zu 
verarbeiten, soweit so gut, nun hab ich für das Poti 4 stufen in denen 
eine bestimmte Zeit abläuft (1sek, 2sek, 3sek und 4sek). Nun möchte ich 
über eine blinkende led anzeigen lassen in welcher Stufe ich gerade bin 
(sufe 1 1mal blinken...) und das alles am besten ohne Taster, also wenn 
ich am Poti dreh dann Blinkt die Led und das am besten 3 mal (z.b. Stufe 
3-3mal blinken 2 s
ek Pause) Ich weiß jetzt leider nur nicht wie ich eine Wertänderung als 
"start" einstelle und wieder 3er zyklus umgesetzt werden kann...
1
const int buttonPin = 2;
2
const int currentPin = 3;
3
const int ledPin =  4;
4
const int gatePin = 13;
5
int buttonState = 0;      
6
int sensorValue = A0;
7
8
void setup() {
9
  pinMode(ledPin, OUTPUT);
10
  pinMode(currentPin, OUTPUT);
11
  pinMode(buttonPin, INPUT);
12
  Serial.begin(9600);
13
}
14
15
void loop() {
16
  digitalWrite(currentPin, HIGH);
17
  int sensorValue = analogRead(A0);
18
  buttonState = digitalRead(buttonPin);
19
//------------------------------------------------------------------------------------  
20
  if ((buttonState == HIGH)&&(sensorValue<=255)) {
21
    digitalWrite(gatePin, HIGH);
22
    delay(1000);
23
  }
24
  else {
25
    digitalWrite(gatePin, LOW);
26
  }
27
//------------------------------------------------------------------------------------ 
28
  if ((buttonState == HIGH)&&(sensorValue >= 255)&&(sensorValue <= 510)) {
29
    digitalWrite(gatePin, HIGH);
30
    delay(2000);
31
  }
32
  else {
33
    digitalWrite(gatePin, LOW);
34
  }
35
//------------------------------------------------------------------------------------
36
  if ((buttonState == HIGH)&&(sensorValue >= 510)&&(sensorValue <= 765)) {
37
    digitalWrite(gatePin, HIGH);
38
    delay(3000);
39
  }
40
  else {
41
    digitalWrite(gatePin, LOW);
42
  }   
43
//------------------------------------------------------------------------------------
44
  if ((buttonState == HIGH)&&(sensorValue >= 765)&&(sensorValue <= 1023)) {
45
    digitalWrite(gatePin, HIGH);
46
    delay(4000);
47
  }
48
  else {
49
    digitalWrite(gatePin, LOW);
50
  } 
51
//-----------------------------------------------------------------------------------
52
53
//-----------------------------------------------------------------------------------  
54
  {
55
   Serial.println(sensorValue);
56
  delay(1); 
57
 } 
58
}

ich hoffe ihr könnt mir helfen!
Mfg

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.