LV4_GRUPA2_TIM010_ZAD3

Dependencies:   mbed

Committer:
tim010
Date:
Mon Mar 24 10:58:46 2014 +0000
Revision:
0:b74f45ef7f7f
PAI - LV4 - GRUPA2 - TIM010

Who changed what in which revision?

UserRevisionLine numberNew 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 }