圣源电子制作

 找回密码
 立即注册
查看: 6755|回复: 0
打印 上一主题 下一主题

Ardunio 入门教程-实验七 摩尔斯代码翻译机

[复制链接]
跳转到指定楼层
楼主
发表于 2012-5-12 15:10:21 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
   Ardunio 入门教程-实验七 摩尔斯代码翻译机

实验用到的元件

实验用到的元件 ,一个蜂鸣器,2根杜邦线,一块实验板。

原理图



3 天前 上传
下载附件 (53.23 KB)



LED长脚的为正,短脚为负极。

蜂鸣器长脚的为正,短脚为负极。   在蜂鸣器的底下也有标价正负。
连接图

LED的正极连接 IO口12,LED负极连接电阻,电阻的另外一端接GND.

实验演示视频:



代码
  1. // Listing. Project 3.
  2. int ledPin = 12;

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

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

  9. int dotDelay = 200;

  10. void setup()
  11. {
  12. pinMode(ledPin, OUTPUT);
  13. Serial.begin(9600);
  14. }

  15. void loop()
  16. {
  17. char ch;
  18. if (Serial.available()) // is there anything to be read from USB?
  19. {
  20. ch = Serial.read(); // read a single letter
  21. if (ch >= 'a' && ch <= 'z')
  22. {
  23. flashSequence(letters[ch - 'a']);
  24. }
  25. else if (ch >= 'A' && ch <= 'Z')
  26. {
  27. flashSequence(letters[ch - 'A']);
  28. }
  29. else if (ch >= '0' && ch <= '9')
  30. {
  31. flashSequence(numbers[ch - '0']);
  32. }
  33. else if (ch == ' ')
  34. {
  35. delay(dotDelay * 4); // gap between words
  36. }
  37. }
  38. }

  39. void flashSequence(char* sequence)
  40. {
  41. int i = 0;
  42. while (sequence[i] != NULL)
  43. {
  44. flashDotOrDash(sequence[i]);
  45. i++;
  46. }
  47. delay(dotDelay * 3); // gap between letters
  48. }

  49. void flashDotOrDash(char dotOrDash)
  50. {
  51. digitalWrite(ledPin, HIGH);
  52. if (dotOrDash == '.')
  53. {
  54. delay(dotDelay);
  55. }
  56. else // must be a -
  57. {
  58. delay(dotDelay * 3);
  59. }
  60. digitalWrite(ledPin, LOW);
  61. delay(dotDelay); // gap between flashes
  62. }


复制代码
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|联系我们|闽公网安备 35012102000020号|闽ICP备11020110号-1|圣源电子

GMT+8, 2024-11-24 09:41 , Processed in 0.043310 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表