මෙම කේතයේදී ඔබ රේඛීය මොනිටරයෙන් ලබාදෙන ඉංග්රීසි වදන් මෝස් සංකේතවලට හරවා ප්රතිදානය කරයි.
//විචල්ය int ledPin = 12; // බල්බය 12 අග්රය //A-Z අකුරු මෝස් කේත letter අරාවට char* letters[] = { ".-", "-...", "-.-.", "-..", ".", "..-.", "--.", "....", "..", // A-I ".---", "-.-", ".-..", "--", "-.", "---", ".--.", "--.-", ".-.", // J-R "...", "-", "..-", "...-", ".--", "-..-", "-.--", "--.." // S-Z }; // 0 - 9 අංක සඳහා මෝස් කේත numbers අරාවට char* numbers[] = {"-----", ".----", "..---", "...--", "....-", ".....", "-....", "--...", "---..", "----."}; int dotDelay = 200;// dot සංඥා විරාමය void setup() { pinMode(ledPin, OUTPUT); //ledPin ප්රතිදානය ලෙස Serial.begin(9600); // රේඛීය සන්නිවේදනය ආරම්භය } void loop() { char ch; // අකුරකි if (Serial.available()) {// දත්තයක් ලැබී ඇතිනම් ch = Serial.read(); // එක අකුරක් කියවන්න //ch අනුව letters අරාවේ කේත ගන්න if (ch >= 'a' && ch <= 'z') { //a - z අකුරක් නම් සංඥා කරන්න flashSequence(letters[ch - 'a']); } else if (ch >= 'A' && ch <= 'Z') { //A - Z අකුරක් නම් සංඥා කරන්න flashSequence(letters[ch - 'A']); } else if (ch >= '0' && ch <= '9') { //0 - 9 නම් සංඥා කරන්න flashSequence(numbers[ch - '0']); } else if (ch == ' ') { //හිස් තැනක් නම් delay(dotDelay * 4); // විරාමය 4 ගුණයක් } } } void flashSequence(char * sequence) { int i = 0; while (sequence[i] != NULL) { //රටාව අවසාන වනතුරු //ඩොට් හෝ ඩෑෂ් රටාව යවන්න // a යන්න තිත සමග ඉර (".-") වේ. flashDotOrDash(sequence[i]); i++; //ඊ ලඟ කේතය } delay(dotDelay * 3); // අකුරු අතර විරාමය 3 ගුණයක් } void flashDotOrDash(char dotOrDash) { digitalWrite(ledPin, HIGH); if (dotOrDash == '.') { // තිතක් නම් delay(dotDelay); //එක විරාමයක් } else // ඉරක් නම් { delay(dotDelay * 3); // විරාම 3 ක් } digitalWrite(ledPin, LOW); //බල්බය නිවන්න delay(dotDelay); // අකුරකට එක විරාමයක් }