source: t29-www/physical-computing/anzeige/ultraschall-7-seg.-lernsketch/ultraschall-7-seg.-lernsketch.ino @ 1128

Last change on this file since 1128 was 1128, checked in by heribert, 7 years ago

PCR für AES aktualisiert

File size: 1.6 KB
Line 
1#include "SevenSegmentTM1637.h"
2
3// Ultraschall-Sensor HC-SR04 mit 7-Segment-Anzeige, Lern-Sketch mit einigen korrigierten Fehlern
4
5
6const int Trig = 12;
7const int Echo = 11;
8  // long zeit, distanz;   "Fehler 1":  Diese Deklaration sollte nicht im "Global-Bereich" stehen, s.u.
9const byte PIN_CLK = 4;   
10const byte PIN_DIO = 5;
11SevenSegmentTM1637   display(PIN_CLK, PIN_DIO);  //Hier wird der Datentyp "SevenSegmentTM1637" mit dem Variablennamen "display" installiert
12
13void 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
20void 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.
© 2008 - 2013 technikum29 • Sven Köppel • Some rights reserved
Powered by Trac
Expect where otherwise noted, content on this site is licensed under a Creative Commons 3.0 License