Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*Use an LED to verify the serial communication*/
- #include <TinkerKit.h>
- TKLed led(O0);
- TKLed leds(O1);
- int czekaj_kropka=100;//1000;
- int czekaj_kreska=500;//3000;
- int czekaj_po_literze=2000;//5000;
- int czekaj_po_slowie=2000;//10000;
- int pik=200;
- void kropka()
- {
- led.on();
- printf("\a");
- delay(czekaj_kropka);
- led.off();
- delay(czekaj_po_literze);
- }
- void kreska()
- {
- led.on();
- delay(czekaj_kreska);
- led.off();
- delay(czekaj_po_literze);
- }
- int incomingByte; // a variable to read incoming serial data
- void setup()
- {
- Serial.begin(9600);
- }
- void morse(char litera)
- {
- switch (litera)
- {
- case 'a': // *-
- kropka();
- kreska();
- break;
- case 'b': // -***
- kreska();
- kropka();
- kropka();
- kropka();
- break;
- case 'c': //-*-*
- kropka();
- kreska();
- kropka();
- kreska();
- break;
- case 'd': // -**
- kreska();
- kropka();
- kropka();
- break;
- case 'e': // *
- kropka();
- break;
- case 'f': // **-*
- kropka();
- kropka();
- kreska();
- kropka();
- break;
- case 'g': // --*
- kreska();
- kreska();
- kropka();
- break;
- case 'h': // ****
- kropka();
- kropka();
- kropka();
- kropka();
- break;
- case 'i': // **
- kropka();
- kropka();
- break;
- case 'j': // *---
- kropka();
- kreska();
- kreska();
- kreska();
- break;
- case 'k': // -*-
- kreska();
- kropka();
- kreska();
- break;
- case 'l': // *-**
- kropka();
- kreska();
- kropka();
- kropka();
- break;
- case 'm': // --
- kreska();
- kreska();
- break;
- case 'n': // -*
- kreska();
- kropka();
- break;
- case 'o': // ---
- kreska();
- kreska();
- kreska();
- break;
- case 'p': // *--*
- kropka();
- kreska();
- kreska();
- kropka();
- break;
- case 'q': // --*-
- kreska();
- kreska();
- kropka();
- kreska();
- break;
- case 'r': // *-*
- kropka();
- kreska();
- kropka();
- break;
- case 's': // ***
- kropka();
- kropka();
- kropka();
- break;
- case 't': // -
- kreska();
- break;
- case 'u': // **-
- kropka();
- kropka();
- kreska();
- break;
- case 'v': // ***-
- kropka();
- kropka();
- kropka();
- kreska();
- break;
- case 'w': //*--
- kropka();
- kreska();
- kreska();
- break;
- case 'x': // -**-
- kreska();
- kropka();
- kropka();
- kreska();
- break;
- case 'y': // -*--
- kreska();
- kropka();
- kreska();
- kreska();
- break;
- case 'z': // --**
- kreska();
- kreska();
- kropka();
- kropka();
- break;
- case ' ': // /
- //delay(czekaj_po_slowie);
- po_slowie();
- break;
- default:
- break;
- }
- }
- void po_literze(){
- leds.on();
- delay(pik);
- leds.off();
- delay(czekaj_po_literze);
- }
- void po_slowie(){
- for (int i=0; i<3;i++)
- {
- leds.on();
- delay(pik);
- leds.off();
- delay(pik);
- }
- delay(czekaj_po_slowie);
- }
- void read (int zdanie)
- {
- //while ( zdanie!='\0')
- {
- zdanie=tolower(zdanie);
- morse(zdanie);
- if (zdanie!=' ') po_literze();
- //printf("/");
- zdanie++;
- //delay(czekaj_po_literze);
- }
- }
- void loop() {
- int ciag;
- // see if there's incoming serial data:
- if (Serial.available() > 0) {
- // read the oldest byte in the serial buffer:
- ciag = Serial.read();
- Serial.print((char)ciag);
- read(ciag);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement