91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何用Arduinos和NRF24L01模塊創(chuàng)建發(fā)射器和接收器

454398 ? 來(lái)源:工程師吳畏 ? 2019-08-01 11:29 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

此項(xiàng)目所需的組件如下:

2 Arduino

2 NRF24L01模塊

操縱桿模塊

伺服電機(jī)

連接電線

伺服電機(jī)控制如何工作

變送器側(cè)我們有一個(gè)操縱桿模塊,Arduino和NRF24L01,而在接收端我們有一個(gè)NRF24L01,Arduino和一個(gè)伺服電機(jī)。

當(dāng)我們?cè)谒椒较蛞苿?dòng)操縱桿時(shí),操縱桿模塊將發(fā)送Ardui的模擬值沒有。我們已將NRF24L01模塊設(shè)置為發(fā)射器模式,并將操縱桿移動(dòng)值發(fā)送到特定地址。

在接收端,我們已將NRF24L01模塊設(shè)置為接收模式。我們?cè)诮邮斩私o出了相同的地址,其他NRF24L01模塊正在傳輸數(shù)據(jù)。因此,只要模塊接收數(shù)據(jù),Arduino就會(huì)讀取它并根據(jù)它移動(dòng)伺服電機(jī)。

NRF24L01引腳

此模塊的功耗非常低。它在傳輸過(guò)程中消耗大約12mA的功率,甚至低于LED。

該模塊工作在3.3V,所以不要直接連接到5V的Arduino,因?yàn)樗赡軙?huì)損壞。 NRF24L01模塊的其他引腳具有5V容限,因此您可以將它們直接連接到Arduino。

SCK,MOSI和MISO引腳用于SPI通信,CSN和CE引腳用于設(shè)置待機(jī)或激活模式以及設(shè)置發(fā)送或命令模式。

電路圖

連接有點(diǎn)冗長(zhǎng),所以我將分別解釋發(fā)送器和接收器的連接。

對(duì)于發(fā)射器

使用Arduino建立發(fā)射器側(cè)的連接,如下所示:

將NRF24L01的3.3V引腳與3.3V的Arduino連接

將NRF24L01的GND引腳與Arduino的GND連接

將NRF24L01的CSN引腳連接到Arduino的引腳8

將NRF24L01的CE引腳與Arduino的引腳7連接

連接NRF24L01的SCK引腳Arduino的第13針

將NRF24L01的MOSI引腳與Arduino的引腳11連接

將NRF24L01的MISO引腳與Arduino的引腳12連接?/li》

然后將操縱桿模塊與Arduino連接如下:

操縱桿模塊的VCC到Arduino的5V電源

GND of操縱桿模塊到Arduino的GND

操縱桿模塊的VER到Arduino的A1

操縱桿模塊的HOR到Arduino的A0

對(duì)于接收器

在接收器端,NRF24L01與Arduino的連接 相同作為發(fā)射器側(cè)的那些。使用Arduino進(jìn)行伺服電機(jī)連接如下:

紅線到Arduino的5V電源

Arduino的GND到布線》

黃色電線到Arduino的第6針

代碼發(fā)射器

#include

#include

#include

RF24 radio(7, 8); // CSN, CE

const byte address[6] = “00001”;

int x_key = A1;

int y_key = A0;

int x_pos;

int y_pos;

void setup() {

radio.begin();

radio.openWritingPipe(address);

radio.setPALevel(RF24_PA_MIN);

radio.stopListening();

pinMode (x_key, INPUT) ;

pinMode (y_key, INPUT) ;

}

void loop() {

x_pos = analogRead (x_key) ;

y_pos = analogRead (y_key) ;

radio.write(&x_pos, sizeof(x_pos));

delay(100);

}

接收者代碼

#include

#include

#include

#include

Servo servo;

RF24 radio(7, 8); // CSN, CE

const byte address[6] = “00001”;

int servo_pin = 6;

void setup() {

Serial.begin(9600);

radio.begin();

servo.attach (servo_pin ) ;

radio.openReadingPipe(0, address);

radio.setPALevel(RF24_PA_MIN);

radio.startListening();

}

void loop() {

if (radio.available()) {

int x_pos ;

radio.read(&x_pos, sizeof(x_pos));

Serial.println(x_pos);

x_pos = map(x_pos, 0, 1023, 0, 180);

if (x_pos》400 && x_pos《600)

{

}

else{

servo.write (x_pos) ;

}

}

}

代碼細(xì)分和解釋

首先,包含庫(kù)對(duì)于NRF24L01和伺服電機(jī)。

#include

#include

#include

#include

然后,定義我們連接NRF24L01的CSN和CE引腳的引腳。之后,我們初始化將發(fā)送和接收數(shù)據(jù)的地址。該地址在發(fā)射機(jī)和接收機(jī)側(cè)應(yīng)該相同。該地址可以是任意五個(gè)字母的字符串。

RF24 radio(7,8);//CSN,CE

const字節(jié)地址[6] =“00001”;

