const int unit=250; const byte morseoutpin=13; char selectedletter; void dot(){ digitalWrite(morseoutpin,HIGH); delay(unit); digitalWrite(morseoutpin,LOW); delay(unit); } void dash(){ digitalWrite(morseoutpin,HIGH); delay(3*unit); digitalWrite(morseoutpin,LOW); delay(unit); } void morseoutput(){ if (selectedletter='Q'){ dash();dash();dot();dash(); } if (selectedletter='Z'){ dash();dash();dash();dash(); } if (selectedletter='1'){ dash();dash();dash();dash();dash(); } if (selectedletter='A'){ dash();dash(); } if (selectedletter='B'){ dash();dash();dash();dash(); } if (selectedletter='C'){ dash();dash();dash();dash(); } if (selectedletter='2'){ dash();dash();dash();dash();dash(); } if (selectedletter='D'){ dash();dash();dash(); } if (selectedletter='E'){ dash(); } if (selectedletter='F'){ dash();dash();dash();dash(); } if (selectedletter='3'){ dash();dash();dash();dash();dash(); } if (selectedletter='G'){ dash();dash();dash(); } if (selectedletter='H'){ dash();dash();dash();dash(); } if (selectedletter='I'){ dash();dash(); } if (selectedletter='4'){ dash();dash();dash();dash();dash(); } if (selectedletter='J'){ dash();dash();dash();dash(); } if (selectedletter='K'){ dash();dash();dash(); } if (selectedletter='L'){ dash();dash();dash();dash(); } if (selectedletter='5'){ dash();dash();dash();dash();dash(); } if (selectedletter='M'){ dash();dash(); } if (selectedletter='N'){ dash();dash(); } if (selectedletter='O'){ dash();dash();dash(); } if (selectedletter='6'){ dash();dash();dash();dash();dash(); } if (selectedletter='P'){ dash();dash();dash();dash(); } if (selectedletter='R'){ dash();dash();dash(); } if (selectedletter='S'){ dash();dash();dash(); } if (selectedletter='7'){ dash();dash();dash();dash();dash(); } if (selectedletter='T'){ dash(); } if (selectedletter='U'){ dash();dash();dash(); } if (selectedletter='V'){ dash();dash();dash();dash(); } if (selectedletter='8'){ dash();dash();dash();dash();dash(); } if (selectedletter='W'){ dash();dash();dash(); } if (selectedletter='X'){ dash();dash();dash();dash(); } if (selectedletter='Y'){ dash();dash();dash();dash(); } if (selectedletter='9'){ dash();dash();dash();dash();dash(); } if (selectedletter='.'){ dash();dash();dash();dash();dash();dash(); } if (selectedletter='?'){ dash();dash();dash();dash();dash();dash(); } if (selectedletter='!'){ //no morse equivalent, sends period instead dash();dash();dash();dash();dash();dash(); } if (selectedletter=','){ dash();dash();dash();dash();dash();dash(); } if (selectedletter='\''){ dash();dash();dash();dash();dash();dash(); } if (selectedletter='"'){ dash();dash();dash();dash();dash();dash(); } if (selectedletter='-'){ dash();dash();dash();dash();dash();dash(); } if (selectedletter=' '){ delay(4*unit); } if (selectedletter='0'){ dash();dash();dash();dash();dash(); } delay(2*unit); } void sendmorse(){ dash();dash();dash();dash();dash(); //start signal, start of transmission for (int i=0; i<(positionintypedtext); i++){ //loop through the typed message selectedletter=typedtext[i]; morseoutput(); } }