当前位置: 首页未分类正文 7.1 Arduino声音 丨无线发射模块 无线发射器和接收器模块工作在315 Mhz。它们可以轻松地装入面包板,并可很好的与微控制器配合使用,创建一个非常简单的无线数据链路。使用一对发射器和接收器,模块将只能单向传输数据,因此,你将需要两对(不同频率)作为发射器/接收器对。注意 – 这些模块是任意的,并会接收相当大量的噪音。发射器和接收器都在共同的频率下工作,并且没有ID。 接收器模块规格产品型号 – MX-05V工作电压 – DC5V静态电流 – 4mA接收频率 – 315Mhz接收灵敏度 – -105DB尺寸 – 30*14*7mm发射器模块规格产品型号 – MX-FS-03V发射距离 – 20-200米(不同电压,不同结果)工作电压 – 3.5-12V尺寸 – 19*19mm操作模式 – AM传输速率 – 4KB/S发射功率 – 10mW发射频率 – 315Mhz外置天线 – 25cm普通多芯或单芯线从左到右的引脚分布 – DATA;VCC;GND必需的组件你将需要以下组件:2 × Arduino UNO板1 × Rf链路发射器1 × Rf链路接收器程序按照电路图进行连接,如下图所示。 草图在计算机上打开Arduino IDE软件。使用Arduino语言进行编码控制你的电路。通过单击“New”打开一个新的草图文件。 注意 – 你必须在Arduino库文件中包含键盘库。将VirtualWire.lib文件复制并粘贴到库文件夹中,如下面屏幕截图的高亮部分所示。 发射器的Arduino代码 //simple Tx on pin D12 #include char *controller; void setup() { pinMode(13,OUTPUT); vw_set_ptt_inverted(true); vw_set_tx_pin(12); vw_setup(4000);// speed of data transfer Kbps } void loop() { controller="1" ; vw_send((uint8_t *)controller, strlen(controller)); vw_wait_tx(); // Wait until the whole message is gone digitalWrite(13,1); delay(2000); controller="0" ; vw_send((uint8_t *)controller, strlen(controller)); vw_wait_tx(); // Wait until the whole message is gone digitalWrite(13,0); delay(2000); } 代码说明这是一个简单的代码。首先发送字符“1”,两秒后发送字符“0”,以此类推。接收器的Arduino代码 //simple Rx on pin D12 #include void setup() { vw_set_ptt_inverted(true); // Required for DR3100 vw_set_rx_pin(12); vw_setup(4000); // Bits per sec pinMode(5, OUTPUT); vw_rx_start(); // Start the receiver PLL running } void loop() { uint8_t buf[VW_MAX_MESSAGE_LEN]; uint8_t buflen = VW_MAX_MESSAGE_LEN; if (vw_get_message(buf, &buflen)) // Non-blocking { if(buf[0]=='1') { digitalWrite(5,1); } if(buf[0]=='0') { digitalWrite(5,0); } } } 代码说明当接收到字符“1”时,连接到Arduino板上引脚5的LED亮起,当接收到字符“0”时,LED熄灭。 声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。 收藏 链接