Advertisement
Patresss

Untitled

Dec 5th, 2014
379
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 4.34 KB | None | 0 0
  1. /*Use an LED to verify the serial communication*/
  2.  
  3. #include <TinkerKit.h>
  4. TKLed led(O0);
  5. TKLed leds(O1);
  6.  
  7. int czekaj_kropka=100;//1000;
  8. int czekaj_kreska=500;//3000;
  9. int czekaj_po_literze=2000;//5000;
  10. int czekaj_po_slowie=2000;//10000;
  11. int pik=200;
  12.  
  13. void kropka()
  14. {
  15.       led.on();
  16.       printf("\a");
  17.       delay(czekaj_kropka);
  18.       led.off();
  19.       delay(czekaj_po_literze);
  20. }
  21.  
  22. void kreska()
  23. {
  24.       led.on();
  25.       delay(czekaj_kreska);
  26.       led.off();
  27.       delay(czekaj_po_literze);
  28. }
  29.  
  30.  
  31. int incomingByte;    // a variable to read incoming serial data
  32.  
  33. void setup()
  34. {
  35.   Serial.begin(9600);
  36. }
  37.  
  38. void morse(char litera)
  39. {
  40.         switch (litera)
  41.         {
  42.  
  43.     case 'a': // *-
  44.            kropka();
  45.            kreska();
  46.            break;
  47.     case 'b': // -***
  48.            kreska();
  49.            kropka();
  50.            kropka();
  51.            kropka();
  52.            break;
  53.     case 'c': //-*-*
  54.            kropka();
  55.            kreska();
  56.            kropka();
  57.            kreska();
  58.            break;
  59.     case 'd': // -**
  60.            kreska();
  61.            kropka();
  62.            kropka();
  63.            break;
  64.     case 'e': // *
  65.            kropka();
  66.            break;
  67.     case 'f': // **-*
  68.            kropka();
  69.            kropka();
  70.            kreska();
  71.            kropka();
  72.            break;
  73.     case 'g': // --*
  74.            kreska();
  75.            kreska();
  76.            kropka();
  77.            break;
  78.     case 'h': // ****
  79.            kropka();
  80.            kropka();
  81.            kropka();
  82.            kropka();
  83.            break;
  84.     case 'i': // **
  85.            kropka();
  86.            kropka();
  87.            break;
  88.     case 'j': // *---
  89.            kropka();
  90.            kreska();
  91.            kreska();
  92.            kreska();
  93.            break;
  94.     case 'k': // -*-
  95.            kreska();
  96.            kropka();
  97.            kreska();
  98.            break;
  99.     case 'l': // *-**
  100.            kropka();
  101.            kreska();
  102.            kropka();
  103.            kropka();
  104.            break;
  105.     case 'm': // --
  106.            kreska();
  107.            kreska();
  108.            break;
  109.     case 'n': // -*
  110.            kreska();
  111.            kropka();
  112.            break;
  113.     case 'o': // ---
  114.            kreska();
  115.            kreska();
  116.            kreska();
  117.            break;
  118.     case 'p': // *--*
  119.            kropka();
  120.            kreska();
  121.            kreska();
  122.            kropka();
  123.            break;
  124.     case 'q': // --*-
  125.            kreska();
  126.            kreska();
  127.            kropka();
  128.            kreska();
  129.            break;
  130.     case 'r': // *-*
  131.            kropka();
  132.            kreska();
  133.            kropka();
  134.            break;
  135.     case 's': // ***
  136.            kropka();
  137.            kropka();
  138.            kropka();
  139.            break;
  140.     case 't': // -
  141.            kreska();
  142.            break;
  143.     case 'u': // **-
  144.            kropka();
  145.            kropka();
  146.            kreska();
  147.            break;
  148.     case 'v': // ***-
  149.            kropka();
  150.            kropka();
  151.            kropka();
  152.            kreska();
  153.            break;
  154.     case 'w': //*--
  155.            kropka();
  156.            kreska();
  157.            kreska();
  158.            break;
  159.     case 'x': // -**-
  160.            kreska();
  161.            kropka();
  162.            kropka();
  163.            kreska();
  164.            break;
  165.     case 'y': // -*--
  166.            kreska();
  167.            kropka();
  168.            kreska();
  169.            kreska();
  170.            break;
  171.     case 'z': // --**
  172.            kreska();
  173.            kreska();
  174.            kropka();
  175.            kropka();
  176.            break;
  177.     case ' ': // /
  178.             //delay(czekaj_po_slowie);
  179.             po_slowie();
  180.            break;
  181.  
  182.  
  183.     default:
  184.            break;
  185.         }
  186.        
  187. }
  188.  
  189. void po_literze(){
  190.  leds.on();
  191.  delay(pik);
  192.  leds.off();
  193.   delay(czekaj_po_literze);
  194. }
  195.  
  196. void po_slowie(){
  197.   for (int i=0; i<3;i++)
  198.   {
  199.  leds.on();
  200.  delay(pik);
  201.  leds.off();
  202.  delay(pik);
  203.   }
  204.    delay(czekaj_po_slowie);
  205. }
  206.  
  207. void read (int zdanie)
  208. {
  209.  //while ( zdanie!='\0')
  210. {
  211.  zdanie=tolower(zdanie);
  212.  morse(zdanie);
  213. if (zdanie!=' ') po_literze();
  214.  //printf("/");
  215.  zdanie++;
  216.  //delay(czekaj_po_literze);
  217. }
  218. }
  219.  
  220.  
  221.  
  222. void loop() {
  223.  
  224.   int ciag;
  225.  
  226.   // see if there's incoming serial data:
  227.   if (Serial.available() > 0) {
  228.    
  229.     // read the oldest byte in the serial buffer:
  230.     ciag = Serial.read();
  231.     Serial.print((char)ciag);
  232.     read(ciag);
  233.    
  234.   }
  235. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement