“Microduino-CoreRF/zh”的版本间的差异

来自Microduino Wikipedia
跳转至: 导航搜索
 
(未显示3个用户的29个中间版本)
第3行: 第3行:
 
|-
 
|-
 
|
 
|
[[File:Microduino-core32U4-rect.jpg|400px|thumb|right|Microduino-CoreUSB]]
+
[[File:DSC01831.JPG|400px|thumb|right|Microduino-CoreRF]]
Microduino-CoreUSB是以ATMEGA32U4系列为核心的8位单片机开发核心板,是一个开源的、与 Arduino 兼容的控制器模块。
 
 
 
Microduino-CoreRF与Microduino-core和Microduino-core+的区别在于它包含了微控制器和单片射频收发芯片nRF24L01,相当于(Microduino-core + Microduino-nRF24),管脚符合microduino规范。
 
 
 
Microduino使用与Arduino相同的java,C语言的开发环境,玩家可以使用 Arduino IDE,配合 Flash 或 Processing 等软件,利用 Microduino 和其他电子元件、模块、传感器,做出很多丰富有趣的互动作品。
 
  
 +
Microduino-CoreRF是原生支持802.15.4无线协议的的AVR核心板, 它集成了802.15.4协议无线模块,支持基于802.15.4协议的无线模块,包括ZigBee,MAC/6LoWPAN和 RF4CE。
 
==特色==
 
==特色==
 
+
*集成802.15.4协议无线模块,支持任何基于802.15.4协议的无线模块,包括ZigBee,MAC/6LoWPAN和 RF4CE
*包含微控制器和nRF通信芯片,通过连接Microduino-USBTTL下载程序;
 
 
*小巧、便宜、堆叠、开放;
 
*小巧、便宜、堆叠、开放;
 
*开源的硬件电路设计,与 Arduino 兼容的编程开发环境程;
 
*开源的硬件电路设计,与 Arduino 兼容的编程开发环境程;
第20行: 第15行:
  
 
==规格==
 
==规格==
 +
采用ATmega128RFA1核心:
 
{|class="wikitable"
 
{|class="wikitable"
 
|-
 
|-
|Flash||32 KB(ATMEGA32U4),其中4 KB用于引导程序
+
|供电||3.3 V
 
|-
 
|-
|SRAM||2.5 KB(ATMEGA32U4)
+
|Flash||128 KB
 
|-
 
|-
|EEPROM||1 KB(ATMEGA32U4)
+
|SRAM||16 KB
 +
|-
 +
|EEPROM||4 KB
 
|-
 
|-
 
|时钟速度||16 MHz
 
|时钟速度||16 MHz
第32行: 第30行:
  
  
* Digital I/O 数字输入/输出端共22个:
+
* Digital I/O 数字输入/输出端共22个(其中6个支持ADC):
** 在模块上标示为 D0~D13,A0~A7
+
*2路硬串口:
 +
**UART0_RX:D0
 +
**UART0_TX:D1
 +
**UART1_RX:D2
 +
**UART1_TX:D3
 +
*支持7路PWM:
 +
**D4、D5、D6、D7、D8、D9、D10
 +
*6路外部中断:
 +
**Interrupt0 (pin SCL)
 +
**Interrupt1 (pin SDA)
 +
**Interrupt2 (pin D2)
 +
**Interrupt3 (pin D3)
 +
**Interrupt4 (pin D5)
 +
**Interrupt5 (pin D6)
 
* Analog I/O 模拟输入端共10个:
 
* Analog I/O 模拟输入端共10个:
 
** 在模块上标示为 A0,A1,A2,A3,A6,A7,D8(A8),D9(A9),D3(A10),D4(A11);
 
** 在模块上标示为 A0,A1,A2,A3,A6,A7,D8(A8),D9(A9),D3(A10),D4(A11);
 
** 每一个都提供了10位分辨率(即0~1024),默认情况下,模拟电压测量范围为GND至VCC电压值;
 
** 每一个都提供了10位分辨率(即0~1024),默认情况下,模拟电压测量范围为GND至VCC电压值;
 
** 详情请参阅'''[http://www.arduino.cc/en/Reference/AnalogRead analogRead()]'''函数。
 
** 详情请参阅'''[http://www.arduino.cc/en/Reference/AnalogRead analogRead()]'''函数。
* PWM支持,共8个:
 
** 在模块上标示为 分别为SCL,D3,D4,D5,D6,D7,D8,D9
 
** 详情请参阅'''[http://www.arduino.cc/en/Reference/AnalogWrite analogWrite()]'''函数。
 
* 串口支持,共2路:
 
** USB虚拟串口 Serial;
 
** 在模块上标示为 Serial1[D0(RX),D1(TX)]。
 
 
* SPI支持,共1路:
 
* SPI支持,共1路:
 
** 在模块上标示为 D13(SCK),D12(MISO),D11(MOSI),D10(SS)。
 
** 在模块上标示为 D13(SCK),D12(MISO),D11(MOSI),D10(SS)。
 
* I2C支持,共1路:
 
* I2C支持,共1路:
 
** 在模块上标示为 SDA(D18),SCL(D19)。
 
** 在模块上标示为 SDA(D18),SCL(D19)。
* 外部中断支持,共5路:
 
** 在模块上标示为 SCL(interrupt0),SDA(interrupt1),D0(interrupt2),D1(interrupt3),D2(interrupt4)
 
** 详情请参阅'''[http://arduino.cc/en/Reference/AttachInterrupt attachInterrupt()]'''函数。
 
* 支持ISP下载功能。
 
* 支持AREF端子。
 
  
  
 
*引脚说明:
 
*引脚说明:
 
 
{|class="wikitable"
 
{|class="wikitable"
 
| align="center" style="background:#f0f0f0;"|'''Pin'''
 
| align="center" style="background:#f0f0f0;"|'''Pin'''
第74行: 第73行:
 
| 2||VCC||+3V3||||||||||||||||+3.3V
 
| 2||VCC||+3V3||||||||||||||||+3.3V
 
|-
 
|-
| 3||(OC0A/OC1C/#RTS)PB7||D7||D7||||||yes||||||||
+
| 3||(OC0A/OC1C)PB7||D7||D7||||||yes||||||||
 
|-
 
|-
| 4||(OC1B/0C4B/ADC13)PB6||D8||D8||A8||||yes||||||||
+
| 4||(OC1B)PB6||D8||D8||||||yes||||||||
 
|-
 
|-
| 5||(OC1A/#OC4B/ADC12)PB5||D9||D9||A9||||yes||||||||
+
| 5||(OC1A)PB5||D9||D9||||||yes||||||||
 
|-
 
|-
| 6||(SS)PB0||D10||D10||||||||||SS||||
+
| 6||(OC2A/SS)PB4||D10||D10||||||yes||||SS||||
 
|-
 
|-
 
| 7||(PDI/MOSI)PB2||D11||D11||||||||||MOSI||||
 
| 7||(PDI/MOSI)PB2||D11||D11||||||||||MOSI||||
第90行: 第89行:
 
| 10||AREF||AREF||||||||||||||||
 
| 10||AREF||AREF||||||||||||||||
 
|-
 
|-
| 11||(ADC7/TDI)PF7||A0||D14||A0||||||||||||
+
| 11||(ADC7)PF7||A0||D14||A0||||||||||||
 
|-
 
|-
| 12||(ADC6/TDO)PF6||A1||D15||A1||||||||||||
+
| 12||(ADC6)PF6||A1||D15||A1||||||||||||
 
|-
 
|-
| 13||(ADC5/TMS)PF5||A2||D16||A2||||||||||||
+
| 13||(ADC5)PF5||A2||D16||A2||||||||||||
 
|-
 
|-
| 14||(ADC4/TCK)PF4||A3||D17||A3||||||||||||
+
| 14||(ADC4)PF4||A3||D17||A3||||||||||||
 
|-
 
|-
| 15||(SDA/INT1)PD1||SDA||D18||||1||||||||SDA||
+
| 15||(SDA)PD1||SDA||D18||||1||||||||SDA||
 
|-
 
|-
| 16||(OC0B/SCL/INT0)PD0||SCL||D19||||0||yes||||||SCL||
+
| 16||(SCL)PD0||SCL||D19||||0||||||||SCL||
 
|-
 
|-
| 17||(ADC1)PF1||A6||D20||A6||||||||||||
+
| 17||(ADC3)PF3||A6||D20||A6||||||||||||
 
|-
 
|-
| 18||(ADC0)PF0||A7||D21||A7||||||||||||
+
| 18||(ADC2)PF2||A7||D21||A7||||||||||||
 
|-
 
|-
| 19||(RXD1/AIN1/INT2)PD2||D0||D0||||2||||1(RX)||||||
+
| 19||(RXD0)PE0||RX0||D0|||||||||0(RX)|||||||
 
|-
 
|-
| 20||(TXD1/INT3)PD3||D1||D1||||3||||1(TX)||||||
+
| 20||(TXD0)PE1||TX1||D1|||||||||0(RX)|||||||
 
|-
 
|-
| 21||(INT6/AIN0)PE6||D2||D2||||4||||||||||
+
| 21||(RXD1)PD2||D2||D2||||2||||1(RX)||||||
 
|-
 
|-
| 22||(T1/#OC4D/ADC9)PD6||D3||D3||A10||||yes||||||||
+
| 22||(TXD1)PD3||D3||D3||||3||||1(TX)||||||
 
|-
 
|-
| 23||(T0/OC4D/ADC10)PD7||D4||D4||A11||||yes||||||||
+
| 23||(OC3A)PE3||D4||D4|||||||yes|||||||
 
|-
 
|-
| 24||(OC3A/#OC4A)PC6||D5||D5||||||yes||||||||
+
| 24||(OC3B)PE4||D5||D5||||4||yes||||||||
 
|-
 
|-
| 25||(ICP3/CLK0/OC4A)PC7||D6||D6||||||yes||||||||
+
| 25||(OC3C)PE5||D6||D6||||5||yes||||||||
 
|-
 
|-
 
| 26||RESET||RST||||||||||||||||
 
| 26||RESET||RST||||||||||||||||
第124行: 第123行:
 
| 27||GND||GND||||||||||||||||GND
 
| 27||GND||GND||||||||||||||||GND
 
|}
 
|}
 +
[[File:RF引脚.jpg|600px|thumb|center|Microduino-CoreRF引脚]]
 +
[[File:CoreRFpinlayout.jpg|600px|thumb|center|Microduino-CoreRF元件]]
 +
 +
==文档==
 +
 +
【'''[[media:Microduino-Core RF.pdf |CoreRF原理图]]'''】
  
[四张图]
 
  
==文档==
+
* Microduino-coreRF中使用的主要元器件
Eagle PCB
+
ATmega128RFA1:
* Microduino-core32U4中使用的主要元器件
+
http://www.atmel.com/zh/cn/devices/ATMEGA128RFA1.aspx?tab=documents
* MCU:'''[[File:ATmega32U4.zip]]'''
 
  
 
==开发==
 
==开发==
第144行: 第147行:
 
[[Microduino 四轴飞行器教程]]
 
[[Microduino 四轴飞行器教程]]
  
 +
==测试==
 +
使用ZigduinoRadio库的示例程序“ZigduinoRadioExample”来进行测试
 +
<source lang = "cpp">
 +
void loop()
 +
{
 +
    if (Serial.available())
 +
    {
 +
        ZigduinoRadio.beginTransmission();
 +
 +
        Serial.println();
 +
        Serial.print("Tx: ");
 +
 +
        while(Serial.available())
 +
        {
 +
            char c = Serial.read();
 +
            Serial.write(c);
 +
            ZigduinoRadio.write(c);
 +
        }
 +
 +
        Serial.println();
 +
 +
        ZigduinoRadio.endTransmission();
 +
    }
 +
 +
    if (ZigduinoRadio.available())
 +
    {
 +
        Serial.println();
 +
        Serial.print("Rx: ");
 +
 +
        while(ZigduinoRadio.available())
 +
            Serial.write(ZigduinoRadio.read());
 +
 +
        Serial.println();
 +
        Serial.print("LQI: ");
 +
        Serial.print(ZigduinoRadio.getLqi(), 10);
 +
        Serial.print(", RSSI: ");
 +
        Serial.print(ZigduinoRadio.getLastRssi(), 10);
 +
        Serial.print(" dBm, ED: ");
 +
        Serial.print(ZigduinoRadio.getLastEd(), 10);
 +
        Serial.println("dBm");
 +
    }
 +
 +
    delay(100);
 +
}
 +
 +
void errHandle(radio_error_t err)
 +
{
 +
    Serial.println();
 +
    Serial.print("Error: ");
 +
    Serial.print((uint8_t)err, 10);
 +
    Serial.println();
 +
}
 +
 +
void onXmitDone(radio_tx_done_t x)
 +
{
 +
    Serial.println();
 +
    Serial.print("TxDone: ");
 +
    Serial.print((uint8_t)x, 10);
 +
    Serial.println();
 +
}
 +
</source>
 +
该示例实现无线串口透传功能
 +
因为Core RF采用串口下载,所以你先要叠加一个Microduino-USBTTL:
 +
板卡选择Microduino Core RF
 +
[[File:154343ch79m113a77932i7.jpg|600px|thumb|center]]
 +
分别给两块Core-RF下载好程序以后,打开串口监视器,输入"Hello Microduino!"点击发送,会得到如下图结果:
 +
[[File:Result.png|600px|thumb|center]]
 +
[[File:Result1.png|600px|thumb|center]]
 +
至此测试完成
  
 
==问题解答==
 
 
 
==购买==
 
 
==历史==
 
  
  
 
==图库==
 
==图库==
===正面===
+
*正面
 
+
[[File:CORERFFRONT.jpg|600px|thumb|center|Front]]
===背面===
+
*背面
 +
[[File:CORERFBACK.jpg|600px|thumb|center|Back]]
  
==视频==
 
 
|}
 
|}

2018年6月12日 (二) 06:53的最新版本

Language English
Microduino-CoreRF

Microduino-CoreRF是原生支持802.15.4无线协议的的AVR核心板, 它集成了802.15.4协议无线模块,支持基于802.15.4协议的无线模块,包括ZigBee,MAC/6LoWPAN和 RF4CE。

特色

  • 集成802.15.4协议无线模块,支持任何基于802.15.4协议的无线模块,包括ZigBee,MAC/6LoWPAN和 RF4CE
  • 小巧、便宜、堆叠、开放;
  • 开源的硬件电路设计,与 Arduino 兼容的编程开发环境程;
  • 如同 Arduino一样,Microduino 可使用ISP下载方式,灵活烧入「bootloader」;
  • 统一的 Microduino 接口规范,和丰富的外围模块,可方便、灵活的与其他符合 Microduino 接口规范的模块、传感器进行快速的连接和扩展;
  • 2.54间距的排母接口方便集成到洞洞板。

规格

采用ATmega128RFA1核心:

供电 3.3 V
Flash 128 KB
SRAM 16 KB
EEPROM 4 KB
时钟速度 16 MHz


  • Digital I/O 数字输入/输出端共22个(其中6个支持ADC):
  • 2路硬串口:
    • UART0_RX:D0
    • UART0_TX:D1
    • UART1_RX:D2
    • UART1_TX:D3
  • 支持7路PWM:
    • D4、D5、D6、D7、D8、D9、D10
  • 6路外部中断:
    • Interrupt0 (pin SCL)
    • Interrupt1 (pin SDA)
    • Interrupt2 (pin D2)
    • Interrupt3 (pin D3)
    • Interrupt4 (pin D5)
    • Interrupt5 (pin D6)
  • Analog I/O 模拟输入端共10个:
    • 在模块上标示为 A0,A1,A2,A3,A6,A7,D8(A8),D9(A9),D3(A10),D4(A11);
    • 每一个都提供了10位分辨率(即0~1024),默认情况下,模拟电压测量范围为GND至VCC电压值;
    • 详情请参阅analogRead()函数。
  • SPI支持,共1路:
    • 在模块上标示为 D13(SCK),D12(MISO),D11(MOSI),D10(SS)。
  • I2C支持,共1路:
    • 在模块上标示为 SDA(D18),SCL(D19)。


  • 引脚说明:
Pin Original Pin Name Map Pin Name Digital Pin Analog Pin interrupt PWM Serial SPI I2C Power
1 VCC +5V +5V
2 VCC +3V3 +3.3V
3 (OC0A/OC1C)PB7 D7 D7 yes
4 (OC1B)PB6 D8 D8 yes
5 (OC1A)PB5 D9 D9 yes
6 (OC2A/SS)PB4 D10 D10 yes SS
7 (PDI/MOSI)PB2 D11 D11 MOSI
8 (PDO/MISO)PB3 D12 D12 MISO
9 (SCK)PB1 D13 D13 SCK
10 AREF AREF
11 (ADC7)PF7 A0 D14 A0
12 (ADC6)PF6 A1 D15 A1
13 (ADC5)PF5 A2 D16 A2
14 (ADC4)PF4 A3 D17 A3
15 (SDA)PD1 SDA D18 1 SDA
16 (SCL)PD0 SCL D19 0 SCL
17 (ADC3)PF3 A6 D20 A6
18 (ADC2)PF2 A7 D21 A7
19 (RXD0)PE0 RX0 D0 0(RX)
20 (TXD0)PE1 TX1 D1 0(RX)
21 (RXD1)PD2 D2 D2 2 1(RX)
22 (TXD1)PD3 D3 D3 3 1(TX)
23 (OC3A)PE3 D4 D4 yes
24 (OC3B)PE4 D5 D5 4 yes
25 (OC3C)PE5 D6 D6 5 yes
26 RESET RST
27 GND GND GND
Microduino-CoreRF引脚
Microduino-CoreRF元件

文档

CoreRF原理图


  • Microduino-coreRF中使用的主要元器件

ATmega128RFA1: http://www.atmel.com/zh/cn/devices/ATMEGA128RFA1.aspx?tab=documents

开发

应用

Microduino 四轴飞行器教程

测试

使用ZigduinoRadio库的示例程序“ZigduinoRadioExample”来进行测试

void loop() 
{ 
    if (Serial.available()) 
    { 
        ZigduinoRadio.beginTransmission(); 
 
        Serial.println(); 
        Serial.print("Tx: "); 
 
        while(Serial.available()) 
        { 
            char c = Serial.read(); 
            Serial.write(c); 
            ZigduinoRadio.write(c); 
        } 
 
        Serial.println(); 
 
        ZigduinoRadio.endTransmission(); 
    } 
 
    if (ZigduinoRadio.available()) 
    { 
        Serial.println(); 
        Serial.print("Rx: "); 
 
        while(ZigduinoRadio.available()) 
            Serial.write(ZigduinoRadio.read()); 
 
        Serial.println(); 
        Serial.print("LQI: "); 
        Serial.print(ZigduinoRadio.getLqi(), 10); 
        Serial.print(", RSSI: "); 
        Serial.print(ZigduinoRadio.getLastRssi(), 10); 
        Serial.print(" dBm, ED: "); 
        Serial.print(ZigduinoRadio.getLastEd(), 10); 
        Serial.println("dBm"); 
    } 
 
    delay(100); 
} 
 
void errHandle(radio_error_t err) 
{ 
    Serial.println(); 
    Serial.print("Error: "); 
    Serial.print((uint8_t)err, 10); 
    Serial.println(); 
} 
 
void onXmitDone(radio_tx_done_t x) 
{ 
    Serial.println(); 
    Serial.print("TxDone: "); 
    Serial.print((uint8_t)x, 10); 
    Serial.println(); 
}

该示例实现无线串口透传功能 因为Core RF采用串口下载,所以你先要叠加一个Microduino-USBTTL: 板卡选择Microduino Core RF

154343ch79m113a77932i7.jpg

分别给两块Core-RF下载好程序以后,打开串口监视器,输入"Hello Microduino!"点击发送,会得到如下图结果:

Result.png
Result1.png

至此测试完成


图库

  • 正面
Front
  • 背面
Back