PAGE1
PAGE1
Gemma硬件特性
1.概述
ArduinoGemma是一款小巧的单片机开发板,基于ATtiny85微控制器。它非常适合用于需要小尺寸和低功耗的应用,如可穿戴设备、互动艺术项目和小型电子装置。Gemma的特点是体积小、价格低廉,并且具有基本的输入输出功能,适用于初学者和专业人士。
2.主要硬件特性
2.1微控制器
型号:ATtiny85
工作电压:3.3V
输入电压:3.3V-5V
数字I/O引脚:3个
模拟输入引脚:2个
内部存储器:
闪存:8KB
SRAM:512B
EEPROM:512B
2.2电源管理
USB电源:通过USB接口供电,最大500mA
电池供电:支持3.7V锂聚合物电池或3V纽扣电池
低功耗模式:支持深度睡眠模式,降低功耗
2.3输入输出
数字I/O引脚:支持数字输入输出,可以配置为PWM输出
模拟输入引脚:支持10位ADC输入
内置LED:板载一个红色LED,连接到D1引脚
2.4通信接口
USB接口:用于编程和数据传输
I2C接口:支持I2C通信,可以通过SDA和SCL引脚连接外部设备
2.5其他特性
复位按钮:用于复位Gemma
板载USB转串口芯片:允许通过USB进行编程
支持ArduinoIDE:可以通过ArduinoIDE进行编程
3.微控制器
3.1ATtiny85简介
ATtiny85是一款8位低功耗RISC微控制器,具有8KB的闪存、512B的SRAM和512B的EEPROM。它支持多种低功耗模式,适用于需要长时间运行的项目。
3.2工作模式
正常模式:全速运行
空闲模式:CPU停止,但外围设备继续运行
ADC噪声降低模式:关闭CPU和大多数外围设备,仅保留ADC模块
电源下降模式:所有模块停止,但保留SRAM和I/O状态
深度睡眠模式:所有模块停止,仅保留I/O状态
3.3低功耗示例
以下是一个简单的示例,展示如何将ATtiny85设置为深度睡眠模式以降低功耗。
#includeavr/sleep.h
#includeavr/power.h
voidsetup(){
//设置引脚模式
pinMode(1,OUTPUT);
digitalWrite(1,LOW);
//初始化ADC
ADCSRA|=(1ADEN);//启用ADC
ADCSRA|=(1ADPS2)|(1ADPS1)|(1ADPS0);//设置ADC预分频器为128
//进入深度睡眠模式
set_sleep_mode(SLEEP_MODE_PWR_DOWN);
sleep_enable();
sleep_mode();
}
voidloop(){
//从深度睡眠模式唤醒后执行的代码
digitalWrite(1,HIGH);
delay(1000);
digitalWrite(1,LOW);
delay(1000);
//重新进入深度睡眠模式
sleep_mode();
}
3.4ADC模块
ATtiny85配备了一个10位ADC模块,可以用于读取模拟信号。Gemma有两个模拟输入引脚,可以连接传感器或其他模拟设备。
3.5ADC示例
以下是一个示例,展示如何使用ADC模块读取模拟信号并输出到串口。
voidsetup(){
//初始化串口通信
Serial.begin(9600);
}
voidloop(){
//读取模拟引脚A0的值
intsensorValue=analogRead(A0);
//输出读取的值
Serial.println(sensorValue);
//延迟1秒
delay(1000);
}
4.电源管理
4.1通过USB供电
Gemma通过USB接口供电时,可以提供足够的电流用于开发和测试。USB接口还用于编程和数据传输。
4.2通过电池供电
Gemma可以通过3.7V锂聚合物电池或3V纽扣电池供电。电池供电模式适用于需要长时间运行的项目,如可穿戴设备。
4.3低功耗模式
Gemma支持多种低功耗模式,如空闲模式、ADC噪声降低模式、电源下降模式和深度睡眠模式。这些模式可以显著降低功耗,延长电池寿命。
4.4低功耗模式设置