View difference between Paste ID: C22Aw0ME and dDey8Kiu
SHOW: | | - or go back to the newest paste.
1
#include <LedControl.h>
2
#include <Keypad.h>
3
4
// Display a digit on a 7-segent display
5
LedControl mydisplay = LedControl(13, 12, 11, 1);
6
7
// Digital Keypad 4x5
8
const byte rows = 4; //four rows
9
const byte cols = 5; //three columns
10
char keys[rows][cols] = {
11
  {'1','2','3', 'A'},
12
  {'4','5','6', 'B'},
13
  {'7','8','9', 'C'},
14
  {'#','0','*', 'D'}
15
};
16
byte rowPins[rows] = {3, 2, 1, 0}; //connect to the row pinouts of the keypad
17
byte colPins[cols] = {6, 5, 4}; //connect to the column pinouts of the keypad
18
Keypad kpd = Keypad( makeKeymap(keys), rowPins, colPins, rows, cols );
19
20
char PROGRAM; // What type of program
21
22
void setup() 
23
{
24
   
25
   mydisplay.shutdown(0, false);  // turns on display
26
   mydisplay.setIntensity(0, 15); // 15 = brightest
27
   
28
   pinMode(13, OUTPUT); // Green LED
29
   
30
   PROGRAM = kpd.waitForKey(); // waint until pressed key
31
}
32
33
void loop() 
34
{
35
  if (PROGRAM == '1')
36
  {
37
    // Switch casement där man får välja vad som ska göras.
38
  }
39
  else if (PROGRAM == '2')
40
  {
41
    // Switch casement där man får välja vad som ska göras.
42
  }
43
  else if (PROGRAM == '3')
44
  {
45
    // Switch casement där man får välja vad som ska göras.
46
  }
47
  else
48
  {
49
    // skicka ett felmeddelande till displayen typ ERROR.
50
    PROGRAM = kpd.waitForKey(); // waint until pressed key
51
  }
52
 
53
}
54
55
void setTimeHumle()
56
{
57
  
58
}
59
60
void speaker()
61
{
62
  
63
}
64
65
void setEndTimeKok()
66
{
67
  
68
}
69
70
void setTempKok()
71
{
72
  
73
}
74
75
void setBeginTimeLak()
76
{
77
  
78
}
79
80
void setTempLak()
81
{
82
  
83
}
84
85
void relay_kok()
86
{
87
  
88
}
89
90
void relay_lak()
91
{
92
  
93
}
94
95
void getTempKok()
96
{
97
  
98
}
99
100
void getTempLak()
101
{
102
  
103
}
104
105
int tempsensor_kok()
106
{
107
  // get average temperature
108
}
109
110
int tempsensor_lak()
111
{
112
  // get average temperature 
113
}
114
115
int digitalKeyPad()
116
{
117
  
118
}
119
120
void show_digit(int i)
121
{ 
122
  // if i is 4 digit
123
  if (i >= 1000)
124
  {
125
    String str = String(i);
126
    char charBuf[5]; 
127
    str.toCharArray(charBuf, 5);
128
    int a = charBuf[0] - '0';
129
    int b = charBuf[1] - '0';
130
    int c = charBuf[2] - '0';
131
    int d = charBuf[3] - '0';
132
    mydisplay.setDigit(0, 0, a, false);
133
    mydisplay.setDigit(0, 1, b, true);
134
    mydisplay.setDigit(0, 2, c, false);
135
    mydisplay.setDigit(0, 3, d, false);
136
  }
137
  // if i is 3 digit
138
  else if (i <= 999 && i >= 100)
139
  {
140
    String str = String(i);
141
    char charBuf[4]; 
142
    str.toCharArray(charBuf, 4);
143
    int a = charBuf[0] - '0';
144
    int b = charBuf[1] - '0';
145
    int c = charBuf[2] - '0';
146
    mydisplay.setDigit(0, 0, 0, false);
147
    mydisplay.setDigit(0, 1, a, true);
148
    mydisplay.setDigit(0, 2, b, false);
149
    mydisplay.setDigit(0, 3, c, false);
150
  }
151
  // if i is 2 digit
152
  else if(i < 100 && i >= 10)
153
  {
154
    String str = String(i);
155
    char charBuf[3]; 
156
    str.toCharArray(charBuf, 3);
157
    int a = charBuf[0] - '0';
158
    int b = charBuf[1] - '0';
159
    mydisplay.setDigit(0, 0, 0, false);
160
    mydisplay.setDigit(0, 1, 0, false);
161
    mydisplay.setDigit(0, 2, a, false);
162
    mydisplay.setDigit(0, 3, b, false);
163
  }
164
  else // if i is 1 digit
165
  {
166
    String str = String(i);
167
    char charBuf[2]; 
168
    str.toCharArray(charBuf, 2);
169
    int a = charBuf[0] - '0';
170
    mydisplay.setDigit(0, 0, 0, false);
171
    mydisplay.setDigit(0, 1, 0, false);
172
    mydisplay.setDigit(0, 2, 0, false);
173
    mydisplay.setDigit(0, 3, a, false);
174
  }
175
}