Updated

Dependencies:   C12832 LM75B PWM_Tone_Library mbed

Fork of IoT Project Final by UH IoT

Revision:
0:e9258aa72a94
Child:
1:1ed4e4239ea6
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Wed Feb 22 09:52:16 2017 +0000
@@ -0,0 +1,109 @@
+#include "mbed.h"
+#include "C12832.h"
+#include "pwm_tone.h"
+
+//DigitalOut myled(LED1);
+PwmOut Buzzer(D5);
+C12832 lcd(p5, p7, p6, p8, p11);
+AnalogIn sensor(p15); 
+
+float C_3 = 1000000/Do3,
+       Cs_3 = 1000000/Do3s,
+       D_3 = 1000000/Re3,
+       Ds_3 = 1000000/Re3s,
+       E_3 = 1000000/Mi3,
+       F_3 = 1000000/Fa3,
+       Fs_3 = 1000000/Fa3s,
+       G_3 = 1000000/So3,
+       Gs_3 = 1000000/So3s,
+       A_3 = 1000000/La3,
+       As_3 = 1000000/La3s,
+       B_3 = 1000000/Ti3,
+       C_4 = 1000000/Do4,
+       Cs_4 = 1000000/Do4s,
+       D_4 = 1000000/Re4,
+       Ds_4 = 1000000/Re4s,
+       E_4 = 1000000/Mi4,
+       F_4 = 1000000/Fa4,
+       Fs_4 = 1000000/Fa4s,
+       G_4 = 1000000/So4,
+       Gs_4 = 1000000/So4s,
+       A_4 = 1000000/La4,
+       As_4 = 1000000/La4s,
+       B_4 = 1000000/Ti4,
+       C_5 = 1000000/Do5,
+       Cs_5 = 1000000/Do5s,
+       D_5 = 1000000/Re5,
+       Ds_5 = 1000000/Re5s,
+       E_5 = 1000000/Mi5,
+       F_5 = 1000000/Fa5,
+       Fs_5 = 1000000/Fa5s,
+       G_5 = 1000000/So5,
+       Gs_5 = 1000000/So5s,
+       A_5 = 1000000/La5,
+       As_5 = 1000000/La5s,
+       B_5 = 1000000/Ti5;
+       
+int tones[] = {E_4, D_4, C_4, D_4, E_4, E_4, E_4, 0, D_4, D_4, D_4, 0, E_4, G_4, G_4, 0, 
+                             E_4, D_4, C_4, D_4, E_4, E_4, E_4, 0, D_4, D_4, E_4, D_4, C_4, 0, 0, 0};
+int tones_num = 32;
+
+                         
+float multiplier = 50;    // this number got me closest to the reading on my multimeter temp probe
+float temp;               // calculated temperature
+int count = 0;                // for computing average reading
+float total = 0;
+float average;
+
+float thermo() {
+//    count = 0;
+//    total = 0.0;
+    while (1) {
+        // formula is analog reading * multiplier
+
+        temp = sensor.read() * multiplier;
+        count++;
+        total += temp;
+        average = total / count;
+        
+        lcd.cls();
+        lcd.locate(0,3);
+        lcd.printf("Temperature= %6.2f \n Average= %5.1f \n", temp  , average );
+        wait(1);
+    }
+}
+
+//int main(void)
+//{
+//    Tune(Buzzer, C_4, 4);  //4 Octave C beat 4/16
+//    wait_ms(250);
+//    Tune(Buzzer, D_4, 4);  //4 Octave D beat 4/16
+//    wait_ms(250);
+//    Tune(Buzzer, E_4, 4);  //4 Octave E beat 4/16
+//    wait_ms(250);
+//
+//    int i;
+//
+//    for(i=0; i<tones_num; i++) {
+//        Auto_tunes(Buzzer, tones[i], 4); // Auto performance
+//        Stop_tunes(Buzzer);
+//    }
+//
+//}
+
+DigitalIn fire(p14);
+PwmOut spkr(p26);
+
+int main()
+{
+    while (1) {
+       for (float i=2000.0; i<10000.0; i+=100) {
+            spkr.period(1.0/i);
+            spkr=0.5;
+            wait(0.1);
+        }
+        spkr=0.0;
+        while(!fire) {}
+    }
+}
+