Proyek 02 – LED Blinker SOS Signal

Dari rangkaian proyek LED Blinker, kita dapat membuat lebih advanced dengan kreatifitas dalam programming.

Pada proyek LED blinker SOS signal, kita modifikasi agar LED menunjukan S.O.S kode morse. LED akan menyala lebih lama untuk menunjukkan kode garis, dan menyala lebih sebentar untuk kode titik.

Sketch

// LED connected to digital pin 10
int ledPin = 10;
 
// run once, when the sketch starts
void setup()
{
  // sets the digital pin as output
  pinMode(ledPin, OUTPUT);
}

// run over and over again
void loop()
{
  // 3 dits (3 titik atau huruf S)
  for (int x=0; x<3; x++) {
    digitalWrite(ledPin, HIGH); // sets the LED on
    delay(150); // waits for 150ms
    digitalWrite(ledPin, LOW); // sets the LED off
    delay(100); // waits for 100ms
  }

  // 100ms delay to cause slight gap between letters
  delay(100);

  // 3 dahs (3 garis atau huruf O)
  for (int x=0; x<3; x++) {
    digitalWrite(ledPin, HIGH); // sets the LED on
    delay(400); // waits for 400ms
    digitalWrite(ledPin, LOW); // sets the LED off
    delay(100); // waits for 100ms
  }

  // 100ms delay to cause slight gap between letters
  delay(100);
 
  // 3 dits again (3 titik atau huruf S)
  for (int x=0; x<3; x++) {
    digitalWrite(ledPin, HIGH); // sets the LED on
    delay(150); // waits for 150ms
    digitalWrite(ledPin, LOW); // sets the LED off
    delay(100); // waits for 100ms
  }

  // wait 5 seconds before repeating the SOS signal
  delay(5000);
}

Pembahasan Sketch

Block for-loop ke-1 akan membuat kode morse huruf S, kedua akan membuat kode morse huruf O, dan ketiga akan membuat kode morse huruf S. Kemudian delay(5000), artinya sketch akan diulang kembali ke awal setelah 5 detik.

S dalam morse adalah tiga titik, O adalah tiga garis. Titik akan dipresentasikan dengan nyala LED dalam waktu 150ms dengan perintah delay(150). Sedangkan garis akan dipresentasi dengan nyala LED dalam waktu 400ms dengan perintah delay(400). Waktu tunggu antara titik atau garis adalah delay(100) atau 100ms.

Sharing is caring: