Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Revision 0:fd564dc0cd83, committed 2014-02-12
- Comitter:
- HaoranX
- Date:
- Wed Feb 12 22:20:56 2014 +0000
- Commit message:
- v
Changed in this revision
diff -r 000000000000 -r fd564dc0cd83 SLCD.lib --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/SLCD.lib Wed Feb 12 22:20:56 2014 +0000 @@ -0,0 +1,1 @@ +https://mbed.org/users/Sissors/code/SLCD/#f70873bc6121
diff -r 000000000000 -r fd564dc0cd83 TSI.lib --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/TSI.lib Wed Feb 12 22:20:56 2014 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/users/vsluiter/code/TSI/#4dc2f5a3a731
diff -r 000000000000 -r fd564dc0cd83 main.cpp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp Wed Feb 12 22:20:56 2014 +0000
@@ -0,0 +1,73 @@
+#include "mbed.h"
+#include "SLCD.h"
+#include "TSISensor.h"
+
+#define CHART_SIZE 64
+
+Ticker timer;
+AnalogOut vout(PTE30);
+SLCD slcd;
+TSISensor tsi;
+InterruptIn amp_up(SW1);
+InterruptIn amp_down(SW3);
+
+float amplitude = 0;
+float freq = 20;
+static int phase = 0;
+static float sinwave[CHART_SIZE] = {
+ 0.5000,0.5490,0.5975,0.6451,0.6913,0.7357,0.7778,0.8172,0.8536,0.8865,
+ 0.9157,0.9410,0.9619,0.9785,0.9904,0.9976,1.0000,0.9976,0.9904,0.9785,
+ 0.9619,0.9410,0.9157,0.8865,0.8536,0.8172,0.7778,0.7357,0.6913,0.6451,
+ 0.5975,0.5490,0.5000,0.4510,0.4025,0.3549,0.3087,0.2643,0.2222,0.1828,
+ 0.1464,0.1135,0.0843,0.0590,0.0381,0.0215,0.0096,0.0024,0.0000,0.0024,
+ 0.0096,0.0215,0.0381,0.0590,0.0843,0.1135,0.1464,0.1828,0.2222,0.2643,
+ 0.3087,0.3549,0.4025,0.4510};
+void timer_int();
+void display(float val);
+void amp_up_int();
+void amp_down_int();
+
+
+void timer_int(){
+ phase++;
+ if(phase >= CHART_SIZE)
+ phase = 0;
+ vout = amplitude*sinwave[phase];
+}
+
+void amp_up_int(){
+ if(amplitude <= 0.95){
+ amplitude += 0.05;
+ display(amplitude*3.3);
+ }
+}
+
+void amp_down_int(){
+ if(amplitude >= 0.05){
+ amplitude -= 0.05;
+ display(amplitude*3.3);
+ }
+}
+
+void display(float val){
+ char buf[16];
+ int tmp = int(val*100);
+ sprintf(buf,"%d%d%d",tmp/100,(tmp%100)/10,tmp%10);
+ slcd.printf(buf);
+ slcd.Home();
+}
+
+int main(){
+ amp_up.rise(amp_up_int);
+ amp_down.rise(amp_down_int);
+ slcd.DP1(1);
+ display(amplitude*3.3);
+ timer.attach(&timer_int, 1/freq);
+ while(true){
+ if(tsi.readPercentage()!=0){
+ freq = 50 * tsi.readPercentage();
+ timer.attach(&timer_int, 1/freq);
+ }
+ wait(0.05);
+ }
+}
\ No newline at end of file
diff -r 000000000000 -r fd564dc0cd83 mbed.bld --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mbed.bld Wed Feb 12 22:20:56 2014 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/users/mbed_official/code/mbed/builds/824293ae5e43 \ No newline at end of file