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.
Dependencies: C12832 mbed tone_h
main.cpp
00001 #include "mbed.h" 00002 #include "tone.h" 00003 #include "C12832.h" 00004 00005 /* 00006 Written by Leong Kum Loong. 00007 20 Nov 2017, REV. 2 00008 00009 When tone.h reference is included, DO NOT declare pin p26 as it is used by my library. 00010 */ 00011 00012 C12832 lcd(p5, p7, p6, p8, p11); 00013 DigitalIn up(p15), down(p12), left(p13), right(p16), ctr(p14); 00014 00015 int frequency = 500; //Preset tone frequency. 00016 00017 void writeMenu(){ 00018 lcd.cls(); 00019 lcd.locate(0,1); 00020 lcd.printf("UP/DOWN for example."); 00021 lcd.locate(0,12); 00022 lcd.printf("LEFT/RIGHT set frequency."); 00023 lcd.locate(0,22); 00024 lcd.printf("BUTTON to PLAY/STOP."); 00025 } 00026 00027 void writeFreq(){ 00028 lcd.cls(); 00029 lcd.locate(0,1); 00030 lcd.printf("Frequency: %dHz", frequency); 00031 } 00032 00033 int main() { 00034 writeMenu(); 00035 int play; 00036 00037 while(1) { 00038 if(up){ 00039 mario_example(); 00040 }else if(down){ 00041 starwars_example(); 00042 }else if(left){ 00043 int i=0; 00044 do{ 00045 while(left){ 00046 if(frequency > 0)frequency-=100; 00047 wait_ms(100); 00048 writeFreq(); 00049 } 00050 wait_ms(300); 00051 while(i<20){ 00052 if(left){ 00053 break; 00054 }else if(right){ 00055 i=20; 00056 break; 00057 } 00058 wait_ms(100); 00059 i++; 00060 } 00061 } while(i<20); 00062 writeMenu(); 00063 }else if(right){ 00064 int i=0; 00065 do{ 00066 while(right){ 00067 if(frequency < 20000)frequency+=100; 00068 wait_ms(100); 00069 writeFreq(); 00070 } 00071 wait_ms(300); 00072 while(i<20){ 00073 if(right){ 00074 break; 00075 }else if(left){ 00076 i=20; 00077 break; 00078 } 00079 wait_ms(100); 00080 i++; 00081 } 00082 }while(i<20); 00083 writeMenu(); 00084 }else if(ctr){ 00085 while(ctr); 00086 wait_ms(300); 00087 play=!play; 00088 if(play){ 00089 tone(frequency); 00090 }else{ 00091 noTone(); 00092 } 00093 } 00094 } 00095 }
Generated on Tue Jul 19 2022 12:28:18 by
1.7.2