source: t29-www/physical-computing/Ziffernanzeige_mit_button-library/Ziffernanzeige_mit_button-library.ino @ 1371

Last change on this file since 1371 was 1371, checked in by heribert, 6 years ago

Aktualisierungen und Verbesserungen

File size: 2.7 KB
Line 
1
2
3// Hochzaehlen einer 7-Segment-Anzeige, Aufgabe 3f, Blatt 4, vorwaerts, rueckwaerts, auf Null stellen
4
5
6#include<Button.h>
7
8//************************Variable deklarieren (initialisieren)********************************
9
10int segmente[10][7] = {{1, 1, 1, 1, 1, 1, 0},  // 0   Segmente in der Reihenfolge a,b,c,d,e,f,g
11                       {0, 1, 1, 0, 0, 0, 0},  // 1
12                       {1, 1, 0, 1, 1, 0, 1},  // 2   dieses zweidimensionale Array hat 10 Zeilen....   
13                       {1, 1, 1, 1, 0, 0, 1},  // 3   ....und 7 Spalten, daher [10][7]
14                       {0, 1, 1, 0, 0, 1, 1},  // 4
15                       {1, 0, 1, 1, 0, 1, 1},  // 5
16                       {1, 0, 1, 1, 1, 1, 1},  // 6
17                       {1, 1, 1, 0, 0, 0, 0},  // 7
18                       {1, 1, 1, 1, 1, 1, 1},  // 8
19                       {1, 1, 1, 1, 0, 1, 1}}; // 9
20                       
21int pinArray[] = {2, 3, 4, 5, 6, 7, 8};     
22Button  tasteHoch = Button(12, PULLUP);     // woher? vergl. Button-Library "Examples"
23Button  tasteRunter = Button(13, PULLUP);
24Button  tasteNull = Button(11, PULLUP);
25int aktuelleZiffer = 0;                     // Zaehlvariable fuer die Ziffern
26
27//********************Pin-Modes festlegen**************
28
29void setup(){                                 
30  for(int i = 0; i < 7; i++)
31    pinMode(pinArray[i], OUTPUT); 
32}
33
34//*******************Taster abfragen*******************
35void loop()
36{
37         if(tasteHoch.uniquePress())
38         {
39          aktuelleZiffer++;
40          if(aktuelleZiffer> 9)
41          {
42            aktuelleZiffer = 0;
43          }
44        }
45         
46         if(tasteRunter.uniquePress())
47         {
48          aktuelleZiffer--;
49          if(aktuelleZiffer< 0)
50          {
51            aktuelleZiffer = 9;
52          }
53        }
54
55        if(tasteNull.uniquePress())
56         {
57            aktuelleZiffer = 0;
58        }
59  //*****************Ziffern anzeigen**************************** 
60     
61    for(int segment = 0; segment< 7; segment++)   
62    {                                             
63      bool segmentAn = segmente[aktuelleZiffer][segment];  // "segmentAn" ist eine Hilfsvariable, damit der Sketch...
64                                                           // ...besser lesbar wird
65      if(segmentAn)                               
66      {                                           
67        digitalWrite(pinArray[segment], LOW);     
68      }
69      else
70      {
71        digitalWrite(pinArray[segment], HIGH);
72      }                                       
73    }                                                     // Ende Anweisungsblock "for"                                         
74    delay(30);
75}                                             
76
77
78
79
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