haoDIY创好电子音响电脑科技DIY小制作发明移动版

主页 > 电子DIY > 译文美国DIY综合制作 >

Arduino控制摩尔斯电码键和发射器

这是一个混搭不同的项目类型:一个Arduino控制,控制一个自制的摩尔斯电码关键控制一个简单的4到7组分连续波发射机伺服。我将只显示各部分和各一些评论一些图片。请注意,操作连续波发射机通常需要一个业余无线电执照除非你终止发射一个假负载电阻保持信号传播你的房子外面。许可证是这些天以来莫尔斯电码的能力,不再需要一个相当简单的展望。

为什么做这个项目?

1。这是有趣的看Arduino控制与伺服的关键。

2。这是一个听摩尔斯电码的良好实践振荡器。

三.它可以操作你的钥匙和发射器在你出门和检查接待。

有乐趣的ke8bsh

步骤1:自制的关键和伺服

Arduino控制摩尔斯电码键和发射器

请看我的教学如何在这里做一个摩尔斯电码的关键:http:/ / www.instructables。COM /身份证/莫尔斯代号—…

关键是牛排刀夹一块与夹胶木材。在另一块木头钉作为接触点对牛排刀。很简单,有效的横炮的关键。

我只是安装在刀牛排刀伺服手臂推下伺服。

步骤2:连续波发射机

Arduino控制摩尔斯电码键和发射器

这可能是你可以建立最简单的连续波发射机,它只需要很少的元件。我拥有这只电阻工作,节流是150风,磁线超过150欧姆的电阻,晶体和2N2222晶体管。这里是一个链接到一个原理图并建立对发射机指令。

十分钟发射

步骤3:Arduino和代码

Arduino控制摩尔斯电码键和发射器

Arduino控制舵机,你甚至不需要一个单独的电源为伺服Arduino可以处理一个微型伺服。伺服信号线到数字引脚5,停电5伏和地面。

我原本复制代码从另一个命令然后修改了不少。注意代码需要额外更多的条目,如果你使用标点符号。

#包括伺服。H
************************************************** / / /

类型转换为摩尔斯电码在这里/字符串

************************************************** / / /

焦stringtomorsecode [] =“CQ CQ de XXXX”;

/ *摩尔斯码项目

设置您的摩尔斯电码的速度

调整的dotlen长度来加快或减慢你的摩尔斯电码

(其他所有的长度都是基于dotlen)

这是比代码元素:

虚线长度=点长x 3

元素=点长度之间的停顿

(汉字中的点和线之间的停顿)

字符长度x 3 =点之间的停顿

词=点长x 7之间的停顿

HTTP:/ / www.nu-ware。COM / nucode % 20help / index.html?M.

* /

国际dotlen = 150;的摩尔斯电码/长度的“点”

国际dashlen = dotlen×3;的摩尔斯码/长的破折号

国际elempause = dotlen;对特征元素之间的暂停/ /长度

国际空间= dotlen×3;人物之间的空间/长度

国际wordpause = dotlen×7;词与词之间的停顿/长度

伺服myservo1,myservo2,myservo3;//创建伺服对象控制伺服

国际potpin = 0;//模拟引脚用于连接电位计

int val;//变量从模拟引脚读取值

setup() { void

(9600)开始连载;

myservo1。附(5);//将伺服引脚5上的伺服对象

myservo1写(90);

}

无效dit()

{

myservo1写(125);

延迟(dotlen);/ /保持在这个位置

charpause(elempause);

}

无效dah()

{

myservo1写(125);

延迟(dashlen);/ /保持在这个位置

charpause(elempause);

}

/ /移动伺服中立位

无效charpause(int延迟时间)

{

myservo1。写(110);/ /移动伺服回到中立位置

延迟(延迟时间);/ /保持在这个位置

}

无效的TX(char摩尔斯密码[ ]){

为(int i = 0;i < 7;i++)

{

//在当前位置的字符

字符< =摩尔斯密码[我];

串行打印(“< =”);串口打印(sizeof(摩尔斯密码));串行。println(<);

开关(<){

案例:dit();打破。”;

“-”:dah();打破;

“/”:返回;

案例:返回;

} //端开关

} //结束

延迟(空间);/ /暂停字符之间

} //端功能

/ / ***人物摩尔斯电码转换* / /

GetChar(<无效字符)

{

/ /以通过字符和使用开关箱为人物找到摩尔斯电码

/ /注:必须终止参数空间(或只是削减如果你想我用空间的光线)—

/ /功能收发工作。一些无法读取的参数字符串长度函数。愚蠢的.

开关(<){

案例一:TX(“-”);休息;

案例B:TX(“…”);突破;

案例C:TX(“-”。);突破;

案例D:TX(“..”);突破;

案例E:TX(“。”);突破;

案例F:TX(“..”。);突破;

案例G:TX(“。”);突破;

案例H:TX(“…”);突破;

“我”:TX(“..”);突破;

案例“J”:TX(“,”);休息;

案例“K”:TX(“-”);休息;

案例l:TX(“-”。);突破;

案例M:TX(“”);休息;

案例“N”:TX(“。”);突破;

案例“O”:TX(“”);休息;

案例“P”:TX(“--”。);突破;

案例“Q”:TX(“-”);休息;

案例的“r”:TX(“-”。);突破;

案例是:TX(“…”);突破;

例“T”:TX(“-”);休息;

例U:TX(“..”);休息;

案例“V”:TX(“…”);休息;

案例“W”:TX(“-”);休息;

“X”:TX(“-”);休息;

例“Y”:TX(”,“);突破;

案例“Z”:TX(“..”);突破;

案例’。”:TX(”。-。-。-);突破;

案例1:TX(”,“);突破;

案例2:TX(“..”);休息;

案例3:TX(“…”);休息;

案例4:TX(“…”);休息;

案例5:TX(“.....”);突破;

案例6:TX(“_的…”);突破;

案例7:TX(“…”);突破;

案例8:TX(“---”。);突破;

案例9:TX(“----”。);突破;

案例0:TX(“-----”);休息;

默认

//如果匹配字符发现它将默认为词与词之间没有空间

charpause(wordpause);

}

}

/////////////////////////////////////////////////////////////////////////////////////////////////////////

创建一个循环的字母/单词你想在莫尔斯码输出(定义在字符串在上面的代码)

无效loop()

{

//遍历字符串,每个字符一次直到结束

为(int i = 0;i < sizeof(stringtomorsecode)- 1;i++)

{

//在当前位置的字符

字符< = stringtomorsecode [我];

/ /以较低的情况下设置的情况

< = toLowerCase(<);

//调用子程序来得到这个角色的摩尔斯电码的等效

GetChar(<);

延迟(空间);/ /暂停字符之间

}

/ /在字符串长暂停结束前循环又开始

延迟(2000);

}

步骤4:接收

Arduino控制摩尔斯电码键和发射器 (责任编辑:admin)
haoDIY创好电子 版权所有,电话微信13977534587