在發(fā)送器的設(shè)置功能中,我們?cè)O(shè)置發(fā)送數(shù)據(jù)的地址。然后我們將功率放大范圍設(shè)置為最小,因?yàn)槲覀兊哪K彼此更接近。

radio.openWritingPipe(地址);

radio.setPALevel(RF24_PA_MIN);

對(duì)于接收方,我們使用以下命令并設(shè)置模塊以從該地址接收數(shù)據(jù)。

radio.openReadingPipe(0,address);

In發(fā)送器的循環(huán)功能,我們從操縱桿模塊讀取并在我們之前設(shè)置的地址發(fā)送值。

radio.write(& x_pos,sizeof(x_pos));

接收器側(cè)的以下命令將從發(fā)送器獲取數(shù)據(jù),并且在將數(shù)據(jù)映射到0-180之后,我們將移動(dòng)伺服。

radio.read(& x_pos,sizeof( X_POS));

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 接收器
    +關(guān)注

    關(guān)注

    15

    文章

    2647

    瀏覽量

    77261
  • 發(fā)射器
    +關(guān)注

    關(guān)注

    7

    文章

    919

    瀏覽量

    55377
  • nRF24L01
    +關(guān)注

    關(guān)注

    17

    文章

    332

    瀏覽量

    75264
  • Arduino
    +關(guān)注

    關(guān)注

    190

    文章

    6526

    瀏覽量

    197068
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    51驅(qū)動(dòng)NRF24L01通信,NRF24L01與TTL轉(zhuǎn)NRF24L01模塊通信

    NRF24L01 一、簡(jiǎn)介 NRF24L01 是 NORDIC 公司最近生產(chǎn)的一款無(wú)線通信通信芯片,采用 FSK 調(diào)制,內(nèi)部 集成 NORDIC 自己的 Enhanced Short Burst
    的頭像 發(fā)表于 03-17 14:37 ?29次閱讀
    51驅(qū)動(dòng)<b class='flag-5'>NRF24L01</b>通信,<b class='flag-5'>NRF24L01</b>與TTL轉(zhuǎn)<b class='flag-5'>NRF24L01</b><b class='flag-5'>模塊</b>通信

    SI24R1完美代替NRF24L01

    NRF24L01無(wú)線模塊廣泛地運(yùn)用于:無(wú)線門禁、無(wú)線數(shù)據(jù)通訊、安防系統(tǒng)、遙控裝置、遙感勘測(cè)、智能運(yùn)動(dòng)設(shè)備、工業(yè)傳感;平常我們用到的無(wú)線鼠標(biāo)基本上采用的都是NORDIC的NRF24L01
    發(fā)表于 11-28 11:10

    使用NRF24l01軟件包注冊(cè)設(shè)備失敗怎么解決?

    1.根據(jù)軟件包提示第一步先打開了SPI驅(qū)動(dòng)框架 2.然后軟件包添加了 nrf24l01最新版本以及demo、debug 3.在board.h #define using_spi1 在board.c
    發(fā)表于 09-23 06:51

    官網(wǎng)nrf24l01的例程demo會(huì)出現(xiàn)互斥鎖報(bào)錯(cuò)是為什么?

    我在用nrf24L01官網(wǎng)下載的例程包,用stm32進(jìn)行開發(fā),串口助手顯示互斥鎖錯(cuò)誤,有朋友遇到這個(gè)問題嗎
    發(fā)表于 09-10 06:05

    Analog Devices Inc. AD9986 4T2R射頻發(fā)射器和觀察接收器數(shù)據(jù)手冊(cè)

    Analog Devices Inc. AD9986 4T2R直接射頻發(fā)射器和觀察接收器是一款高度集成的器件,采用16位、12GSPS最大采樣率射頻DAC內(nèi)核和12位、6GSPS速率射頻ADC內(nèi)核。AD9986提供四個(gè)發(fā)射器通道
    的頭像 發(fā)表于 06-30 14:34 ?994次閱讀
    Analog Devices Inc. AD9986 4T2R射頻<b class='flag-5'>發(fā)射器</b>和觀察<b class='flag-5'>接收器</b>數(shù)據(jù)手冊(cè)

    LE 發(fā)射器接收器測(cè)試返回錯(cuò)誤結(jié)果是什么原因?qū)е碌模?/a>

    我有特定的代碼運(yùn)行來(lái)啟動(dòng)和停止一些無(wú)線電頻率測(cè)試。 目前只關(guān)注 BLE 發(fā)射器接收器測(cè)試。 然而,此處第 6 節(jié) LE 測(cè)試結(jié)束時(shí)的文檔指出,當(dāng) le 發(fā)射器測(cè)試處于活動(dòng)狀態(tài)時(shí),接收
    發(fā)表于 06-30 08:08

    NRF24L01項(xiàng)目資料(2.4G通信)實(shí)例項(xiàng)目下載

    NRF24L01項(xiàng)目資料(2.4G通信)實(shí)例項(xiàng)目,推薦下載!
    發(fā)表于 06-03 20:46

    15KV ESD保護(hù) RS-232發(fā)射器/接收器ICL3237E數(shù)據(jù)手冊(cè)

    輸出和接收器輸入(RS-232 引腳)提供 ±15kV ESD 保護(hù)(符合IEC61000-4-2 氣隙放電和人體模型標(biāo)準(zhǔn))。 *附件:15KV ESD保護(hù) RS-232發(fā)射器接收器ICL3237E
    的頭像 發(fā)表于 05-25 17:45 ?1152次閱讀
    15KV ESD保護(hù) RS-232<b class='flag-5'>發(fā)射器</b>/<b class='flag-5'>接收器</b>ICL3237E數(shù)據(jù)手冊(cè)

    ESD保護(hù) RS-232發(fā)射器/接收器HIN208E數(shù)據(jù)手冊(cè)

    HIN202E、HIN206E、HIN207E、HIN208E、HIN211E、HIN213E、HIN232E 系列 RS-232 發(fā)射器 /接收器接口電路符合所有美國(guó)電子工業(yè)協(xié)會(huì)(EIA)高速
    的頭像 發(fā)表于 05-25 17:21 ?824次閱讀
    ESD保護(hù) RS-232<b class='flag-5'>發(fā)射器</b>/<b class='flag-5'>接收器</b>HIN208E數(shù)據(jù)手冊(cè)

    HIN206E RS-232發(fā)射器/接收器數(shù)據(jù)手冊(cè)

    HIN202E、HIN206E、HIN207E、HIN208E、HIN211E、HIN213E、HIN232E 系列 RS-232 發(fā)射器 /接收器接口電路符合所有美國(guó)電子工業(yè)協(xié)會(huì)(EIA)高速
    的頭像 發(fā)表于 05-25 17:13 ?850次閱讀
    HIN206E RS-232<b class='flag-5'>發(fā)射器</b>/<b class='flag-5'>接收器</b>數(shù)據(jù)手冊(cè)

    HIN202E RS-232發(fā)射器/接收器數(shù)據(jù)手冊(cè)

    HIN202E、HIN206E、HIN207E、HIN208E、HIN211E、HIN213E、HIN232E 系列 RS-232 發(fā)射器 /接收器接口電路符合所有美國(guó)電子工業(yè)協(xié)會(huì)(EIA)高速
    的頭像 發(fā)表于 05-25 17:00 ?794次閱讀
    HIN202E RS-232<b class='flag-5'>發(fā)射器</b>/<b class='flag-5'>接收器</b>數(shù)據(jù)手冊(cè)

    帶0.1F外部電容的+5V供電RS-232發(fā)射器/接收器HIN202數(shù)據(jù)手冊(cè)

    HIN202、HIN206、HIN207、HIN208、HIN211、HIN213 系列 RS-232 發(fā)射器 / 接收器接口電路符合所有美國(guó)電子工業(yè)協(xié)會(huì)(EIA)RS-232E 和 V.28 標(biāo)準(zhǔn)
    的頭像 發(fā)表于 05-25 16:49 ?713次閱讀
    帶0.1F外部電容的+5V供電RS-232<b class='flag-5'>發(fā)射器</b>/<b class='flag-5'>接收器</b>HIN202數(shù)據(jù)手冊(cè)

    +5V供電的RS-232發(fā)射器/接收器HIN232數(shù)據(jù)手冊(cè)

    僅需單個(gè) + 5V 電源供電,并集成板載電荷泵電壓轉(zhuǎn)換,可從 5V 電源生成 + 10V 和 - 10V電源。 *附件:+5V供電的RS-232發(fā)射器接收器HIN232數(shù)據(jù)手冊(cè).pdf 該系列器件
    的頭像 發(fā)表于 05-25 16:29 ?979次閱讀
    +5V供電的RS-232<b class='flag-5'>發(fā)射器</b>/<b class='flag-5'>接收器</b>HIN232數(shù)據(jù)手冊(cè)

    基于nRF24L01+的2.4GHz無(wú)線模塊設(shè)計(jì)與應(yīng)用

    nRF24L01+是一款由Nordic Semiconductor設(shè)計(jì)的單片射頻收發(fā)芯片,工作于2.4~2.5GHz ISM頻段,采用GFSK調(diào)制技術(shù),支持高達(dá)2Mbps的數(shù)據(jù)傳輸速率,具備低功耗特性,適用于2.4G無(wú)線通信應(yīng)用場(chǎng)景。
    的頭像 發(fā)表于 04-28 11:19 ?1240次閱讀
    基于<b class='flag-5'>nRF24L01</b>+的2.4GHz無(wú)線<b class='flag-5'>模塊</b>設(shè)計(jì)與應(yīng)用

    stmf103c8t6使用nrf24l01發(fā)送和接收數(shù)據(jù),接收端STATUS寄存的值始終為0x0E, FIFO_STATUS的值為0x11。

    stmf103c8t6使用nrf24l01發(fā)送和接收數(shù)據(jù),通過(guò)失能自動(dòng)應(yīng)答,發(fā)送端調(diào)通了,但是接收端始終無(wú)法收到消息,下面是接收端的主要代碼: void
    發(fā)表于 04-19 23:32