Arduino Mors Kodu
Arduino ile Mors Alfabesi uygulaması yapacağız. Led ve Buzzer ile sonucu izleyeceğiz. LED'i devreye bağlarken 330R-1K arası direnç kullanmayı unutmayalım. Ben uygulamalarımda genellikle mavi LED kullanıp direnç kullanmıyorum, ama direnç ile akımı sınırlarız, daha güvenli olur. Tavsiyem mutlaka direnç kullanın.
//
// KODLA GİTSİN KODLA GİTSİN KODLA GİTSİN KODLA GİTSİN KODLA GİTSİN
//
// MORS KODU
// LED ve SES ile
// Seri Port Ekranı üzerinden harf veya mesajlarınızı girin
// Sonucu LED ve Ses(Buzzer) ile izleyin
const int mors_LED = 8; //LED -- kendinize göre ayarlayabilirsiniz
const int mors_SES = 9; //ses -- kendinize göre ayarlayabilirsiniz
void setup()
{
pinMode(mors_LED, OUTPUT);
pinMode(mors_SES, OUTPUT);
Serial.begin(9600); //Seri Port bağlantı hızı
}
void loop()
{
char chars;
if (Serial.available())
{
chars = Serial.read();
if (chars>='a' && chars<='z')
{
chars = chars -32;
}
if(chars<65 || chars>90) //diğer karakterleri eklemek için Ascii Kod Listesini kullanın
//örneğin: rakamları eklemek isterseniz 65'i 48 olarak değiştirin
//fakat rakamları switch(harf) dizisine harflerin eklendiği gibi eklemeyi unutmayın.
//bu yolla programı istediğiniz gibi genişletebilirsiniz.
{
chars=' ';
}
morsHarf(chars);
delay(500);
}
}
void nokta() //nokta
{
digitalWrite(mors_LED, HIGH);
digitalWrite(mors_SES, HIGH);
delay(250);
digitalWrite(mors_LED, LOW);
digitalWrite(mors_SES, LOW);
delay(250);
}
void tire() //çizgi
{
digitalWrite(mors_LED, HIGH);
digitalWrite(mors_SES, HIGH);
delay(1000);
digitalWrite(mors_LED, LOW);
digitalWrite(mors_SES, LOW);
delay(250);
}
void morsHarf(char harf)
{
switch(harf) //tanımlamalarımız burada.
{
case 'A':
nokta();
tire();
return;
case 'B':
tire();
nokta();
nokta();
nokta();
return;
case 'C':
tire();
nokta();
tire();
nokta();
return;
case 'E':
nokta();
return;
case 'T':
tire();
return;
case 'O':
tire();
tire();
tire();
return;
case 'I':
nokta();
nokta();
return;
case 'N':
tire();
nokta();
return;
case 'S':
nokta();
nokta();
nokta();
return;
case 'H':
nokta();
nokta();
nokta();
nokta();
return;
case 'R':
nokta();
tire();
nokta();
return;
case 'D':
tire();
nokta();
nokta();
return;
case 'L':
nokta();
tire();
nokta();
nokta();
return;
case 'U':
nokta();
nokta();
tire();
return;
case 'M':
tire();
tire();
return;
case 'W':
nokta();
tire();
tire();
return;
case 'F':
nokta();
nokta();
tire();
nokta();
return;
case 'G':
tire();
tire();
nokta();
return;
case 'Y':
tire();
nokta();
tire();
tire();
return;
case 'P':
nokta();
tire();
tire();
nokta();
return;
case 'V':
nokta();
nokta();
nokta();
tire();
return;
case 'K':
tire();
nokta();
tire();
return;
case 'J':
nokta();
tire();
tire();
tire();
return;
case 'X':
tire();
nokta();
nokta();
tire();
return;
case 'Q':
tire();
tire();
nokta();
tire();
return;
case 'Z':
tire();
tire();
nokta();
nokta();
return;
case ' ':
delay(1000);
return;
}
}
// KODLA GİTSİN KODLA GİTSİN KODLA GİTSİN KODLA GİTSİN KODLA GİTSİN
MORS ALFABESİ
DEVRE
DEVRE ŞEMASI
ARDUINO UNO KODLARI:
// KODLA GİTSİN KODLA GİTSİN KODLA GİTSİN KODLA GİTSİN KODLA GİTSİN
//
// MORS KODU
// LED ve SES ile
// Seri Port Ekranı üzerinden harf veya mesajlarınızı girin
// Sonucu LED ve Ses(Buzzer) ile izleyin
const int mors_LED = 8; //LED -- kendinize göre ayarlayabilirsiniz
const int mors_SES = 9; //ses -- kendinize göre ayarlayabilirsiniz
void setup()
{
pinMode(mors_LED, OUTPUT);
pinMode(mors_SES, OUTPUT);
Serial.begin(9600); //Seri Port bağlantı hızı
}
void loop()
{
char chars;
if (Serial.available())
{
chars = Serial.read();
if (chars>='a' && chars<='z')
{
chars = chars -32;
}
if(chars<65 || chars>90) //diğer karakterleri eklemek için Ascii Kod Listesini kullanın
//örneğin: rakamları eklemek isterseniz 65'i 48 olarak değiştirin
//fakat rakamları switch(harf) dizisine harflerin eklendiği gibi eklemeyi unutmayın.
//bu yolla programı istediğiniz gibi genişletebilirsiniz.
{
chars=' ';
}
morsHarf(chars);
delay(500);
}
}
void nokta() //nokta
{
digitalWrite(mors_LED, HIGH);
digitalWrite(mors_SES, HIGH);
delay(250);
digitalWrite(mors_LED, LOW);
digitalWrite(mors_SES, LOW);
delay(250);
}
void tire() //çizgi
{
digitalWrite(mors_LED, HIGH);
digitalWrite(mors_SES, HIGH);
delay(1000);
digitalWrite(mors_LED, LOW);
digitalWrite(mors_SES, LOW);
delay(250);
}
void morsHarf(char harf)
{
switch(harf) //tanımlamalarımız burada.
{
case 'A':
nokta();
tire();
return;
case 'B':
tire();
nokta();
nokta();
nokta();
return;
case 'C':
tire();
nokta();
tire();
nokta();
return;
case 'E':
nokta();
return;
case 'T':
tire();
return;
case 'O':
tire();
tire();
tire();
return;
case 'I':
nokta();
nokta();
return;
case 'N':
tire();
nokta();
return;
case 'S':
nokta();
nokta();
nokta();
return;
case 'H':
nokta();
nokta();
nokta();
nokta();
return;
case 'R':
nokta();
tire();
nokta();
return;
case 'D':
tire();
nokta();
nokta();
return;
case 'L':
nokta();
tire();
nokta();
nokta();
return;
case 'U':
nokta();
nokta();
tire();
return;
case 'M':
tire();
tire();
return;
case 'W':
nokta();
tire();
tire();
return;
case 'F':
nokta();
nokta();
tire();
nokta();
return;
case 'G':
tire();
tire();
nokta();
return;
case 'Y':
tire();
nokta();
tire();
tire();
return;
case 'P':
nokta();
tire();
tire();
nokta();
return;
case 'V':
nokta();
nokta();
nokta();
tire();
return;
case 'K':
tire();
nokta();
tire();
return;
case 'J':
nokta();
tire();
tire();
tire();
return;
case 'X':
tire();
nokta();
nokta();
tire();
return;
case 'Q':
tire();
tire();
nokta();
tire();
return;
case 'Z':
tire();
tire();
nokta();
nokta();
return;
case ' ':
delay(1000);
return;
}
}
// KODLA GİTSİN KODLA GİTSİN KODLA GİTSİN KODLA GİTSİN KODLA GİTSİN
VIDEO:
KULLANILAN PROGRAMLAR: Arduino Ide 1.8.9
Yorumlar
Yorum Gönder