Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //////////////////////////////////////
- // MADE BY SHARPY NIORO && SUNSHINE //
- //////////////////////////////////////
- // JUST FOR LULZ [c] //
- //////////////////////////////////////
- unsigned long dahLen;
- String code, string; // THE CODE OF LAST CHAR AND STRING OF CHARS YOU'VE ENTERED
- void setup() {
- dahLen = 250; // LENGTH OF DAH IN MS
- Serial.begin(9600); // BEGINS THE MONOLOGUE
- pinMode(13, OUTPUT); // PREPARES THE LED TO BE USED
- pinMode(9, OUTPUT); // PREPARES THE SPEAKER TO MAKE THE 'BEEEEE' SOUNDS
- }
- void loop() // STARTS THE LOOP
- {
- if (Serial.available() > 0) // IF SOMETHING NEW IN SERIAL MONITOR (SM)
- {
- string = Serial.readString(); // READS WHAT YOU'VE ENTERED
- string.toUpperCase(); // FEEDS THE LETTERS TO MAKE THEM BIGGER
- convert(); // SUMMONS THE ANGELS TO ENCODE THE MORSE
- }
- }
- void convert()
- {
- static String letters[] = {".-", "-...", "-.-.", "-..", ".", "..-.", "--.", "....", "..", ".---", "-.-", ".-..", "--", "-.", "---", ".--.", "--.-",
- ".-.", "...", "-", "..-", "...-", ".--", "-..-", "-.--", "--..", ".-.-.-", "--..--", "-----", ".----", "..---", "...--",
- "....-", ".....", "-....", "--...", "---..", "----.", "---.", "..--..", ".--.-.", "---...", ".----.", "-....-", "-..-.",
- ".-..-.", "-...-"
- }; // ARRAY OF MORSE
- static char Alphabet[] = {'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', '.', ',',
- '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '!', '?', '@', ':', '\'', '-', '/', '"', '=', ' ', ']'
- }; // ARRAY OF ENGLISH CHARS
- int i = 0, i2 = 0; // SET THE indexes TO 0
- while (i2 != string.length()) // WHILE THERE ARE CHARACTERS IN YOUR STRING
- {
- while (Alphabet[i] != ']') // WHILE NOT ARRAY ENDED [COULD BE MADE A LOT BETTER BUT I DON'T HAVE A TIME]
- {
- if (Alphabet[i] == string[i2]) // IF CURRENT LETTER FOUND IN THE ARRAY
- {
- code = letters[i]; // ASSIGNS THE CODE FOR THE CURRENT LETTER
- play(string[i2 + 1] == ' '); // PLAYES THE 'BEE' SOUND
- i = 0;
- break;
- }
- i++; // GROW UP
- }
- code = ""; // RESETS THE code VALUE
- i2++; // GROW UP SEQUEL
- }
- Serial.println(); // BREAKS THE LINE
- string = ""; // KILLS THE STRING
- }
- void playUnit(bool dah)
- {
- tone(9, 400); // BEATS THE SPEAKER WITH ELECTRICITY TO MAKE IT MAKE THE 'BEEE' SOUND
- delay(dah ? dahLen : dahLen/3); // WAITS FOR THE TIME WHEN YOU'LL FIND THE GIRLFRIEND [FOREVER]
- noTone(9); // SHUTS UP THE SPEAKER
- }
- void play(bool eow)
- {
- int i = 0; // RESETS THE index
- while (i != code.length()) // WHILE THERE ARE SOME CHARS IN CODE
- {
- if(code[i] == '-') // IF DAH...
- Serial.print("-"); // ...PRINT DAH
- else // IF NOT
- Serial.print("."); // PRINT NOT
- playUnit(code[i] == '-'); // STARTS THE TORTURE FOR THE SPEAKER
- if(i != (code.length() - 1)) // IF THIS IS NOT THE END
- delay(dahLen/3); // WAIT ONE TIME UNIT
- i++; // GROW UP
- }
- if(!eow) // IF NOT THE END OF THE WORLD (eow)...
- {
- Serial.print(" "); // ...PRINT THE SPACE AND TIME MAP
- delay(dahLen); // ...WAIT
- }
- else // IF THE eow IS NEAR...
- {
- Serial.print(" /"); // ...PRINTS THE /
- delay((dahLen/3)*7); // ...WAITS FOR THE SEVEN WONDERS TO BE BUILT
- }
- }
Add Comment
Please, Sign In to add comment