tim010 tim010
/
ZAD3
LV4_GRUPA2_TIM010_ZAD3
main.cpp@0:b74f45ef7f7f, 2014-03-24 (annotated)
- Committer:
- tim010
- Date:
- Mon Mar 24 10:58:46 2014 +0000
- Revision:
- 0:b74f45ef7f7f
PAI - LV4 - GRUPA2 - TIM010
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
tim010 | 0:b74f45ef7f7f | 1 | #include "mbed.h" |
tim010 | 0:b74f45ef7f7f | 2 | #include <queue> |
tim010 | 0:b74f45ef7f7f | 3 | |
tim010 | 0:b74f45ef7f7f | 4 | using namespace std; |
tim010 | 0:b74f45ef7f7f | 5 | |
tim010 | 0:b74f45ef7f7f | 6 | BusOut segments(dp2, dp1, dp28, dp6, dp5, dp27, dp26); |
tim010 | 0:b74f45ef7f7f | 7 | BusOut digit(dp23, dp24, dp25); |
tim010 | 0:b74f45ef7f7f | 8 | DigitalOut decimal_point(dp4); |
tim010 | 0:b74f45ef7f7f | 9 | AnalogIn voltage(dp9); |
tim010 | 0:b74f45ef7f7f | 10 | |
tim010 | 0:b74f45ef7f7f | 11 | |
tim010 | 0:b74f45ef7f7f | 12 | int predefined_segments[10] = {0x01, 0x4f, 0x12, 0x06, 0x4c, 0x24, 0x20, 0x0f, 0x00, 0x04}; |
tim010 | 0:b74f45ef7f7f | 13 | |
tim010 | 0:b74f45ef7f7f | 14 | void display(float tmp) |
tim010 | 0:b74f45ef7f7f | 15 | { |
tim010 | 0:b74f45ef7f7f | 16 | int digits[3] = {(int)(tmp / 100) % 10, (int)(tmp / 10) % 10, (int)(tmp) % 10}; |
tim010 | 0:b74f45ef7f7f | 17 | for(int i = 1; i <= 4; i = i * 2) { |
tim010 | 0:b74f45ef7f7f | 18 | segments = predefined_segments[digits[i / 2]]; |
tim010 | 0:b74f45ef7f7f | 19 | digit = ~i; |
tim010 | 0:b74f45ef7f7f | 20 | decimal_point = (i == 2) ? 0 : 1; |
tim010 | 0:b74f45ef7f7f | 21 | wait_ms(1); |
tim010 | 0:b74f45ef7f7f | 22 | } |
tim010 | 0:b74f45ef7f7f | 23 | } |
tim010 | 0:b74f45ef7f7f | 24 | |
tim010 | 0:b74f45ef7f7f | 25 | int main() |
tim010 | 0:b74f45ef7f7f | 26 | { |
tim010 | 0:b74f45ef7f7f | 27 | queue<double> aritmeticke; |
tim010 | 0:b74f45ef7f7f | 28 | double suma = 0; |
tim010 | 0:b74f45ef7f7f | 29 | double srednjaVrijednost; |
tim010 | 0:b74f45ef7f7f | 30 | for (int i = 0; i < 100; i++) |
tim010 | 0:b74f45ef7f7f | 31 | {aritmeticke.push(voltage * 3.3 * 1000); |
tim010 | 0:b74f45ef7f7f | 32 | suma += aritmeticke.back();} |
tim010 | 0:b74f45ef7f7f | 33 | srednjaVrijednost = suma / 100; |
tim010 | 0:b74f45ef7f7f | 34 | while(1) { |
tim010 | 0:b74f45ef7f7f | 35 | suma -= aritmeticke.front(); |
tim010 | 0:b74f45ef7f7f | 36 | aritmeticke.pop(); |
tim010 | 0:b74f45ef7f7f | 37 | aritmeticke.push(voltage * 3.3 * 1000); |
tim010 | 0:b74f45ef7f7f | 38 | suma += aritmeticke.back(); |
tim010 | 0:b74f45ef7f7f | 39 | srednjaVrijednost = suma / 100; |
tim010 | 0:b74f45ef7f7f | 40 | display(srednjaVrijednost); |
tim010 | 0:b74f45ef7f7f | 41 | } |
tim010 | 0:b74f45ef7f7f | 42 | } |