// Here are the ratios code elements: // Dash length = Dot length x 3 // Pause between elements = Dot length // (pause between dots and dashes within the character) // Pause between characters = Dot length x 3 // Pause between words = Dot length x 7 // Here dot length is set at 100 int ledPin=8; int buttonPin; boolean startButtonState = HIGH; void setup() { // put your setup code here, to run once: pinMode(ledPin,OUTPUT); buttonPin = 3; // button pin assigned pinMode(buttonPin, INPUT_PULLUP); } void loop() { //check button pressed, if so enter program condition (inside if statement) startButtonState = digitalRead(buttonPin); if (startButtonState == LOW){ pulse(100); pulse(100); pulse(100);pulse(100); // H {dot(); dot(); dot(); dot();} delay(300); // in between letters gap pulse(100); // e {dot();} delay(300); // in between letters gap pulse(100); pulse(300); pulse(100);pulse(100); // l {dot(); dash(); dot(); dot();} delay(300); // in between letters gap pulse(100); pulse(300); pulse(100);pulse(100); // l {dot(); dash(); dot(); dot();} delay(300); // in between letters gap pulse(300); pulse(300); pulse(300); // 0 {dash(); dash(); dash();} delay(700); // in between words gap pulse(100); pulse(300); pulse(300);pulse(100); // w {dot(); dash(); dash();} delay(300); // in between letters gap pulse(300); pulse(300); pulse(300); // 0 {dash(); dash(); dash();} delay(300); // in between letters gap pulse(100); pulse(300); pulse(100); // r {dot(); dash(); dot();} delay(300); // in between letters gap pulse(100); pulse(300); pulse(100);pulse(100); // l {dot(); dash(); dot(); dot();} delay(300); // in between letters gap pulse(300); pulse(100);pulse(100); // d {dash(); dot(); dot();} delay(1000); } } void pulse(int duration) { digitalWrite(ledPin,HIGH); delay(duration); digitalWrite(ledPin,LOW); delay(duration); }