Aleksandar Lukic 2020/0247

Dependencies:   mbed

Files at this revision

API Documentation at this revision

Comitter:
lule
Date:
Sat Nov 13 09:13:30 2021 +0000
Commit message:
Aleksandar Lukic 2020/0247;

Changed in this revision

main.cpp Show annotated file Show diff for this revision Revisions of this file
mbed.bld Show annotated file Show diff for this revision Revisions of this file
diff -r 000000000000 -r 7bdef100ed1d main.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Sat Nov 13 09:13:30 2021 +0000
@@ -0,0 +1,71 @@
+//bonus pitanje:
+//U vecem delu opsega se ne cuje razlika, jedino pred kraj (~99%),
+//jacina zvuka se smanjuje do 0.
+
+//include statements
+#include "mbed.h"
+
+//global variables
+PwmOut buzzer(PA_11);
+InterruptIn sw1(PC_9);
+AnalogIn pot1(PA_0);
+AnalogIn pot2(PA_1);
+
+DigitalOut A(PA_10), B(PA_9), C(PA_8), D(PB_10), E(PB_5), F(PB_4), G(PB_3);
+DigitalOut sel1(PB_6), sel2(PC_7);
+
+char hex_number[10] = {0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8, 0x80, 0x90};
+DigitalOut display[7] = {A, B, C, D, E, F, G};
+
+char volume = 0;
+
+//directive
+#define PERIOD_US0 5000.f
+#define PERIOD_US1 50.f
+#define SCALAR 4950.f
+
+#define REFRESH_RATE_MS 6
+
+//functions
+void ISR_sw1(void){
+    volume = pot1.read() * 100;
+}
+
+void hexToDisplay(char sel1_val, char sel2_val, char hex){    
+    sel1.write(sel1_val);
+    sel2.write(sel2_val);
+    
+    for(int i = 6; i >= 0; i--)
+        display[i] = (1<<i) & hex;
+}
+
+void currNumToDisplay(char num){
+    char dec = num / 10;
+    char dig = num % 10;
+    
+    if(dec){
+        hexToDisplay(0, 1, hex_number[dec]);
+        wait_ms(REFRESH_RATE_MS);
+    }
+    hexToDisplay(1, 0, hex_number[dig]);
+    wait_ms(REFRESH_RATE_MS);
+    
+    
+    hexToDisplay(1, 1, 0);
+}
+
+//main function
+int main(){
+    volume = pot1.read() * 100;
+    
+    sw1.fall(&ISR_sw1);
+    
+    while(true){
+            buzzer.period_us(PERIOD_US0 - SCALAR * pot2.read());
+            buzzer.write(pot1.read());
+            
+            currNumToDisplay(volume);
+            
+            wait_ms(10);
+    }
+}
\ No newline at end of file
diff -r 000000000000 -r 7bdef100ed1d mbed.bld
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed.bld	Sat Nov 13 09:13:30 2021 +0000
@@ -0,0 +1,1 @@
+https://os.mbed.com/users/mbed_official/code/mbed/builds/65be27845400
\ No newline at end of file