BLANTERVIO103

SOS Morse Code Signaler Arduino

SOS Morse Code Signaler Arduino
Wednesday, October 31, 2018

Untuk proyek ini, kita akan menggunakan kembali rangkaian yang telah di rangkai dari Proyek traffic light (jadi tidak perlu merangkai ulang), tetapi kita akan menggunakan kode yang berbeda untuk membuat sinyal LED menjadi huruf S.O.S., yang merupakan Sinyal marabahaya International Morse Code. Kode Morse adalah jenis pengkodean karakter yang mentransmisikan huruf dan angka menggunakan pola on dan off. Oleh karena itu sangat cocok untuk sistem digital kita.

 kita dapat menyalakan dan mematikan LED dalam pola yang diperlukan untuk mengeja kata atau serangkaian karakter. Di kasus ini, S.O.S. mempunyai tiga pola dits (flash pendek), di ikuti oleh tiga dahs (flash panjang), di ikuti oleh tiga kali lagi. Untuk menyalakan dan mematikan LED dalam pola ini, memberi tanda SOS, kita bisa menggunakan kode seperti di bawah ini 




// LED connected to pin 10  
int ledPin = 10;  

// run once, when the sketch starts 
void setup() {  
// sets the pin as output 
pinMode(ledPin, OUTPUT); } 

// run over and over again 
void loop() { 

// 3 dits 
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 betyouen letters 
delay(100);

 // 3 dahs  
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 betyouen letters 
delay(100); // 3 dits again  
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); } 


Verifikasi bahwa kode yang di copy dari atas bebas dari kesalahan lalu unggah ke Arduino Anda. Jika semua berjalan dengan baik, kita akan melihat LED flash sinyal SOS Kode Morse,tunggu 5 detik, lalu ulangi.Jika kita memasang baterai yang dioperasikan Arduino ke cahaya yang sangat terang dan menempatkan seluruh peralatan dalam kotak tahan air dan mudah di genggam, itu bisa digunakan untuk mengendalikan lampu sorot darurat SOS untuk digunakandi kapal, saat mendaki gunung, dll.

Mari kita cari tahu bagaimana kode ini bekerja.


Bagian pertama dari kode identik dengan proyek terakhir di mana Anda menginisialisasi variabel dan kemudian mengatur DigitalPin 10 menjadi output. Dalam loop kode utama, Anda dapat melihat jenis pernyataan yang sama untuk menyalakan LEDdan mematikan untuk jangka waktu tertentu. Kali ini, bagaimanapun, pernyataan berada dalam tiga kode terpisahblok.Blok pertama adalah apa yang menghasilkan tiga dimensi:


for (int x = 0; x <3; x ++) {
    digitalWrite (ledPin, HIGH);
    delay (150);
    digitalWrite (ledPin, LOW); 
    delay (100);
    }

kita dapat melihat bahwa LED di hidupkan selama 150 ms dan kemudian mati untuk 100 ms; kita juga dapat melihat itu pernyataan berada dalam satu set kurung kurawal dan karena itu dalam blok kode terpisah. Tapi, saat kita menjalankan sketsa kita  dapat melihat cahaya berkedip


for (int x = 0; x <3; x ++) {

Pernyataan ini adalah yang membuat kode di dalam blok kode dieksekusi tiga kali. Ada tiga parameter yang perlu kita berikan untuk pengulangan. Ini adalah inisialisasi, kondisi, dan peningkatan. Itu inisialisasi terjadi pertama dan tepat satu kali. Setiap kali melalui loop, kondisi diuji; jika itubenar, blok pernyataan dan kenaikan dijalankan, maka kondisi diuji lagi. Ketikakondisi menjadi salah, simpul berakhir.Jadi, pertama-tama kita perlu menginisialisasi variabel sebagai nomor awal pengulangan. Dalam hal ini, Anda mengatur variabel X dan atur ke nol: 



int x=0;


kemudian kita menetapkan ketentuan untuk memutuskan berapa kali kode di loop akan dieksekusi dengan menuliskan kode


x<3;

Dalam kode yang kita tulis, kita membandingkan x dengan nilai 3 untuk melihat apakah lebih kecil dari 3. Jika x lebih kecil dari3, kode di blok akan mengulangi lagi.


x++


ini adalah pernyataan untuk menambahkan nilai x dangan 1. kita juga bisa mengetikkan x = x + 1, yang akan ditetapkan untuk x nilai x + 1. Perhatikan tidak perlu meletakkan titik koma setelah pernyataan akhir ini dalam for loop. kita  dapat melakukan matematika sederhana dengan menggunakan simbol +, -, * dan / (penambahan, pengurangan,perkalian dan pembagian). Sebagai contoh:


1 + 1 = 2
3 - 2 = 1
2 * 4 = 8
8 / 2 = 4


Jadi, kita untuk loop menginisialisasi nilai x ke 0, kemudian jalankan kode di dalam blok (kurung kurawal). kita kemudian meningkatkan selisih (dalam hal ini, tambahkan 1 hingga x). Akhirnya, ia memeriksa bahwa kondisinya terpenuhi, yang manaadalah bahwa x lebih kecil dari 3 dan jika demikian berulang.

Sekarang setelah kita tahu cara kerja for loop, kita dapat melihat bahwa ada tiga untuk loop dalam kode kita:salah satu yang melingkar tiga kali dan menampilkan dits, yang mengulang tiga kali dan menampilkan dahs, dan lalu ada pengulangan lagi.

Harus dicatat bahwa variabel x memiliki ruang lingkup lokal, yang berarti hanya dapat dilihat oleh kodedalam blok kode sendiri, kecuali kita menginisialisasinya sebelum fungsi setup (), dalam hal ini memiliki global ruang lingkup dan dapat dilihat oleh seluruh program. Jika Anda mencoba mengakses x di luar loop, kita akan mendapatkan kesalahan.

Di antara masing-masing untuk loop adalah penundaan kecil untuk membuat jeda kecil terlihat antara huruf SOS.Akhirnya, kode menunggu selama 5 detik sebelum loop program utama mulai lagi dari awal.Sekarang mari beralih menggunakan beberapa LED.








Share This Article :
DANNYS

TAMBAHKAN KOMENTAR

5838955342333883808