Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const int ledPin = 7;
- const int piezoPin = 8;
- const int dotDelay = 300;
- const char* letters[] = {".-", "-...", "-.-.", "-..", ".", "..-.",
- "--.", "....", "..", ".---", "-.-", ".-..", "--", "-.", "---",
- ".--.", "--.-", ".-.", "...", "-", "..-", "...-", ".--", "-..-",
- "-.--", "--.."
- };
- const char* numbers[] = {
- "-----", ".----", "..---", "...--", "....-", ".....", "-....", "--...",
- "---..", "----."
- };
- void output(const char* code){
- for(int i=0; i<=sizeof(code); i++){
- int currDelay;
- if(code[i] == '.')
- currDelay = dotDelay;
- else if(code[i] == '-')
- currDelay = dotDelay*3;
- else
- return;
- digitalWrite(ledPin, HIGH);
- tone(piezoPin, 2000, currDelay);
- delay(currDelay);
- digitalWrite(ledPin, LOW);
- delay(dotDelay);
- }
- delay(dotDelay*2);
- }
- void setup(){
- pinMode(ledPin, OUTPUT);
- pinMode(piezoPin, OUTPUT);
- Serial.begin(9600);
- Serial.println("Ready.");
- }
- void loop(){
- char ch;
- if(Serial.available() > 0){
- ch = Serial.read();
- Serial.print("Character read: ");
- Serial.println(ch);
- if(ch >= 'a' && ch <= 'z'){
- Serial.print("Code: ");
- Serial.println(letters[ch-'a']);
- output(letters[ch-'a']);
- }else if(ch >= 'A' && ch <= 'Z'){
- Serial.print("Code: ");
- Serial.println(letters[ch-'A']);
- output(letters[ch-'A']);
- }else if(ch >= '0' && ch <= '9'){
- Serial.print("Code: ");
- Serial.println(numbers[ch-'0']);
- output(letters[ch-'0']);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement