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]]
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);
}
It’s irritating that none of my tabs made it through, but at least this is semi-legible.
Nice one !
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.