Maria Sokolowska
/
SOS1
Maria Sokolowska MBED SOS Project
main.cpp@0:f890c080117d, 2020-07-27 (annotated)
- Committer:
- malka123
- Date:
- Mon Jul 27 15:25:09 2020 +0000
- Revision:
- 0:f890c080117d
Maria Sokolowska SOS MBED Project
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
malka123 | 0:f890c080117d | 1 | //In this program the user LED flashes as an SOS Morse code. |
malka123 | 0:f890c080117d | 2 | //The SOS Morse code is "...---...". Here, a dot is represented |
malka123 | 0:f890c080117d | 3 | //with the LED being ON for 0.25 second (Dash time. The delay |
malka123 | 0:f890c080117d | 4 | //between the dots and dashes is set to 0.2 second (GAP time). |
malka123 | 0:f890c080117d | 5 | //The process is repeated continously after 2 seconds of delay. |
malka123 | 0:f890c080117d | 6 | |
malka123 | 0:f890c080117d | 7 | //Author: Maria Sokolowska |
malka123 | 0:f890c080117d | 8 | //Date: July 2020 |
malka123 | 0:f890c080117d | 9 | //File: SOS |
malka123 | 0:f890c080117d | 10 | |
malka123 | 0:f890c080117d | 11 | #include "mbed.h" |
malka123 | 0:f890c080117d | 12 | #include "C12832.h" |
malka123 | 0:f890c080117d | 13 | |
malka123 | 0:f890c080117d | 14 | PwmOut spkr(p26); |
malka123 | 0:f890c080117d | 15 | DigitalOut LED(LED1); |
malka123 | 0:f890c080117d | 16 | C12832 lcd(p5, p7, p6, p8, p11); |
malka123 | 0:f890c080117d | 17 | |
malka123 | 0:f890c080117d | 18 | #define Dot 0.25 // Dot time |
malka123 | 0:f890c080117d | 19 | #define Dash 1.0 // Dash time |
malka123 | 0:f890c080117d | 20 | #define Gap 0.2 // Gap time |
malka123 | 0:f890c080117d | 21 | #define ON 1 // ON=1 |
malka123 | 0:f890c080117d | 22 | #define OFF 0 // OFF=0 |
malka123 | 0:f890c080117d | 23 | |
malka123 | 0:f890c080117d | 24 | int main() |
malka123 | 0:f890c080117d | 25 | { |
malka123 | 0:f890c080117d | 26 | int i; |
malka123 | 0:f890c080117d | 27 | while(1) { // Do Forever |
malka123 | 0:f890c080117d | 28 | for(i = 0; i < 3; i++) { //Send 3 dots |
malka123 | 0:f890c080117d | 29 | LED = ON; //LED ON |
malka123 | 0:f890c080117d | 30 | wait(Dot); //Wait Dot time |
malka123 | 0:f890c080117d | 31 | LED = OFF; //LED OFF |
malka123 | 0:f890c080117d | 32 | wait(Gap); // Wait Gap time |
malka123 | 0:f890c080117d | 33 | } |
malka123 | 0:f890c080117d | 34 | wait(0.5); //0.5 second delay |
malka123 | 0:f890c080117d | 35 | |
malka123 | 0:f890c080117d | 36 | for(i = 0; i < 3; i++) { //Send 3 dashes |
malka123 | 0:f890c080117d | 37 | LED = ON; //LED ON |
malka123 | 0:f890c080117d | 38 | wait(Dash); //Wait Dash time |
malka123 | 0:f890c080117d | 39 | LED = OFF; //LED OFF |
malka123 | 0:f890c080117d | 40 | wait(Gap); // Wait Gap time |
malka123 | 0:f890c080117d | 41 | } |
malka123 | 0:f890c080117d | 42 | for(i = 0; i < 3; i++) { //Send 3 dots |
malka123 | 0:f890c080117d | 43 | LED = ON; //LED ON |
malka123 | 0:f890c080117d | 44 | wait(Dot); //Wait Dot time |
malka123 | 0:f890c080117d | 45 | LED = OFF; //LED OFF |
malka123 | 0:f890c080117d | 46 | wait(Gap); // Wait Gap time |
malka123 | 0:f890c080117d | 47 | } |
malka123 | 0:f890c080117d | 48 | wait(0.5); //0.5 second delay |
malka123 | 0:f890c080117d | 49 | { |
malka123 | 0:f890c080117d | 50 | {for (float i=0; i<26; i=i+2) { // ambulance sound |
malka123 | 0:f890c080117d | 51 | spkr.period(1.0/969.0); |
malka123 | 0:f890c080117d | 52 | wait(.5); |
malka123 | 0:f890c080117d | 53 | spkr.period(1.0/800.0); |
malka123 | 0:f890c080117d | 54 | wait(.5);} |
malka123 | 0:f890c080117d | 55 | } |
malka123 | 0:f890c080117d | 56 | spkr=0.5; |
malka123 | 0:f890c080117d | 57 | |
malka123 | 0:f890c080117d | 58 | wait(2.00); //Wait 2 second before repeating |
malka123 | 0:f890c080117d | 59 | { |
malka123 | 0:f890c080117d | 60 | lcd.printf("SOS Please Help SOS Please Help"); // LCD display |
malka123 | 0:f890c080117d | 61 | } |
malka123 | 0:f890c080117d | 62 | } |
malka123 | 0:f890c080117d | 63 | } |
malka123 | 0:f890c080117d | 64 | } |
malka123 | 0:f890c080117d | 65 |