Difference between revisions of "Arduino - záznam rytmu tlačidlami"

From DT^2
Jump to: navigation, search
(Created page with "<syntaxhighlight lang="C" line=line> int pocet; void setup() { pinMode(12, INPUT); pinMode(11, INPUT); pinMode(8, OUTPUT); pocet = 0; } int casy[100]; void loop() {...")
 
 
Line 6: Line 6:
 
   pinMode(11, INPUT);
 
   pinMode(11, INPUT);
 
   pinMode(8, OUTPUT);
 
   pinMode(8, OUTPUT);
 +
  digitalWrite(11, HIGH);
 +
  digitalWrite(12, HIGH);
 +
  Serial.begin(9600);
 
   pocet = 0;
 
   pocet = 0;
 
}
 
}
Line 12: Line 15:
  
 
void loop() {
 
void loop() {
    
+
   tone(8, 880, 150);
   while (digitalRead(12) == 1) {}
+
   while (digitalRead(12) == 1) {
 +
   
 +
    }
  
   int zaciatok = millis();
+
   long zaciatok = millis();
  
 
   while (digitalRead(11) == 1)
 
   while (digitalRead(11) == 1)
Line 24: Line 29:
 
     }
 
     }
  
 +
    if (digitalRead(11) == 0) break;
 
     tone(8, 880, 100);
 
     tone(8, 880, 100);
 
     delay(50);
 
     delay(50);
 
     casy[pocet] = millis() - zaciatok;
 
     casy[pocet] = millis() - zaciatok;
 +
    zaciatok = millis();
 +
    pocet++;
 
     while (digitalRead(12) == 0) {
 
     while (digitalRead(12) == 0) {
 
       // cakame na pustenie
 
       // cakame na pustenie
Line 32: Line 40:
 
   }
 
   }
  
   zaciatok = millis();
+
   Serial.println(pocet);
 
   for (int i = 0; i < pocet; i++)
 
   for (int i = 0; i < pocet; i++)
 
   {
 
   {
     delay(casy[i] - zaciatok);
+
    Serial.println(casy[i]);
 +
     delay(casy[i]);
 
     tone(8, 880, 100);
 
     tone(8, 880, 100);
    zaciatok = casy[i];
 
 
   }
 
   }
 
    
 
    
 
   pocet = 0;
 
   pocet = 0;
}
+
}</syntaxhighlight>
</syntaxhighlight>
 

Latest revision as of 09:54, 31 July 2018

 1 int pocet;
 2 
 3 void setup() {
 4   pinMode(12, INPUT);
 5   pinMode(11, INPUT);
 6   pinMode(8, OUTPUT);
 7   digitalWrite(11, HIGH);
 8   digitalWrite(12, HIGH);
 9   Serial.begin(9600);
10   pocet = 0;
11 }
12 
13 int casy[100];
14 
15 void loop() {
16   tone(8, 880, 150);
17   while (digitalRead(12) == 1) {
18     
19     }
20 
21   long zaciatok = millis();
22 
23   while (digitalRead(11) == 1)
24   {
25      while ((digitalRead(12) == 1) && (digitalRead(11) == 1))
26      {
27        // cakame na stlacenie
28      }
29 
30      if (digitalRead(11) == 0) break;
31      tone(8, 880, 100);
32      delay(50);
33      casy[pocet] = millis() - zaciatok;
34      zaciatok = millis();
35      pocet++;
36      while (digitalRead(12) == 0) {
37       // cakame na pustenie
38       }
39   }
40 
41   Serial.println(pocet);
42   for (int i = 0; i < pocet; i++)
43   {
44      Serial.println(casy[i]);
45      delay(casy[i]);
46      tone(8, 880, 100);
47   }
48   
49   pocet = 0;
50 }