Updated
Dependencies: C12832 LM75B PWM_Tone_Library mbed
Fork of IoT Project Final by
Diff: main.cpp
- 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) {} + } +} +