Lab 1: J-A-K-E

Description


I used an Arduino with a green light. I rewrote my code to spell out my name, J-A-K-E in morse code, then to pause for a couple seconds, then repeat.

I wrote individual functions for a “dot” and for a “dash,” then used those functions to construct a function for each of the four letters that I needed.

When I tested it out, it appeared to work well, although I’m not a fluent morse-code-ist, so I cannot say for sure. Today’s class was so hecking cool! I could make blinky patterns all night.

Components


  • 1 Arduino
  • 1 LED
  • 1 Resistor (220Ω)
  • 1 Breadboard

Code

[[code]]czoxODgzOlwiLyoNCiAqIExhYiAxOiBMRUQgQmxpbmtlcg0KICogSmFrZSBQZXR0ZXJzb24NCiAqIFByb2YuIFJ5b2thaSAtLSBJbmZ7WyYqJl19byAyNjINCiAqIFdlZG5lc2RheSwgQXVndXN0IDMxDQogKiANCiAqIFRoZSBmb2xsb3dpbmcgcHJvZ3JhbSB1c2VzIGFuIEFyZHVpbntbJiomXX1vLCBhIExFRCwgYW5kIGEgMjIwIE9obQ0KICogcmVzaXN0b3IgaW4gc2VyaWVzLCBhbmQgc3BlbGxzIG91dCBteSBuYW1lLCBcIkotQXtbJiomXX0tSy1FXCIgaW4NCiAqIG1vcnNlIGNvZGUuDQogKi8NCg0KLy8gdGhlIHNldHVwIGZ1bmN0aW9uIHJ1bnMgb25jZSB3aGVuIHlvdSBwcntbJiomXX1lc3MgcmVzZXQgb3IgcG93ZXIgdGhlIGJvYXJkDQp2b2lkIHNldHVwKCkgew0KIC8vIGluaXRpYWxpemUgZGlnaXRhbCBwaW4gMTMge1smKiZdfWFzIGFuIG91dHB1dC4NCiBwaW5Nb2RlKDEzLCBPVVRQVVQpOw0KfQ0KDQovLyB0aGlzIGZ1bmN0aW9uIG91dHB1dHMgYSBkb3QsIGZ7WyYqJl19b2xsb3dlZCBieSBhIDAuMiBzZWNvbmQgcGF1c2UNCnZvaWQgZG90KCkgew0KIGRpZ2l0YWxXcml0ZSgxMywgSElHSCk7IC8vIHR1cntbJiomXX1uIHRoZSBMRUQgb24NCiBkZWxheSgyMDApOyAvLyBsZWF2ZSBpdCBvbiBmb3IgMC4yIHNlY29uZHMNCiBkaWdpdGFsV3JpdGUoMTMse1smKiZdfSBMT1cpOyAvLyB0dXJuIHRoZSBMRUQgb2ZmDQogZGVsYXkoMjAwKTsgLy8gbGVhdmUgaXQgb2ZmIGZvciAwLjIgc2Vjb25kcw0KfQ17WyYqJl19Cg0KDQovLyB0aGlzIGZ1bmN0aW9uIG91dHB1dHMgYSBkYXNoLCBmb2xsb3dlZCBieSBhIDAuMiBzZWNvbmQgcGF1c2UNCnZvaWQgZHtbJiomXX1hc2goKSB7DQogZGlnaXRhbFdyaXRlKDEzLCBISUdIKTsgLy8gdHVybiB0aGUgTEVEIG9uDQogZGVsYXkoNjAwKTsgLy8gbGVhdmUge1smKiZdfWl0IG9uIGZvciAwLjYgc2Vjb25kcw0KIGRpZ2l0YWxXcml0ZSgxMywgTE9XKTsgLy8gdHVybiB0aGUgTEVEIG9mZg0KIGRlbGF5KDJ7WyYqJl19MDApOyAvLyBsZWF2ZSBpdCBvZmYgZm9yIDAuMiBzZWNvbmRzDQp9DQoNCi8vIHRoaXMgZnVuY3Rpb24gaXMgYSBzaW1wbGUgMC4zc3tbJiomXX0gcGF1c2UsIHRvIGJlIHBsYWNlZCBmb2xsb3dpbmcNCi8vIGVhY2ggbGV0dGVyDQp2b2lkIGxldHRlclBhdXNlKCkgew0KIGRlbGF5e1smKiZdfSg2MDApOw0KfQ0KDQovLyB0aGlzIGZ1bmN0aW9uIGlzIGEgc2ltcGxlIDEuNCBzZWNvbmQgcGF1c2UsIHRvIGJlIHBsYWNlZA0KLy97WyYqJl19IGZvbGxvd2luZyBlYWNoIHdvcmQNCnZvaWQgd29yZFBhdXNlKCkgew0KIGRlbGF5KDE0MDApOw0KfQ0KDQovLyB0aGlzIGZ1bmN0aXtbJiomXX1vbiBvdXRwdXRzIHRoZSBsZXR0ZXIgSg0KLy8gLi0tLQ0Kdm9pZCBsZXR0ZXJKKCkgew0KIGRvdCgpOw0KIGRhc2goKTsNCiBkYXNoe1smKiZdfSgpOw0KIGRhc2goKTsNCiBsZXR0ZXJQYXVzZSgpOw0KfQ0KDQovLyB0aGlzIGZ1bmN0aW9uIG91dHB1dHMgdGhlIGxldHRlciBBDQp7WyYqJl19Ly8gLi0NCnZvaWQgbGV0dGVyQSgpIHsNCiBkb3QoKTsNCiBkYXNoKCk7DQogbGV0dGVyUGF1c2UoKTsNCn0NCg0KLy8gdGhpcyBmdXtbJiomXX1uY3Rpb24gb3V0cHV0cyB0aGUgbGV0dGVyIEsNCi8vIC0uLQ0Kdm9pZCBsZXR0ZXJLKCkgew0KIGRhc2goKTsNCiBkb3QoKTsNCiBke1smKiZdfWFzaCgpOw0KIGxldHRlclBhdXNlKCk7DQp9DQoNCi8vIHRoaXMgZnVuY3Rpb24gb3V0cHV0cyB0aGUgbGV0dGVyIEUNCi8vIC4NCnZ7WyYqJl19b2lkIGxldHRlckUoKSB7DQogZG90KCk7DQogbGV0dGVyUGF1c2UoKTsNCn0NCg0KLy8gdGhpcyBmdW5jdGlvbiB3aWxsIG91dHB1dHtbJiomXX0gbXkgbmFtZSBpbiBtb3JzZSBjb2RlLCBcIkotQS1LLUUsXCINCi8vIGZvbGxvd2VkIGJ5IGFuIGFkZGl0aW9uYWwgMyBzZWNvbmQgcGF7WyYqJl19dXNlLCBhZnRlciB3aGljaCBpdA0KLy8gd2lsbCBiZWdpbiBzcGVsbGluZyBKQUtFIGFnYWluLg0Kdm9pZCBsb29wKCkgew0KIGxldHtbJiomXX10ZXJKKCk7DQogbGV0dGVyQSgpOw0KIGxldHRlcksoKTsNCiBsZXR0ZXJFKCk7DQogZGVsYXkoMzAwMCk7DQp9DQogXCI7e1smKiZdfQ==[[/code]]

4 thoughts on “Lab 1: J-A-K-E

  1. I tried and failed to format my code nicely. Instead I will try again to copy and paste it here, in this comment:

    /*
    * Lab 1: LED Blinker
    * Jake Petterson
    * Prof. Ryokai — Info 262
    * Wednesday, August 31
    *
    * The following program uses an Arduino, a LED, and a 220 Ohm
    * resistor in series, and spells out my name, “J-A-K-E” in
    * morse code.
    */

    // the setup function runs once when you press reset or power the board
    void setup() {
    // initialize digital pin 13 as an output.
    pinMode(13, OUTPUT);
    }

    // this function outputs a dot, followed by a 0.2 second pause
    void dot() {
    digitalWrite(13, HIGH); // turn the LED on
    delay(200); // leave it on for 0.2 seconds
    digitalWrite(13, LOW); // turn the LED off
    delay(200); // leave it off for 0.2 seconds
    }

    // this function outputs a dash, followed by a 0.2 second pause
    void dash() {
    digitalWrite(13, HIGH); // turn the LED on
    delay(600); // leave it on for 0.6 seconds
    digitalWrite(13, LOW); // turn the LED off
    delay(200); // leave it off for 0.2 seconds
    }

    // this function is a simple 0.3s pause, to be placed following
    // each letter
    void letterPause() {
    delay(600);
    }

    // this function is a simple 1.4 second pause, to be placed
    // following each word
    void wordPause() {
    delay(1400);
    }

    // this function outputs the letter J
    // .—
    void letterJ() {
    dot();
    dash();
    dash();
    dash();
    letterPause();
    }

    // this function outputs the letter A
    // .-
    void letterA() {
    dot();
    dash();
    letterPause();
    }

    // this function outputs the letter K
    // -.-
    void letterK() {
    dash();
    dot();
    dash();
    letterPause();
    }

    // this function outputs the letter E
    // .
    void letterE() {
    dot();
    letterPause();
    }

    // this function will output my name in morse code, “J-A-K-E,”
    // followed by an additional 3 second pause, after which it
    // will begin spelling JAKE again.
    void loop() {
    letterJ();
    letterA();
    letterK();
    letterE();
    delay(3000);
    }

  2. Oops comments don’t enable the “preformatted” option that would preserve the whitespace. But if you log in to the TUI website then you should be able to edit the original post.

    Also for Arduino sketches it is customary to use two spaces instead of a tab.

Leave a Reply