<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>

電子發燒友App

硬聲App

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示
電子發燒友網>電子資料下載>電子資料>RA 02帶電平轉換器的分線器

RA 02帶電平轉換器的分線器

2022-08-04 | zip | 0.01 MB | 次下載 | 免費

資料介紹

PCB圖如下:
poYBAGKxpYWAR7OdAADCixW0UyM373.jpg
poYBAGKxpYWAR7OdAADCixW0UyM373.jpg

描述

RA-02 帶電平轉換器的分線器

面包板和初學者友好型 RA-02 分線模塊

?

大多數創客和電子愛好者可能已經知道 RA-02 LoRa 模塊。他們中的許多人可能擁有一兩個 RA-02 Breakout 模塊……對于那些擁有的人,他們肯定會知道使用這個特定的 Breakout 模塊時遇到的問題……

RA-02 模塊本身就是一個很棒的套件,當在定制 PCB 上使用時,它的設計考慮了該模塊的所有小秘密,是一種樂趣。然而,以現有的外形尺寸使用 RA-02 分線模塊確實會帶來很多獨特的挑戰,如果您沒有意識到這些挑戰,可能會導致很多令人沮喪的時刻,甚至會導致模塊永久損壞。 ..

這些挑戰是什么

1) 該模塊基于 Semtech 的 SX1278 芯片,為 3v 設備。IO 引腳不兼容 5v,但與 5v 一起使用時似乎可以工作幾個小時左右……這導致很多人,尤其是在 Youtube 上,認為可以向該模塊發送 5v 邏輯信號……

我還沒有看到任何 Youtube 視頻告訴觀眾至少使用電阻分壓器或邏輯轉換器......人們只是不知道,而那些知道的人似乎保持沉默!

添加邏輯轉換器實際上由數據表指定。

2) 添加邏輯轉換器意味著添加額外的布線,對于基于面包板的項目,這會增加復雜性。

3) 您總共需要連接 4 個接地引腳。沒有連接所有這些,會導致有趣的事情發生,從過熱到失敗......(我在研究這個項目時的個人經驗)

4)現有的分線模塊不兼容面包板,導致浮動組件到處都是電線,導致連接不穩定等......

基本上類似于下圖:

poYBAGKxpZGADXPEAACN0X6DmfU115.jpg

在這張圖片中,我有一個現有的 RA-02 分線模塊,帶有一個 8 通道邏輯轉換器和一個 Arduino Uno 克隆,以及使此設置成為可能所需的所有接線......確實有很多電線......

我的解決方案:

我設計并使用了很多 LoRa PCB,在所有這些 PCB 上,我使用 BSS138 N-MOS Mosfet 和 10k 電阻器實現邏輯轉換。這是一種便宜且可靠的解決方案,但它會占用 PCB 上的大量空間,因為如果我要為 RA-02 的所有 GPIO 和 IO 引腳提供電平轉換,這意味著需要 11 個 Mosfet 和 22 個 10k 電阻。 ..

我還經常遇到許多不必要的電線的問題,其中許多電線有時會直接開箱即用,在制作原型時。我通過設計一些專用的 PCB 解決方案部分解決了這個問題,但這并不總是理想的,

在面包板兼容模塊上使用專用邏輯轉換器 IC 和基于 Mosfet 的轉換器來彌補差異似乎是個好主意,因此我繼續設計了以下解決方案:

pYYBAGKxpZSAeIE6AADClxpg8YU031.jpg

分線板模塊與面包板兼容,并且有明確標記的引腳以指示模塊的 3v 和 5v 側。

測試模塊:

