Tuto: emetteur de code morse

Fabrication d’un émetteur de code morse Arduino

1 Matériel:

-Une arduino (celle que vous voulez)

2 Programmation

</pre>
int ledPin = 13;
int dotDelay = 200;

char* letters[] = {
 ".-", "-...", "-.-.", "-..", ".", "..-.", "--.", "....", "..", // A-I
 ".---", "-.-", ".-..", "--", "-.", "---", ".--.", "--.-", ".-.", // J-R
 "...", "-", "..-", "...-", ".--", "-..-", "-.--", "--.." // S-Z
};

char* numbers[] = {
 "-----", ".----", "..---", "...--", "....-", ".....", "-....", "--...", "---..", "----."};

void setup()
{
 pinMode(ledPin, OUTPUT);
 Serial.begin(9600);
}

void loop()
{
 char ch;
 if (Serial.available() > 0)
 {
 ch = Serial.read();
 if (ch >= 'a' && ch <= 'z')
 {
 flashSequence(letters[ch - 'a']);
 }
 else if (ch >= 'A' && ch <= 'Z')
 {
 flashSequence(letters[ch - 'A']);
 }
 else if (ch >= '0' && ch <= '9')
 {
 flashSequence(numbers[ch - '0']);
 }
 else if (ch == ' ')
 {
 delay(dotDelay * 4); // gap between words
 }
 }
}

void flashSequence(char* sequence)
{
 int i = 0;
 while (sequence[i] != NULL)
 {
 flashDotOrDash(sequence[i]);
 i++;
 }
 delay(dotDelay * 3); // gap between letters
}

void flashDotOrDash(char dotOrDash)
{
 digitalWrite(ledPin, HIGH);
 if (dotOrDash == '.')
 {
 delay(dotDelay);
 }
 else // must be a dash
 {
 delay(dotDelay * 3);
 }
 digitalWrite(ledPin, LOW);
 delay(dotDelay); // gap between flashes
}

&nbsp;
<pre>

Maintenant ouvrez le moniteur de série (Ctrl+m)

Et tapez quelque chose dedans.

La led 13 de votre arduino le fait en code morse!

Publicités

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s