LV4_GRUPA2_TIM010_ZAD3

Dependencies:   mbed

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

main.cpp

00001 #include "mbed.h"
00002 #include <queue>
00003 
00004 using namespace std;
00005 
00006 BusOut segments(dp2, dp1, dp28, dp6, dp5, dp27, dp26);
00007 BusOut digit(dp23, dp24, dp25);
00008 DigitalOut decimal_point(dp4);
00009 AnalogIn voltage(dp9);
00010 
00011 
00012 int predefined_segments[10] = {0x01, 0x4f, 0x12, 0x06, 0x4c, 0x24, 0x20, 0x0f, 0x00, 0x04};
00013 
00014 void display(float tmp)
00015 {
00016     int digits[3] = {(int)(tmp / 100) % 10, (int)(tmp / 10) % 10, (int)(tmp) % 10};
00017     for(int i = 1; i <= 4; i = i * 2) {
00018         segments = predefined_segments[digits[i / 2]];
00019         digit = ~i;
00020         decimal_point = (i == 2) ? 0 : 1;
00021         wait_ms(1);
00022     }
00023 }
00024 
00025 int main()
00026 {
00027     queue<double> aritmeticke;
00028     double suma = 0;
00029     double srednjaVrijednost;
00030     for (int i = 0; i < 100; i++)
00031         {aritmeticke.push(voltage * 3.3 * 1000);
00032         suma += aritmeticke.back();}
00033     srednjaVrijednost = suma / 100;
00034     while(1) {
00035         suma -= aritmeticke.front();
00036         aritmeticke.pop();
00037         aritmeticke.push(voltage * 3.3 * 1000);
00038         suma += aritmeticke.back();
00039         srednjaVrijednost = suma / 100;
00040         display(srednjaVrijednost);
00041     }
00042 }