使用 5v 設備(Cytron 的 Maker Uno

對于我的第一次測試,我決定使用 Arduino Uno Clone 進行測試,因為這是大多數創客和學生都可以使用的。我使用了 Cytron 的 Maker Uno 平臺,該平臺配備了一些附加功能,例如診斷 LED 等,以使原型制作更加容易。

poYBAGKxpZaAfhpPAAB-OWeZYaQ709.jpg

可以清楚的看到,只需要接模塊的5v邏輯端,同時給模塊提供3v和5v+GND

在這個測試中,我使用了 Sandeep Mistry 的 LoRa 庫和 Arduino IDE 來做一個快速測試草圖。

連接如下:

RA-02 模塊制造商 Uno

味噌 D12

莫西D11

SCK D13

NSS D10

RST D9

DIO0 D2

OE D8

(完整代碼將在下面提供下載

不過,讓我們看一些重要的部分,以徹底了解如何使用該模塊:

引腳聲明

#include // 包含庫

#include // 我使用了 Sandeep Mistry 的 LoRa 庫,因為它易于使用和理解

常量 int csPin = 10; // LoRa 無線電芯片選擇

常量 int resetPin = 9; // LoRa 無線電復位

常量 int irqPin = 2; // 改變你的板子;必須是硬件中斷引腳

常量 int OEPin = 8; // 輸出使能引腳,使能邏輯轉換器

在設置功能中,我們需要做一些額外的工作,因為我們的 Maker Uno(或您的 Arduino Uno)是一個 5v 設備...

無效設置(){

?序列號.開始(115200);//初始化串口

?pinMode(OEPin,輸出);// 將 OE 引腳設置為 Outout

?數字寫入(OEPin,HIGH);// 并將其拉高以啟用邏輯轉換器

?而(!串行);

?Serial.println("LoRa Duplex - 設置擴頻因子");

?// 覆蓋默認的 CS、reset 和 IRQ 引腳(可選)

?LoRa.setPins(csPin, resetPin, irqPin); // 設置 CS、復位、IRQ 引腳

?if (!LoRa.begin(433E6)) { // 在 433 MHz 處初始化比率

??Serial.println("LoRa 初始化失敗。檢查你的連接。");

??而(真);// 如果失敗,什么也不做

?}

?LoRa.setSpreadingFactor(8); // 范圍從 6-12,默認 7 見 API 文檔

?Serial.println("LoRa 初始化成功。");

}

比較,使用標準 RS-02 Breakout 模塊,以及我自己的一個“Arduino 類型 PCB”

ATMEGA328P 帶有 8 通道邏輯轉換器。

poYBAGKxpZiAPzHcAACagD9k4cE161.jpg

正如我們所看到的,您需要更多的電線才能完成這項工作。還值得注意的是,我們在這塊 ATMEGA328P PCB 上只有 8 個電平轉換器,為了使用 RA-02 的所有 GPIO,我們還需要添加一個額外的外部邏輯轉換器。

使用 3v 設備:

Cytron 創客 Nano RP2040

對于我的第二次測試,我決定勇敢一點,嘗試使用新的 Raspberry Pi Pico(RP2040 微處理器)。我身邊有很多這樣的人,從來沒有真正用過它們,因為我不太喜歡使用 MicroPython 或 CircuitPython,而且最近發布的 RP2040 的 Arduino Core 仍然很新。 .. 我決定使用我最近從 Cytron 購買的開發板,Maker Nano RP2040,因為它具有所有附加的診斷功能,讓我的生活更輕松,我還將使用原始 Pi Pico 板進行測試,讓那里的每個人都更容易獲得它。

pYYBAGKxpZuAaZpvAAB6G_86cHo204.jpg

再一次,我使用了 Sandeep Mistry 的 LoRa 庫,帶有完全相同的 Arduino 草圖,用于Maker Uno測試。(我顯然需要更改引腳編號,因為 RP2040 對其 SPI 接口使用不同的引腳)。

Maker Nano RP2040 RA-02 分線模塊

NSS 17

莫西19

味噌 16

SCK 18

第一時間 9

DIO0 8

在這種情況下,我們不需要 OE 引腳,因為 RP2040 是原生 3v 設備。因此,電平轉換器可以保持禁用狀態,其引腳處于三態(高阻抗)模式。

如果我們查看代碼,它類似于 Maker Uno 的代碼,只有 Pin 聲明需要更改

#include // 包含庫

#include

常量 int csPin = 17; // LoRa 無線電芯片選擇

常量 int resetPin = 9; // LoRa 無線電復位

常量 int irqPin = 8; // 改變你的板子;必須是硬件中斷引腳

字節 msgCount = 0; // 傳出消息的計數

整數間隔 = 2000;// 發送間隔

長最后發送時間 = 0; // 最后一個數據包發送的時間

// 注意 SPI 在 RP2040 上有不同的名稱,它有 2 個 SPI 端口。我們使用了端口 0

// CIPO(味噌)在引腳 16

// COPI (Mosi) 在引腳 19

// SCK 在引腳 18 上

// CE/SS 在引腳 17 上,正如上面已經聲明的

我沒有使用面包板,以使事情盡可能簡單。

Cytron 的 Maker Pi Pico - 分線 PCB 上的 Pi Pico

poYBAGKxpZ2ARUkdAADN4BXH35c284.jpg

為了讓事情變得更簡單,無需使用面包板,我決定使用Maker Pi Pico PCB 進行 Original Pi Pico 測試。這個 PCB 基本上是一個大的分線模塊,具有詳細的引腳編號和一些診斷 LED,但它也使用原生 Pi Pico,通過堞形孔直接焊接到 PCB 上......所以,雖然技術上不是真正的獨立 Pico,它讓我的生活更輕松,因此被用于測試,因為我可以確定引腳的標記與原始 Pico 上的完全相同。

Maker Nano RP2040使用的代碼完美運行,無需更改。

這篇文章現在已經很長了,所以我決定不在這里包括我對 ESP-12E ( NodeMCU ) 或 ESP32 開發板的測試......它們也能按預期工作。

總之

當我開始這個項目時,我著手解決一個問題(對我個人而言),這可能會幫助許多其他人使用 RA-02 模塊來完成更多的項目和任務。當前形式的 Breakout 模塊也可以與 RA-01h 模塊(915Mhz 模塊)一起使用,無需任何更改。所有 GPIO 引腳均已分線,并可通過分線模塊兩側的全邏輯轉換引腳訪問。

我希望這對某人有用。在這個階段我也不會發布完整的原理圖,因為我可能會決定在不久的將來做一些小的外觀改動。

但是,可以從 PCBWay 以當前形式訂購 PCB,并按預期 100% 工作。與往常一樣,訂購的 PCB 可提供 BOM 文件。

代碼

Maker Nano RP2040 / Pi Pico 的 LoRa 測試代碼

阿杜諾

? #include // include libraries
? #include
? ?
? const int csPin = 17;// LoRa radio chip select
? const int resetPin = 9; // LoRa radio reset
? const int irqPin = 8; // change for your board; must be a hardware interrupt pin
? ?
? byte msgCount = 0;// count of outgoing messages
? int interval = 2000;// interval between sends
? long lastSendTime = 0;// time of last packet send
? ?
? void setup() {
? Serial.begin(115200); // initialize serial
? while (!Serial);
? ?
? Serial.println("LoRa Duplex - Set spreading factor");
? ?
? // override the default CS, reset, and IRQ pins (optional)
? LoRa.setPins(csPin, resetPin, irqPin); // set CS, reset, IRQ pin
? ?
? if (!LoRa.begin(433E6)) { // initialize ratio at 915 MHz
? Serial.println("LoRa init failed. Check your connections.");
? while (true); // if failed, do nothing
? }
? ?
? LoRa.setSpreadingFactor(8); // ranges from 6-12,default 7 see API docs
? Serial.println("LoRa init succeeded.");
? }
? ?
? void loop() {
? if (millis() - lastSendTime > interval) {
? String message = "Testing Maker Nano RP2040 "; // send a message
? message += msgCount;
? sendMessage(message);
? Serial.println("Sending " + message);
? lastSendTime = millis();// timestamp the message
? interval = random(2000) + 1000;// 2-3 seconds
? msgCount++;
? }
? ?
? // parse for a packet, and call onReceive with the result:
? onReceive(LoRa.parsePacket());
? }
? ?
? void sendMessage(String outgoing) {
? LoRa.beginPacket(); // start packet
? LoRa.print(outgoing); // add payload
? LoRa.endPacket(); // finish packet and send it
? msgCount++; // increment message ID
? }
? ?
? void onReceive(int packetSize) {
? if (packetSize == 0) return;// if there's no packet, return
? ?
? // read packet header bytes:
? String incoming = "";
? ?
? while (LoRa.available()) {
? incoming += (char)LoRa.read();
? }
? ?
? Serial.println("Message: " + incoming);
? Serial.println("RSSI: " + String(LoRa.packetRssi()));
? Serial.println("Snr: " + String(LoRa.packetSnr()));
? Serial.println();
? }

帶有板載邏輯轉換器的 RS-02 分線板的 Arduino 代碼

阿杜諾

? #include // include libraries
? #include
? ?
? const int csPin = 10;// LoRa radio chip select
? const int resetPin = 9; // LoRa radio reset
? const int irqPin = 2; // change for your board; must be a hardware interrupt pin
? const int OEPin = 8;// Output Enable Pin
? ?
? byte msgCount = 0;// count of outgoing messages
? int interval = 2000;// interval between sends
? long lastSendTime = 0;// time of last packet send
? ?
? void setup() {
? Serial.begin(115200); // initialize serial
? pinMode(OEPin,OUTPUT);
? digitalWrite(OEPin,HIGH);
? ?
? while (!Serial);
? ?
? Serial.println("LoRa Duplex - Set spreading factor");
? ?
? // override the default CS, reset, and IRQ pins (optional)
? LoRa.setPins(csPin, resetPin, irqPin); // set CS, reset, IRQ pin
? ?
? if (!LoRa.begin(433E6)) { // initialize ratio at 915 MHz
? Serial.println("LoRa init failed. Check your connections.");
? while (true); // if failed, do nothing
? }
? ?
? LoRa.setSpreadingFactor(8); // ranges from 6-12,default 7 see API docs
? Serial.println("LoRa init succeeded.");
? }
? ?
? void loop() {
? if (millis() - lastSendTime > interval) {
? String message = "Testing Arduino and RA-02 breakout "; // send a message
? message += msgCount;
? sendMessage(message);
? Serial.println("Sending " + message);
? lastSendTime = millis();// timestamp the message
? interval = random(2000) + 1000;// 2-3 seconds
? msgCount++;
? }
? ?
? // parse for a packet, and call onReceive with the result:
? onReceive(LoRa.parsePacket());
? }
? ?
? void sendMessage(String outgoing) {
? LoRa.beginPacket(); // start packet
? LoRa.print(outgoing); // add payload
? LoRa.endPacket(); // finish packet and send it
? msgCount++; // increment message ID
? }
? ?
? void onReceive(int packetSize) {
? if (packetSize == 0) return;// if there's no packet, return
? ?
? // read packet header bytes:
? String incoming = "";
? ?
? while (LoRa.available()) {
? incoming += (char)LoRa.read();
? }
? ?
? Serial.println("Message: " + incoming);
? Serial.println("RSSI: " + String(LoRa.packetRssi()));
? Serial.println("Snr: " + String(LoRa.packetSnr()));
? Serial.println();

下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數據手冊
  2. 1.06 MB  |  532次下載  |  免費
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費
  5. 3TC358743XBG評估板參考手冊
  6. 1.36 MB  |  330次下載  |  免費
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費
  9. 5元宇宙深度解析—未來的未來-風口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費
  11. 6迪文DGUS開發指南
  12. 31.67 MB  |  194次下載  |  免費
  13. 7元宇宙底層硬件系列報告
  14. 13.42 MB  |  182次下載  |  免費
  15. 8FP5207XR-G1中文應用手冊
  16. 1.09 MB  |  178次下載  |  免費

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費
  3. 2555集成電路應用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費
  7. 4開關電源設計實例指南
  8. 未知  |  21549次下載  |  免費
  9. 5電氣工程師手冊免費下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費
  11. 6數字電路基礎pdf(下載)
  12. 未知  |  13750次下載  |  免費
  13. 7電子制作實例集錦 下載
  14. 未知  |  8113次下載  |  免費
  15. 8《LED驅動電路設計》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉中文版)
  4. 78.1 MB  |  537798次下載  |  免費
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費
  11. 6電路仿真軟件multisim 10.0免費下載
  12. 340992  |  191187次下載  |  免費
  13. 7十天學會AVR單片機與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費
  15. 8proe5.0野火版下載(中文版免費下載)
  16. 未知  |  138040次下載  |  免費
亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>