Line | |
---|
1 | #include "SevenSegmentTM1637.h" |
---|
2 | |
---|
3 | // Ultraschall-Sensor HC-SR04 mit 7-Segment-Anzeige, Lern-Sketch mit einigen korrigierten Fehlern |
---|
4 | |
---|
5 | |
---|
6 | const int Trig = 12; |
---|
7 | const int Echo = 11; |
---|
8 | // long zeit, distanz; "Fehler 1": Diese Deklaration sollte nicht im "Global-Bereich" stehen, s.u. |
---|
9 | const byte PIN_CLK = 4; |
---|
10 | const byte PIN_DIO = 5; |
---|
11 | SevenSegmentTM1637 display(PIN_CLK, PIN_DIO); //Hier wird der Datentyp "SevenSegmentTM1637" mit dem Variablennamen "display" installiert |
---|
12 | |
---|
13 | void setup() { |
---|
14 | display.begin(); |
---|
15 | // Serial.begin(9600); Fehler 4: Seriellen Monitor deaktivieren, der frisst Zeit, das fuehrt zum Flackern der Anzeige |
---|
16 | pinMode(Trig, OUTPUT); |
---|
17 | pinMode(Echo, INPUT); |
---|
18 | } |
---|
19 | |
---|
20 | void loop() { |
---|
21 | |
---|
22 | long zeit, distanz; //Variable sollte man moeglichst nahe am "Gebrauchsort" deklarieren (hier im LOOP) und nicht global |
---|
23 | digitalWrite(Trig, LOW); // Trigger-Generierung (5 Zeilen) |
---|
24 | delayMicroseconds(5); |
---|
25 | digitalWrite(Trig, HIGH); |
---|
26 | delayMicroseconds(10); |
---|
27 | digitalWrite(Trig, LOW); |
---|
28 | |
---|
29 | zeit = pulseIn(Echo, HIGH); |
---|
30 | distanz = zeit*0.0343/2; |
---|
31 | |
---|
32 | display.clear(); // Fehler 3: Vor der Neuanzeige Display loeschen! |
---|
33 | display.print(distanz); // Fehler 2; Es soll immer angezeigt werden! Also gehoert es hierhin. |
---|
34 | delay(300); // Messwiederholung nicht zu kurz waehlen (unruhige Anzeige) |
---|
35 | display.setBacklight(10); |
---|
36 | //Serial.print(distanz); // s.o. |
---|
37 | //Serial.println(" cm"); |
---|
38 | |
---|
39 | if (distanz<60) |
---|
40 | { |
---|
41 | display.setBacklight(100); |
---|
42 | //distanz = zeit*0.0343/2; Fehler 2: Das gehoert nicht in die if-Abfrage! |
---|
43 | //display.print(distanz); |
---|
44 | } |
---|
45 | |
---|
46 | if (distanz<15){ |
---|
47 | display.blink(); |
---|
48 | } |
---|
49 | } |
---|
50 | |
---|
51 | |
---|
52 | |
---|
Note: See
TracBrowser
for help on using the repository browser.